Real Time UML Workshop for Embedded Systems (Paperback)

Bruce Powel Douglass

  • 出版商: Newnes
  • 出版日期: 2006-10-04
  • 售價: $2,420
  • 貴賓價: 9.5$2,299
  • 語言: 英文
  • 頁數: 432
  • 裝訂: Paperback
  • ISBN: 0750679069
  • ISBN-13: 9780750679060
  • 相關分類: 嵌入式系統UML
  • 已過版




This practical new book provides much-needed, practical, hands-on experience capturing analysis and design in UML. It holds the hands of engineers making the difficult leap from developing in C to the higher-level and more robust Unified Modeling Language, thereby supporting professional development for engineers looking to broaden their skill-sets in order to become more saleable in the job market.

It provides a laboratory environment through a series of progressively more complex exercises that act as building blocks, illustrating the various aspects of UML and its application to real-time and embedded systems. With its focus on gaining proficiency, it goes a significant step beyond basic UML overviews, providing both comprehensive methodology and the best level of supporting exercises available on the market. Each exercise has a matching solution which is thoroughly explained step-by-step in the back of the book. The techniques used to solve these problems come from the author’s decades of experience designing and constructing real-time systems. After the exercises have been successfully completed, the book will act as a desk reference for engineers, reminding them of how many of the problems they face in their designs can be solved.


Table of Contents

Chapter 1: Basic UML introduction
Use Cases and requirements
Structural modeling: classes and objects
Behavioral modeling
Activity diagrams

Chapter 2: The ROPES Process
Project lifecycles
Spiral development in detail

Part II: Exercises
Chapter 3: Specifying the Requirements
Overview: What you will learn
Identifying kinds of requirements
Grouping Requirements
Identifying Use Cases
Capturing Quality of service requirements in Use Cases
Operational architecture: Identifying Scenarios
Specification architecture: State machines for requirements Capture
Specification architecture: Capturing complex requirements
Specification architecture: Capturing algorithms with activity diagrams
Validating requirements model: Testing the requirements with execution

Chapter 4: Systems Architecture
Overview: What you will learn
Identifying system architecture
Performing tradeoff analysis for different architectures
Specifying subsystem interfaces
Mapping requirements to subsystems
Performing hardware-software decomposition: Deployment architecture
Organizing your models

Chapter 5: Object Analysis
Overview: What you will learn
Identifying Objects 1: Applying object identification strategies
Identifying Objects 2: Applying object identification strategies
Validation your object analysis: Elaboration of scenarios
Adding behavior: Reactive objects with state machines
Adding behavior: Algorithms with activity diagrams
Adding behavior: Mixing state machines with activity diagrams
Validating your behavior

Chapter 6: Concurrency Architecture
Overview: What you will learn
Identifying Tasks
Analyzing the task set
Optimizing the task set
Preemptive multitasking
Interrupt Handlers
Cyclic executives
Mapping analysis objects to the concurrency model
Concurrent scenario analysis

Chapter 7: Distribution Architecture
Overview: What you will learn
Identifying distribution architecture
Asymmetric distribution: Master-Slave
Asymmetric distribution: Proxy Pattern
Symmetric distribution: Broker Pattern

Chapter 8: Safety and Reliability Architecture
Overview: What you will learn
Identifying channels
Homogeneous redundancy
Heterogeneous redundancy with fail-safe state
Heterogeneous redundancy without fail-safe state
Lightweight redundancy

Chapter 8: Optimizing Collaborations
Overview: what you will learn
Optimizing reusability
Optimizing data access
Minimizing complexity
Optimizing robustness
Optimizing time-efficiency
Optimizing space-efficiency
Using parametric classes

Chapter 9: Detailed Design
Overview: what you will learn
Managing visibility and access
Managing data complexity
Ensuring pre- and post-conditions
Managing state complexity
Managing algorithm complexity
Maximizing numeric accuracy

Part III: Answers