You are previewing Structured Development for Real-Time Systems.
O'Reilly logo
Structured Development for Real-Time Systems

Book Description

Real-time and embedded systems are in widespread use in the modern world. From the microprocessor controller in a camera, through "smart" traffic lights and production control systems, to large defense systems, computer technology is increasingly a part of systems that control and respond to their environments in real-time. As the technology has improved, we have come to rely on these systems more and more --- we have even put our lives in their hands. Airplanes, biomedical accelerators, nuclear power plants, and the like all depend on real-time control to operate safely. A failure in a control system, such as not responding correctly to faults in the environment, could endanger many lives.

Unfortunately, there is a tendency for developers to focuse too heavily on the intrcacies of the engineering and computer technology, to the detriment of understanding the real-world problem at hand. At best, this wastes time and resouces and at worst it is dangerous in light of the life-critical nature of today's systems. This misplaced focus can result at least partly from the lack of a comprehensive set of modeling tools and techniques fitted to the real-time development environment. This book provides the tools and techniques needed for visualizing and verifying the operation of a real-time system prior to construction, and demonstrates their usefulness.

Table of Contents

  1. Copyright
    1. Dedications
  2. YOURDON Computing Series Ed Yourdon, Advisor
  3. Acknowledgments
  4. Note on Preliminary Edition
  5. Authors’ Preface
  6. 1. Introduction
    1. 1. Historical Perspective
      1. 1.1. Historical phases in engineering disciplines
      2. 1.2. Mismatches between approach and historical phase
      3. 1.3. Historical phases of business systems engineering
      4. 1.4. Historical phases of real-time systems engineering
      5. 1.5. Summary
      6. Chapter 1: References
    2. 2. Characterization of Real-Time Systems
      1. 2.1. Scope, environment, and vocabulary
      2. 2.2. An inventory of real-time characteristics
      3. 2.3. Real-time systems versus on-line interactive systems
    3. 3. Real-Time Modeling Issues
      1. 3.1. The nature of models
      2. 3.2. Evolution of models
      3. 3.3. Representation of systems in graphic terms
      4. 3.4. Simplicity versus adequacy
      5. 3.5. Management of complexity
      6. 3.6. Rigor of representation
      7. 3.7. Breaking the Von Neumann mind-set
      8. 3.8. Modeling data and control
      9. 3.9. Modeling continuity and discontinuity
      10. 3.10. Summary
      11. Chapter 3: References
    4. 4. Modeling Heuristics
      1. 4.1. Introduction
      2. 4.2. Nature of modeling heuristics
      3. 4.3. Varieties of heuristics
      4. 4.4. Separating essence from implementation
      5. 4.5. Organizing for maximum independence
      6. 4.6. Summary
      7. Chapter 4: References
    5. 5. The Modeling Process
      1. 5.1. The essential model
      2. 5.2. The implementation models
      3. 5.3. A real-time systems development methodology?
      4. 5.4. Organization of topics
      5. 5.5. Summary
      6. Chapter 5: References
  7. 2. Tools
    1. 6. Modeling Transformations
      1. 6.1. Introduction
      2. 6.2. The static view
      3. 6.3. The dynamic view
      4. 6.4. The event view
      5. 6.5. Time-continuous vs. time-discrete behavior
      6. 6.6. Multiple instances
      7. 6.7. Correctness criteria
      8. 6.8. Interface complexity
      9. 6.9. Synchronous transformations
      10. 6.10. Summary
      11. Chapter 6: References
    2. 7. Specifying Control Transformations
      1. 7.1. Basic concepts
      2. 7.2. The control transformation as a mapping
      3. 7.3. Describing a control transformation
      4. 7.4. Formal definition of the state-transition diagram
      5. 7.5. State transition and action tables
      6. 7.6. Connections to data transformations
      7. 7.7. Reducing complexity
      8. 7.8. Connections between control transformations
      9. 7.9. Modeling complex dynamics
      10. 7.10. Summary
      11. Chapter 7: References
    3. 8. Specifying Data Transformations
      1. 8.1. Introduction
      2. 8.2. Building procedural specifications using a high-level language
      3. 8.3. Other procedural techniques
      4. 8.4. Graphic and tabular specifications
      5. 8.5. Precondition-postcondition specifications
      6. 8.6. Reverse transformation specifications
      7. 8.7. Summary
      8. Chapter 8: References
    4. 9. Executing the Transformation Schema
      1. 9.1. Introduction
      2. 9.2. Definition of execution of a data transformation
      3. 9.3. Definition of execution of a control transformation
      4. 9.4. Effects of simultaneous token placement/removal
      5. 9.5. Schematic execution of a transformation schema
      6. 9.6. Prototype execution of a transformation schema
      7. 9.7. Direct implementation of a transformation schema
      8. 9.8. Summary
      9. Chapter 9: References
    5. 10. Modeling Stored Data
      1. 10.1. Introduction
      2. 10.2. Basic notation: object types and relationships
      3. 10.3. Object types as stored data categories
      4. 10.4. Comparison of transformation and data schemas
      5. 10.5. Advanced notation — classification of object types
      6. 10.6. Connection rules
      7. 10.7. Internal consistency
      8. 10.8. Semantic clarity rules
      9. 10.9. Summary
      10. Chapter 10: References
    6. 11. Specifying Data
      1. 11.1. Introduction
      2. 11.2. Specifying meaning
      3. 11.3. Specifying composition
      4. 11.4. Specifying type
      5. 11.5. Notation for specifying meaning
      6. 11.6. Notation for specifying data composition
      7. 11.7. Notation for specifying types
      8. 11.8. Specifying components on the transformation schema
      9. 11.9. Specifying object types
      10. 11.10. Specifying relationships
      11. 11.11. Summary
      12. Chapter 11: References
    7. 12. Organizing the Model
      1. 12.1. Introduction
      2. 12.2. Organizing a model hierarchically
      3. 12.3. The concept of leveling
      4. 12.4. The leveled transformation model
      5. 12.5. Numbering conventions for a leveled set
      6. 12.6. Representation of hierarchical control
      7. 12.7. Leveling the data schema
      8. 12.8. Summary
      9. Chapter 12: References
    8. 13. Integrating the Model Components
      1. 13.1. Introduction
      2. 13.2. Internal consistency of the transformation model
      3. 13.3. Internal consistency of the data model
      4. 13.4. Integrating the transformation and data schemas
      5. 13.5. Internal consistency of a leveled transformation model
      6. 13.6. Summary