Chapter 1
Introduction
|
Raising the Level of Abstraction
• Executable UML • Making UML Executable •
Model Compilers • Model-Driven Architecture
|
Chapter 2
Using Executable UML
|
The System Model • Modeling a Single Domain
• Verification and Execution • The Big Picture
|
Chapter 3
Domains and Bridges
|
Domains • Domains and Requirements
• Bridges • Aspects and Join Points • Domains and Aspects
|
Chapter 4
Use Cases
|
Basics of Use Cases
• Working with Use Cases • Activity Diagrams • Formalizing Use Cases
• Scenarios and Testing |
Chapter 5
Classes and Attributes
|
Classes • Attributes • Attribute Data Types
• Documenting Classes and Attributes • Checking Classes and Attributes
• Rules, Rules, Rules |
Chapter 6
Relationships and Associations
|
Associations • Association Descriptions
• Checking Associations • Association Classes •
Generalization and Specialization • Reflexive Associations
• The Class Model |
Chapter 7
Class Actions
|
Object and Attribute Actions
• Selection Expressions • Link Actions • Link Object Actions
• Generalization Hierarchies • Other Action Languages
|
Chapter 8
Constraints
|
Unique Instance Constraints
• Derived Attributes • Referential Constraints •
Association Loops • Constraints Capture Semantics
|
Chapter 9
Lifecycles
|
Concept of a Lifecycle
• State Machine • State Transition Table • Creating and Deleting Objects
Forming Lifecycles • Lifecycles for Classes |
Chapter 10
Communicating Objects
|
Signals • Creating
and Deleting Objects • Visualizing Domain Dynamics • Domain Dynamics
|
Chapter 11
Synchronizing Objects
|
How to Think About
Time • Rules about Signals • Rules about Procedures • Rules about Data Access
• Delayed Signals and Time Events • Rules, Rules, Rules
|
Chapter 12
Using Lifecycles
|
Statechart Diagram
Construction Techniques • Reworking the Class Diagram |
Chapter 13
Relationship Dynamics
|
Dynamically Simple
Associations • Associations Involving Competition • Dynamics in Generalization
Hierarchies Polymorphic Events and Polymorphic Signals • Reclassification
|
Chapter 14
Domain Dynamics
|
Partitioning Control
• Control Strategies • Delegation of Control • Input Conditioning
• Distributed Dynamics |
Chapter 15
Domain Verification
|
Finding Unit Tests
for a Single Use Case • Test Execution • System Tests • Finding Test Cases
from the Models • The Verification Gap
|
Chapter 16
Model Management
|
Dividing Large Domains
• Subsystems and the Class Diagram • Collaborations between Subsystems
• Adjusting Subsystem Partitioning • Model Management
|
Chapter 17
Joining Multiple Domains
|
Kinds of Domains •
Anonymous Explicit Bridges • Implicit Bridges with Join Points
• Bridging to the Model Compiler |
Chapter 18
Model Compilers
|
Completing the Models
• Model Compilers and the Software Platform • Fit • Buying,
Modifying, and Building a Model Compiler • Modeling the Model Compiler as
a Domain |