• Design of Multithreaded Software: The Entity-Life Modeling Approach See large image

    Design of Multithreaded Software: The Entity-Life Modeling Approach (Hardback) By (author) Bo I. Sanden

    $79.59 - Save $19.72 19% off - RRP $99.31 Free delivery worldwide Available
    Dispatched in 3 business days
    When will my order arrive?
    Add to basket | Add to wishlist |

    DescriptionThis book assumes familiarity with threads (in a language such as Ada, C#, or Java) and introduces the entity-life modeling (ELM) design approach for certain kinds of multithreaded software. ELM focuses on "reactive systems," which continuously interact with the problem environment. These "reactive systems" include embedded systems, as well as such interactive systems as cruise controllers and automated teller machines. Part I covers two fundamentals: program-language thread support and state diagramming. These are necessary for understanding ELM and are provided primarily for reference. Part II covers ELM from different angles. Part III positions ELM relative to other design approaches.

Other books

Other books in this category
Showing items 1 to 11 of 11


Reviews | Bibliographic data
  • Full bibliographic data for Design of Multithreaded Software

    Design of Multithreaded Software
    The Entity-Life Modeling Approach
    Authors and contributors
    By (author) Bo I. Sanden
    Physical properties
    Format: Hardback
    Number of pages: 320
    Width: 187 mm
    Height: 262 mm
    Thickness: 24 mm
    Weight: 814 g
    ISBN 13: 9780470876596
    ISBN 10: 047087659X

    BIC E4L: COM
    Nielsen BookScan Product Class 3: S10.2
    B&T Book Type: NF
    B&T Modifier: Region of Publication: 01
    Warengruppen-Systematik des deutschen Buchhandels: 16320
    B&T Modifier: Academic Level: 02
    LC classification: QA
    B&T Modifier: Text Format: 06
    BIC subject category V2: UMZ
    B&T General Subject: 229
    B&T Modifier: Text Format: 01
    Abridged Dewey: 004
    B&T Merchandise Category: COM
    Ingram Subject Code: XG
    Libri: I-XG
    BISAC V2.8: COM048000
    DC22: 005.275
    BIC subject category V2: UKG
    Thema V1.0: UMZ, UKG
    John Wiley and Sons Ltd
    Imprint name
    Wiley-Blackwell (an imprint of John Wiley & Sons Ltd)
    Publication date
    01 March 2011
    Publication City/Country
    Author Information
    Bo I. Sanden , PhD, serves as Professor of Computer Science at Colorado Technical University. He has also taught at George Mason University in Fairfax, Virginia. Prior to his teaching career, Dr. Sanden worked at Phillips Elektronikindustrier in Stockholm, Sweden, and has significant professional experience as a systems analyst, project manager, programmer, and consultant. He devotes his research activities primarily to software design and has published extensively on Jackson system development, concurrency in Ada and Java, and entity-life modeling.
    Back cover copy
    "Bo Sanden has written a splendid book that should be read by every developer of systems that interact with the real world. The multi-threading theme that gives the book its title treats the identification and design of individual threads--that is, of concurrent processes--and the synchronisation and control of their interactions at common entities. The book succeeds excellently in this difficult area, expounding patterns of thread interaction that clarify both the problems they address and the solutions they offer." --Michael A. Jackson, from the ForewordA novel approach to designing software for reactive systemsThis book is the first available in-depth introduction to the cutting-edge entity-life modeling (ELM) approach for the design of multithreaded, reactive software, making it an instant authoritative reference. The text is divided into three parts: Part I covers two fundamentals necessary for understanding ELM--program-language thread support in Ada and Java, and state modelingPart II describes ELM's unique approachPart III positions ELM relative to other design approachesReactive software must respond to events in the world as they occur. To deal with this, ELM defines an event thread as a series of event occurrences that are separated in time. As the book reveals, event threads become the basis for software threads, leading to thread architectures that can be understood intuitively in problem-domain terms. Readers will discover how ELM captures the logic of event threads in terms of states, providing two patterns for designing software threads based on state diagrams and their activities.Event threads in the domain can also form patterns. The text explains how ELM identifies the resource-user-thread pattern and the resource-guard-thread pattern, both addressing resource sharing by multiple domain entities. It also covers the case where entities need simultaneous exclusive access to more than one resource, and shows how ELM deals with deadlock prevention."Design of Multithreaded Software" is intended for software designers, architects, and researchers as well as systems designers, programmers, and engineers interested in a practical account of this novel approach.
    Table of contents
    Foreword. Preface. I Foundations. 1 Introduction. 1.1 Entity-Life Modeling. 1.2 Overview of This Book. 1.3 Multithreading. 1.4 Engineering the Intangible. 1.5 The Development Process. 1.6 Unifi ed Modeling Language. 1.7 Conclusion. 2 Support for Multithreading. 2.1 Introduction. 2.2 Concurrency in Java. 2.3 Concurrency in Ada. 2.4 Pthreads. 2.5 Conclusion. 3 State Modeling. 3.1 Introduction. 3.2 State-Modeling Terminology. 3.3 Basic State Modeling. 3.4 Superstates. 3.5 Examples. 3.6 State Modeling in Practice. 3.7 State Machine Implementation. 3.8 Conclusion. II The ELM Way. 4 Entity-Life Modeling. 4.1 Introduction. 4.2 Modeling Software on Event Threads. 4.3 Discovering and Choosing Event-Thread Models. 4.4 Event-Thread Patterns for Resource Sharing. *4.5 Portraying the World in Software. 4.6 Conclusion. 5 Design Patterns Based on Event Threads. 5.1 Introduction. 5.2 State Machines without Software activities. 5.3 Sequential-Activities Design Pattern. 5.4 Concurrent-Activities Design Pattern. 5.5 Communicating State Machines. 5.6 Conclusion. 6 Event-Thread Patterns for Resource Sharing. 6.1 Introduction. 6.2 Resource-User-Thread Pattern. 6.3 The Resource-Guard-Thread Pattern. 6.4 Choosing and Combining Patterns. 6.5 Examples with Dual Solutions. 6.6 Data Stream Processing. 6.7 Repository Problems. 6.8 Conclusion. 7 Simultaneous Exclusive Access to Multiple Resources. 7.1 Introduction. 7.2 The Deadlock Problem. 7.3 Case Studies. 7.4 Heuristics. 7.5 More on Deadlock and Its Prevention. 7.6 Conclusion. III Background and Discussion. 8 Real-Time Software Architectures and Data-Flow Design Approaches. 8.1 Introduction. 8.2 Real-Time Architectures. 8.3 Data-Flow Design Approaches. 8.4 Conclusion. 9 The Origins of Entity-Life Modeling. 9.1 Introduction. 9.2 Early Experiences with Software Development. 9.3 The Jackson Methods. Structure Clashes. *9.4 Formal Models and Methods. 9.5 Software Patterns. 9.6 Conclusion. Glossary. References. Index.