Title: Using UML for Modeling Complex Real Time System Architectures
1Using UML for Modeling Complex Real Time System
Architectures
- Bran Selic
- VP Advanced Technology
- ObjecTime Limited
- bran_at_objectime.com
2Overview
- The Unified Modeling Language (UML)
- Complex real-time systems
- Requirements for modeling architectures of
complex RT systems - Approach and method
- Architectural modeling constructs
- Summary
3The Unified Modeling Language
- A general purpose OO modeling language
- combines a number of proven methods
Catalysis
ROOM
etc.
4What is (in) the UML Standard?
- Semi-formal semantic meta-model
- defines basic modeling concepts
- object, class, etc.
- includes well-formedness rules expressed as
formal constraints in Object Constraint Language
(OCL) - Graphical notation for modeling concepts
- 8 different diagram types
- Two predefined domain extensions
5The UML Meta-ModelExample
(Meta)class
Generalization association
Classifier
Compostion association
not self.isAbstract implies
self.allOperations-gtforAll(op
self.allMethods-gtexists(m
m.specification includes (op)))
OCL constraint
6- The Unified Modeling Language (UML)
- Complex real-time systems
- Requirements for modeling architectures of
complex RT systems - Approach and method
- Architectural modeling constructs
- Summary
7General Real-Time Systems
- A system that maintains a continuous timely
interaction with its environment
Real-TimeSystem (state)
outputs f (inputs, state)
8Complex Real-Time Systems
- Complex real-time systems characterized by
- extreme dependability (reliability, availability)
- diverse and feature-rich functionality
- continuous feature upgrades (evolutionary
requirements) - physical distribution
- Encountered mostly in telecommunications,
defense, aerospace, and industrial control
9Modeling Requirements for Complex RT Systems
- This complexity requires focussed modeling
support in at least the following areas - Architectural modeling
- Timeliness and performance modeling
- Time-aware communication models
- Concurrency management
- Resource modeling
- Distributed system modeling
- Fault-tolerance techniques
10- The Unified Modeling Language (UML)
- Complex real-time systems
- Requirements for modeling architectures of
complex RT systems - Approach and method
- Architectural modeling constructs
- Summary
11Real-Time Software Architectures
- Architecture
- The organization of significant software
components interacting through interfaces, those
components being composed of successively smaller
components and interfaces - It is the key to success in
- the initial construction of a system
- system evolution
12Architectures and Evolution
- Two functionally equivalent initial architectures
X
X
Mediator
13Real-Time Architectural Specifications
- Example telecom system architecture
Application Layer
Services Layer
14Architectural Component Design
15Refining Architectures (Reuse)
16Summary Requirements for Architectural Modeling
- The ability to model and enforce
- large-grain (architectural) components and their
interfaces - structural compositions of architectural
components - dynamic interaction patterns between
architectural components - refinement of architectures
17- The Unified Modeling Language (UML)
- Complex real-time systems
- Requirements for modeling architectures of
complex RT systems - Approach and method
- Architectural modeling constructs
- Summary
18Approach and Method
- The necessary architectural modeling capabilities
can be found in ROOM - Express the architectural modeling concepts of
ROOM using standard UML - Domain-specific library of UML macros
Real-TimeModelingLibrary (UML-RT)
BusinessModelingLibrary
...
UML Modeling Concepts
19UML Extensibility Mechanisms
- Stereotypes, constraints, tagged values
Constraint (OCL)
not self.isAbstract implies
self.allOperations-gtforAll(op
self.allMethods-gtexists(m
m.specification includes (op)))
stereotype
required tag
20Real-Time Object-Oriented Modeling (ROOM)
- Domain-specific (real-time) concepts
- dynamic high-level structures
- reactive behavior (ROOMcharts)
- Executable (formal) models
- Full automatic code generation
- Field proven in a large number (gt100) of
large-scale industrial projects - Tool support available (ObjecTime Limited and
Rational Software)
21Phasing
- Basic modeling capabilities (UML 1.1)
- structural pattern modeling (collaboration
diagrams) - state machine modeling
- Real-time specific constructs
- architectural modeling (March 98)
- other constructs (-June 99)
- collaboration ObjecTime Rational
- OMG standardization (1999/2000)
- RT analysis and design WG
22- The Unified Modeling Language (UML)
- Complex real-time systems
- Requirements for modeling architectures of
complex RT systems - Approach and method
- Architectural modeling constructs
- Summary
23Capsules Architectural Objects
Encapsulation shell
24Capsules Behavior
- Optional hierarchical state machine (signal
handler with run-to-completion semantics)
S1
S2
25Capsules UML Modeling
- Stereotype of Class concept (capsule) with
specialized (executable) semantics - Class diagram representation
capsuleCapsuleClassX
counter intx char
26Protocols Contractual Behavior Patterns
- Interaction contracts between capsules
- e.g., operator-assisted call
Caller
Operator
Callee
27Protocol Specifications
- A special form of collaboration
OperatorAssistedCall
28Protocol Roles
- Specifies one party in a protocol
OperatorRole
29Protocol Refinement
ExtendedOperatorRole
30Protocols UML Modeling
- Collaboration stereotype protocol
- Classifier Role stereotype protocolRole
protocolRolecaller
protocolOperatorAssistedCall
protocolRolecallee
protocolRoleoperator
31Ports Boundary Objects
- Fully isolate a capsules implementation from its
environment (in both directions)
Created and destroyed along with their capsule
32Ports and Protocols
- Each port realizes a single protocol role (type)
- Multiple ports with same type possible
capsuleCapsuleClassX
33Ports Collaboration Diagram Notation
capsuleanXCapsuleClassX
portA ProtocolAmaster
portC ProtocolB
- Shorthand notation for capsule instances
- iconified form
34Combining Capsules
Connector
Connectors model communication channels Each
connector supports a single protocol Static
typing rules apply (compatible protocols) Modeled
as association classes in UML
35Composition Structural Patterns as (Reusable)
Dynamic Components
Relayport
FaxCall
- The composite is also a first-class object!
36Composite Capsule Semantics
- Architectural assertion mechanism the static
elements of the internal structure of a composite
capsule are automatically created (and destroyed)
along with the capsule - applies recursively down to the innermost leaf
capsule level - only explicitly prescribed architectural
structures can be instantiated - This also significantly reduces the complexity of
the model since all the code used to establish
these structures is eliminated
37End Ports Where Structure and Behavior Meet
- Ports directly connected to the state machine
Public End Port
ImplementationEnd Port
38Decomposition Class Diagram View
- Alternative representation
- More abstract
capsuleFax
capsuleFaxCall
39- The Unified Modeling Language (UML)
- Complex real-time systems
- Requirements for modeling architectures of
complex RT systems - Approach and method
- Architectural modeling constructs
- Summary
40Summary (1)
- Complex real-time systems phenomena require
specialized modeling support - The ROOM language has industry-proven support for
modeling complex real-time architectures - The benefits of both UML and ROOM are gained by
expressing the ROOM constructs as UML stereotypes - UML-RT a UML extension for the complex
real-time domain
41Summary (2)
- Only four UML stereotypes are sufficient
- (include formally defined constraints that ensure
consistency/executability)
- supplemented by an optional custom notation
42Bibliography
- Real-time architectural modeling whitepaper by B.
Selic and J. Rumbaugh - http//www.objectime.com
- OMGs UML 1.1 standard
- http//www.rational.com
- ROOM
- B. Selic, G. Gullekson, and P. Ward, Real-Time
Object-Oriented Modeling, - John Wiley Sons, NY, 1994.