Modeling and Verification Using UML Statecharts
A Working Guide to Reactive System Design, Runtime Monitoring and Execution-based Model CheckingBy
- Doron Drusinsky, Professor, Naval Postgraduate School, Monterey, CA, USA.
As systems being developed by industry and government grow larger and more complex, the need for superior specification and verification approaches and tools becomes increasingly vital. The developer and customer must have complete confidence that the design produced is correct, and that it meets forma development and verification standards. In this text, UML expert author Dr. Doron Drusinsky compiles all the latest information on the application of UML (Universal Modeling Language) statecharts, temporal logic, automata, and other advanced tools for run-time monitoring and verification. This is the first book that deals specifically with UML verification techniques. This important information is introduced within the context of real-life examples and solutions, particularly focusing on national defense applications. A practical text, as opposed to a high-level theoretical one, it emphasizes getting the system developer up-to-speed on using the tools necessary for daily practice.
PRIMARY MARKET: Industry training/self-education of Computer Engineers, System Architects, Software Engineers, Embedded System Developers, Electrical Engineers, System Engineers.
SECONDARY MARKET: Graduate-level software engineering/embedded systems students at universities and colleges.
Hardbound, 400 Pages
Published: May 2006
- Chapter 1: Formal Requirements and Finite Automata Overview1.1. Terms 1.2. Finite Automata: The Basics 1.3 Regular Expressions1.4. Deterministic Finite Automata and Finite State Diagrams 1.5. Nondeterministic Finite Automata 1.6. Other Forms of FA1.7. FA Conversions and Lower Bounds 1.8. Operations on Regular Requirements1.9. Succinctness of FA1.10. Specifications as Zipped Requirements1.11. Finite State Machines1.12. Normal Form and Minimization of FA and FSMs Chapter 2: Statecharts2.1. Transformational vs. Reactive Components 2.2. Statecharts in Brief 2.3. A Related Tool 2.4. Basic Elements of Statecharts 2.5. Code Generation and Scheduling 2.6. Event-Driven Statecharts, Procedural Statecharts and Mixed Flowcharts and Statecharts2.7. Flowcharts inside Statecharts: Workflow within Event-Driven Controllers 2.8. Nonstandard Elements of Statecharts2.9. Passing Data to a Statechart Controller2.10. JUnit Testing of Statechart Objects 2.11. Statecharts vs. Message Sequence Charts and Scenarios 2.12. Probabilistic StatechartsChapter 3: Academic Specification Languages forReactive Systems 3.1. Natural Language Specifications3.2. Using Specification Languages for Runtime Monitoring3.3. Linear-time Temporal Logic (LTL) 3.4. Other Formal Specification Languages for Reactive Systems Chapter 4: Using Statechart Assertions for Formal Specification 4.1. Statechart Specification Assertions4.2. Nondeterministic Statechart Assertions4.3. Operations on Assertions4.4. Quantified Distributed Assertions4.5. Runtime Recovery for Assertion Violations 4.6. The Language Dog-Fight: Statechart Assertions vs. LTL and ERE4.7. Succinctness of Pure Statechart Assertions 4.8. Temporal Assertions vs. JML and Java Assertions4.9. Commonly Used Assertions Chapter 5: Creating and Using Temporal Statechart Assertions5.1. Motivation, or Why Use Temporal Assertions?5.2. Applying Assertions: Three Uses5.3. Writing Assertions 5.4. Runtime Execution MonitoringRuntime Verification5.5. Runtime Recovery from Requirement Violations5.6. Automatic Test Generation 5.7. Execution-Based Model CheckingChapter 6: Application of Formal Specifications and Runtime Monitoring to the Ballistic Missile Defense Project 6.1. Abstract6.2. Context 6.3. Formal Specification and Verification Approach.6.4. Overall Value 6.5. Challenges Appendix: TLCharts: Syntax and SemanticsA.1. About TLCharts A.2. Syntax A.3. Semantics without Temporal ConditionsA.4. Semantics with Temporal Conditions A.5. TLCharts with Overlapping StatesBibliographical Notes Index