Search:

Product Information All Elsevier Sites   Advanced Product Search
SiteStat.jsp
DESIGN METHODS FOR REACTIVE SYSTEMS
Design Methods for Reactive Systems
Yourdon, Statemate, and the UML
To order this title, and for more information, click here

By
R. Wieringa, University of Twente, Enschede, The Netherlands

Description
Design Methods for Reactive Systems describes methods and techniques for the design of software systems?particularly reactive software systems that engage in stimulus-response behavior. Such systems, which include information systems, workflow management systems, systems for e-commerce, production control systems, and embedded software, increasingly embody design aspects previously considered alone?such as complex information processing, non-trivial behavior, and communication between different components?aspects traditionally treated separately by classic software design methodologies. But, as this book illustrates, the software designer is better served by the ability to intelligently pick and choose from among a variety of techniques according to the particular demands and properties of the system under development. Design Methods for Reactive Systems helps the software designer meet today's increasingly complex challenges by bringing together specification techniques and guidelines proven useful in the design of a wide range of software systems, allowing the designer to evaluate and adapt different techniques for different projects. Written in an exceptionally clear and insightful style, Design Methods for Reactive Systems is a book that students, engineers, teachers, and researchers will undoubtedly find of great value.

Audience
Students, engineers, teachers, and researchers in software development or software engineering.

Contents
FOREWORD PREFACE PART I Reactive System Design 1 Reactive Systems 1.1 Examples of Reactive Systems 1.2 Reactive versus Transformational Systems 1.3 Four Case Studies and Three Examples 1.4 Summary 1.5 Questions and Exercises 2 The Environment 2.1 External Interactions 2.2 Domains 2.3 The Subject Domain 2.3.1 Physical Entities 2.3.2 Conceptual Entities 2.3.3 Lexical Entities 2.4 The Functions of Reactive Systems 2.5 The Connection Domain 2.6 Summary 2.7 Questions and Exercises 3 Stimulus-Response Behavior 3.1 Cause and Effect Chains 3.2 Events, Conditions, and Actions 3.3 Events and Stimuli 3.3.1 Assumptions about Observers 3.3.2 Event Recognition 3.3.3 Unobservable Events 3.3.4 Observing Temporal Events 3.4 Responses and Actions 3.4.1 Assumptions about Actors 3.4.2 Response Computation 3.4.3 Unrealizable Actions 3.5 Summary 3.6 Questions and Exercises 4 Software Specifications 4.1 The System Engineering Argument 4.2 Specifications 4.3 The Role of Assumptions 4.4 Operational Property Specifications 4.5 Summary 4.6 Questions and Exercises PART II Function Notations 5 Mission Statement 5.1 Notation 5.2 Relating System Purpose to Environment Purpose 5.2.1 Design Levels 5.2.2 Goal Analysis 5.3 Guidelines for Finding a Mission Statement 5.3.1 Statement of Purpose 5.3.2 Responsibilities 5.3.3 Composition 5.3.4 Exclusions 5.4 Summary 5.5 Questions and Exercises 6 Function Refinement Tree 6.1 Notation 6.1.1 Connection with Other Notations 6.2 Design Guidelines 6.2.1 Construction 6.2.2 Validation 6.3 Summary 6.4 Questions and Exercises 7 Service Description 7.1 Notation 7.2 Guidelines 7.3 Summary 7.4 Questions and Exercises PART III Entity Notations 8 Entity-Relationship Diagrams 8.1 Entities and Attributes 8.1.1 Entity Types 8.1.2 Absolute Cardinality Properties 8.2 Relationships 8.2.1 Relative Cardinality Properties 8.2.2 Association Entities 8.3 Generalization 8.4 Summary 8.5 Questions and Exercises 9 ERD Modeling Guidelines 9.1 The Subject Domain Boundary 9.2 Entities versus Attributes 9.3 Entity versus Relationships 9.4 Taxonomic Structures 9.4.1 Rules of Classification 9.4.2 Static versus Dynamic Specialization 9.4.3 Classification and Counting 9.4.4 Subtypes versus Roles 9.5 Validation 9.5.1 Consistency 9.5.2 Checking Validity by Elementary Sentences 9.5.3 Checking Validity by Snapshots 9.5.4 Identification 9.5.5 Validation Summary 9.6 Summary 9.7 Questions and Exercises 10 The Dictionary 10.1 Domain Ontology 10.2 Syntactic Categories 10.3 Path Expressions 10.4 Extensional and Intensional Definitions 10.5 Guidelines 10.5.1 When to Define a Term 10.5.2 Definitions by Genus and Difference 10.5.3 Operational Definitions 10.5.4 Abbreviations and Correspondence Rules 10.6 Summary 10.7 Questions and Exercises PART IV Behavior Notations 11 State Transition Lists and Tables 11.1 Event Lists 11.2 State Transition Tables 11.3 Decision Tables 11.4 Summary 11.5 Questions and Exercises 12 State Transition Diagrams 12.1 Mealy Diagrams 12.2 Variables 12.3 Statecharts 12.3.1 State Reactions 12.3.2 State Hierarchy 12.3.3 Parallelism 12.4 Summary 12.5 Questions and Exercises 13 Behavioral Semantics 13.1 Discretization 13.2 Wait States and Activity States 13.3 Pre- and Postconditions 13.4 Triggering 13.5 Step Semantics versus Single-Transition Semantics 13.5.1 Concurrent Transitions 13.5.2 Concurrent Events 13.6 Multistep Semantics 13.7 Action Semantics 13.8 Time 13.9 Summary 13.10 Questions and Exercises 14 Behavior Modeling and Design Guidelines 14.1 Two Examples 14.1.1 The Training Department 14.1.2 The Heating Controller 14.2 Guidelines 14.2.1 The System Engineering Argument 14.2.2 Finding a Behavior Description 14.2.3 From the Environment to the System 14.3 Summary 14.4 Questions and Exercises PART V Communication Notations 15 Data Flow Diagrams 15.1 External Entities 15.2 Flows 15.3 Stores 15.4 Processes 15.4.1 Kinds of Processes 15.4.2 States of a Process 15.4.3 Data Process Specification 15.4.4 Control Process Specification 15.5 Parameterized DFDs 15.6 Summary 15.7 Questions and Exercises 16 Communication Diagrams 16.1 Requirement-Level Components 16.2 Communication Channels 16.3 Decomposition 16.4 Allocation and Flowdown 16.5 Summary 16.6 Questions and Exercises 17 Communication Semantics 17.1 Component Behavioral Semantics 17.2 Communication Channels 17.3 The Network 17.4 The Environment 17.5 Summary 17.6 Questions and Exercises 18 Context Modeling Guidelines 18.1 The System Boundary 18.2 Context Diagrams 18.3 The Context Boundary 18.4 Structuring the Context 18.5 Summary 18.6 Questions and Exercises 19 Requirements-Level Decomposition Guidelines 19.1 Architectures 19.2 Encapsulation versus Layering 19.3 Architectural Styles 19.4 Requirements-Level Architecture Guidelines 19.4.1 Functional Decomposition 19.4.2 Subject-Oriented Decomposition 19.4.3 Communication-Oriented Decomposition 19.4.4 Behavior-Oriented Decomposition 19.4.5 Choosing Decomposition Guidelines 19.5 Evaluation 19.5.1 Syntactic Coherence Checks 19.5.2 Traceability Check 19.5.3 Data Access Check 19.5.4 Executing the Model 19.5.5 The System Engineering Argument 19.5.6 Generating a Throw-away Prototype 19.5.7 Quality Attributes Check 19.6 Summary 19.7 Questions and Exercises PART VI Software Specification Methods 20 Postmodern Structured Analysis (PSA) 20.1 Notations 20.2 Coherence Rules 20.3 Choosing Notations 20.4 Summary 20.5 Questions and Exercises 21 Statemate 21.1 Notations 21.1.1 Temporal Events 21.1.2 Starting, Suspending, Resuming, and Stopping Activities 21.2 Choosing Notations 21.2.1 Placing Activity in a Statechart or in an Activity Chart 21.2.2 Representing Parallelism in Statecharts or in Activity Charts 21.3 Execution Semantics 21.4 Summary 21.5 Questions and Exercises 22 The Unified Modeling Language (UML) 22.1 Notations 22.2 Activity Diagrams 22.2.1 Wait State and Activity States 22.2.2 Sequence 22.2.3 Hierarchy 22.2.4 Parallelism 22.2.5 Choice 22.3 Static Structure Diagrams 22.3.1 SSDs and ERDs 22.3.2 Representing Classes and Objects 22.3.3 Stereotypes 22.3.4 The Meaning of a SSD 22.4 Behavior Specification 22.4.1 Specifying the Effect of Operation Calls 22.4.2 Specifying the Effect of Signal Receptions 22.4.3 Specifying Object Life Cycles 22.4.4 Differences between Operations and Signals 22.5 Communication and Coherence 22.6 Static Structure Design Guidelines 22.7 Execution Algorithm 22.8 Collaboration and Sequence Diagrams 22.9 Summary 22.10 Questions and Exercises 23 Not Yet Another Method (NYAM) 23.1 Software Design Context 23.2 From Flyweight to Heavyweight Use of Notations 23.3 Design Approach 23.4 Engineering Arguments 23.5 Formality and Precision 23.6 Summary Appendices A A Training Information System B An Electronic Ticket System C A Heating Control System D An Elevator Control System E Answers to Selected Exercises GLOSSARY BIBLIOGRAPHIC REMARKS BIBLIOGRAPHY INDEX Online Materials (www.mkp.com/dmrs/) E (continued) Answers to Selected Exercises (pass protected) F A Controller for a Compact Dynamic Bus Station G A Cruise Control System H A Logistics Information System Slides for Teachers Handout of the Slides Notes for Teachers

Bibliographic details
Hardbound, 500 pages, publication date: DEC-2002
ISBN-13: 978-1-55860-755-2
ISBN-10: 1-55860-755-2
Imprint: MORGAN KAUFFMAN

Price and Ordering
Price:
USD 87.95
GBP 58
EUR 67.95
order now
Books and book related electronic products are priced in US dollars (USD), euro (EUR), and Great Britain Pounds (GBP). USD prices apply to the Americas and Asia Pacific. EUR prices apply in Europe and the Middle East. GBP prices apply to the UK and all other countries.
See also information about conditions of sale & ordering procedures, and links to our regional sales offices.

077/760
Last update: 7 Sep 2009
Book contents
Table of contents
Reviews
View other people's reviews
Submit your review
Bookmark this page
Recommend this publication
Overview of all books
Printer-friendly version   Printer-friendly version