Skip to content

Doing Hard Time Developing Real-Time Systems with UML, Objects, Frameworks and Patterns

Best in textbook rentals since 2012!

ISBN-10: 0201498375

ISBN-13: 9780201498370

Edition: 1999

Authors: Bruce Powel Douglass

List price: $84.99
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

The demand for real-time systems is increasing rapidly (due to Y2K and Java) and thus there is an increasing demand for programmers in this area. This book presents a proven methodology for developing software for real-time systems.
Customers also bought

Book details

List price: $84.99
Copyright year: 1999
Publisher: Addison Wesley Professional
Publication date: 5/11/1999
Binding: Mixed Media
Pages: 800
Size: 7.75" wide x 9.75" long x 1.75" tall
Weight: 3.498
Language: English

Figure List
About the Author
Foreword
Preface
Acknowledgments
The Basics
Introduction to Objects and the Unified Modeling Language
Advantages of Objects
Terms and Concepts
Object Orientation with the UML
Objects
Attributes
Behavior
Messaging
Responsibility
Concurrency
Objects as Autonomous Machines
Class Diagrams
Relations among Classes and Objects
Use Cases
Sequence Diagrams
Physical Representation
Things Common to Diagrams
Notes
Packages
Constraints
Stereotypes
Summary
A Look Ahead
Exercises
References
Basic Concepts of Real-Time Systems
What is Real-Time?
Terms and Concepts
Timeliness
Responsiveness
Concurrency
Scheduling Concurrent Threads
Event Arrival Patterns
Thread Rendezvous Patterns
Sharing Resources
Predictability
Memory Management
Correctness and Robustness
Deadlock
Exceptional Conditions
Race Conditions
Distributed Systems
Fault Tolerance and Safety
Dealing with Resource-Limited Target Environments
Low-Level Hardware Interfacing
Real-Time Operating Systems
Summary
Looking Ahead
Exercises
References
Basic Concepts of Safety-Critical Systems
Introduction to Safety
The Therac-25 Story
Other Stories
Terms and Concepts
Safety-Related Faults
Safety Is a System Issue
Random Faults vs. Systematic Faults
Single-Point Failures
Common Mode Failures
Latent Faults
Fail-Safe State
Achieving Safety
Safety Architectures
Single-Channel Protected Design (SCPD)
Multi-Channel Voting Pattern
Homogeneous Redundancy Pattern
Diverse Redundance Pattern
Monitor-Actuator Pattern
Watchdog Pattern
Safety Executive Pattern
Eight Steps to Safety
Step 1: Identify the Hazards
Step 2: Determine the Risks
Step 3: Define the Safety Measures
Step 4: Create Safe Requirements
Step 5: Create Safe Designs
Step 6: Implementing Safety
Step 7: Assure Safety Process
Step 8: Test, Test, Test
A Few Safety-Related Standards
Some Important Safety Standards
Summary
Looking Ahead
Exercises
References
Rapid Object-Oriented Process for Embedded Systems
Introduction
Terms and Concepts
Development Phases
Ordering
Maturity
Development-Task Sequencing
Waterfall Lifecycle
Iterative Lifecycles
Prototyping
Scheduling and Estimation
Advantages of Accurate Schedules
Difficulties of Accurate Scheduling
The ROPES Macro Cycle
Analysis
Requirements Analysis
Systems Analysis
Object Analysis
Design
Architectural Design
Mechanistic Design
Detailed Design
Translation
Activities
Artifacts
Testing
Activities
Artifacts
Summary
Looking Ahead
Exercises
References
Analysis
Requirements Analysis of Real-Time Systems
Introduction
Terms and Concepts
Use Cases
Messages and Events
Scenarios, Protocols, and State Machines
Use Cases
Use Case Relations
Use Case Example: Air Traffic Control System
External Events
Context-Level Messages
Specifying External Messages
External Event List
Response Time
Detailing Use Case Behavior
Informal Textual Description
Scenarios
Sequence Diagrams
Statecharts for Defining Use Case Behavior
Identifying Use Cases
Using Use Cases
Heuristics for Good Requirements Analysis Diagrams
Use Case Diagram Heuristics
Use Case Heuristics
Use Case Sequence Diagram Heuristics
Summary
Looking Ahead
Exercises
References
Structural Object Analysis
Introduction
Terms and Concepts
Key Strategies for Object Identification
Underline the Nouns
Identify Causal Agents
Identify Coherent Services
Identify Real-World Items
Identify Physical Devices
Identify Essential Abstractions of Domains
Identify Transactions
Identify Persistent Information
Identify Visual Elements
Identify Control Elements
Execute Scenarios on the Object Model
Reification of Objects into Classes
Identify Object Associations
Multiplicity
Associations and Links
Aggregation and Composition
Object Attributes
Generalization Relationships
AATCS Example: Class Diagrams
Heuristics for Good Class Diagrams
Rules for Good Class Diagrams
Summary
Looking Ahead
Exercises
References
Behavioral Object Analysis
Introduction
Terms and Concepts
Simple Behavior
State Behavior
Continuous Behavior
UML Statecharts
Basic State Semantics
Transitions and Events
Actions and Activities
Pseudostates
Orthogonal Regions and Synchronization
Basic Statecharts Syntax
Inherited State Models
Ill-Formed State Models
Example: AATCS Alarm System
The Role of Scenarios in the Definition of Behavior
Timing Diagrams
Sequence Diagrams
Activity Diagrams
Defining Operations
Types of Operations
Strategies for Defining Operations
Statechart Heuristics
Timing-Diagram Heuristics
Activity-Diagram Heuristics
Summary
Looking Ahead
Exercises
References
Design
Architectural Design
Introduction
Terms and Concepts
Tasking Model
Representing Tasks
Defining Task Threads
Assigning Objects to Tasks
Defining Task Rendezvous
Component Model
Deployment Model
Representing Physical Architecture in the UML
Multiprocessor Systems
Safety/Reliability Model
Summary
Looking Ahead
Exercises
References
Mechanistic Design
Introduction
Terms and Concepts
Design-Pattern Basics
Mechanistic Design Patterns
Correctness Patterns
Execution Control Patterns
Summary
Looking Ahead
Exercises
References
Detailed Design
Introduction to Detailed Design
Terms and Concepts
Data Structure
Primitive Representational Types
Subrange Constraints
Derived Attributes
Data-Collection Structure
Associations
The Object Interface
Definition of Operations
Detailed Algorithmic Design
Representing Algorithms in the UML
Algorithmic Example: Run-Time Data Interpolation
Exceptions
Source Language-Based Exception Handling
State-Based Exception Handling
Summary
Looking Ahead
Exercises
References
Advanced Real-Time Object Modeling
Threads and Schedulability
Introduction
Terms and Concepts
Time-Based Systems
Reactive Systems
Time Concepts
Scheduling Threads
Rate Monotonic Scheduling
Earliest-Deadline-First Scheduling
Least Laxity Dynamic Scheduling
Maximum-Urgency-First Scheduling
Weighted Shortest-Processing-Time-First (WSPTF) Scheduling
Minimizing Maximum Lateness Scheduling
Thread Synchronization and Resource Sharing
Mutual-Exclusion Semaphores
Dekker's Algorithm
Spinlocks
Counting Semaphores
Condition Variables
Barriers
Rendezvous Objects
Schedulability Analysis of Hard Real-Time Systems
Global Analysis
Global Method with Task Blocking
Computing Blocking
Separate Task Utilization Bounds
Aperiodic Tasks
Schedulability Analysis of Soft Real-Time Systems
Warm and Fuzzy: Timeliness in the Soft Context
Soft Schedulability
Summary
Looking Ahead
Exercises
References
Dynamic Modeling
Introduction
Terms and Concepts
But Is It the Right State Machine?
Behavioral Patterns
Latch State Pattern
Polling State Pattern
Latched Data Pattern
Device Mode State Pattern
Transaction State Pattern
Component Synchronization State Pattern
Barrier State Pattern
Event Hierarchy State Pattern
Random State Pattern
Null State Pattern
Watchdog State Pattern
Retriggerable Counter State Pattern
Model-Level Debugging and Testing
Animated Debugging
Animated Testing
Sample Debugging Session
Summary
Looking Ahead
Exercises
References
Real-Time Frameworks
Introduction
Terms and Concepts
Real-Time Frameworks
Architectural Support Patterns
Collaboration and Distribution Patterns
Safety and Reliability Patterns
Behavioral Patterns
Framework Design Principles and Metrics
Set of Services
Generalization Hierarchy Structure
Replaceable Components
Portability
Naming and Syntax Conventions
Performance
The Rhapsody Object Execution Framework (OXF)
Rhapsody Architecture
Execution Framework
Inter-Object Association Patterns
Using C++ Standard Template Library
Abstract Operating System
Animation Framework
Sample Application Using the Rhapsody OXF Framework
Summary
Exercises
References
Summary of UML Notation
Rhapsody: A Fully Constructive UML Visual Programming Tool
TimeWiz: An Integrated Tool for Timing Analysis
Index
CD-ROM Warranty