
Design of Multithreaded Software
The Entity-Life Modeling Approach
Bo I. Sandén(Author)
Wiley (Publisher)
Published on 15. February 2011
Book
Hardback
320 pages
978-0-470-87659-6 (ISBN)
Description
This 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.
More details
Product info
gebunden
Edition
1. Auflage
Language
English
Place of publication
New York
United States
Target group
Professional and scholarly
Product notice
sewn/stitched
Paper over boards
Illustrations
Charts: 78 B&W, 0 Color; Drawings: 2 B&W, 0 Color
Dimensions
Height: 260 mm
Width: 183 mm
Thickness: 22 mm
Weight
801 gr
ISBN-13
978-0-470-87659-6 (9780470876596)
Schweitzer Classification
Other editions
Additional editions

E-Book
04/2011
Wiley-IEEE Computer Society Press
€98.99
Available for download

E-Book
02/2011
Wiley
€104.36
Available for download
Person
Bo I. Sandén, 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. Sandén 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.
Content
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.
9.3.1.4 Structure Clashes.
*9.4 Formal Models and Methods.
9.5 Software Patterns.
9.6 Conclusion.
Glossary.
References.
Index.