Rights Contact Login For More Details
- Wiley
More About This Title Design of Multithreaded Software: The Entity-LifeModeling Approach
- English
English
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.
- English
English
- English
English
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.