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.

Key Features

· A practical, tutorial-style text (other books on this topic discuss the tools and formalisms only theoretically)

· Includes an unclassified case study example from the U.S. Missile Defense project

·Accompanying Companion website includes source code and re-useable statechart templates


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.

Table of Contents

Chapter 1: Formal Requirements and Finite Automata Overview 1.1. Terms 1.2. Finite Automata: The Basics 1.3 Regular Expressions 1.4. Deterministic Finite Automata and Finite State Diagrams 1.5. Nondeterministic Finite Automata 1.6. Other Forms of FA 1.7. FA Conversions and Lower Bounds 1.8. Operations on Regular Requirements 1.9. Succinctness of FA 1.10. Specifications as Zipped Requirements 1.11. Finite State Machines 1.12. Normal Form and Minimization of FA and FSMs Chapter 2: Statecharts 2.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 Statecharts 2.7. Flowcharts inside Statecharts: Workflow within Event-Driven Controllers 2.8. Nonstandard Elements of Statecharts 2.9. Passing Data to a Statechart Controller 2.10. JUnit Testing of Statechart Objects 2.11. Statecharts vs. Message Sequence Charts and Scenarios 2.12. Probabilistic Statecharts Chapter 3: Academic Specification Languages for Reactive Systems 3.1. Natural Language Specifications 3.2. Using Specification Languages for Runtime Monitoring 3.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 Assertions 4.2. Nondeterministic Statechart Assertions 4.3. Operations on Assertions 4.4. Quantified Distribute


No. of pages:
© 2006
Electronic ISBN:
Print ISBN:
Print ISBN:

About the author