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.
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.
<lĮ