Download presentation
Presentation is loading. Please wait.
1
Using UML for Modeling Complex Real Time System Architectures
Bran Selic VP Advanced Technology ObjecTime Limited
2
Overview The Unified Modeling Language (UML) Complex real-time systems
Requirements for modeling architectures of complex RT systems Approach and method Architectural modeling constructs Summary
3
The Unified Modeling Language
A general purpose OO modeling language combines a number of proven methods OMT (Rumbaugh) UML 1.4 Mar. 1999 UML 0.9 1996 Booch UML 1.1 Nov. 1997 OOSE (Jacobson) Catalysis ROOM etc.
4
What 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
5
The UML Meta-Model–Example
GeneralizeableElement isRoot:Boolean isLeaf:Boolean isAbstract:Boolean (Meta)class Generalization association Feature visibility:{public, protected, private} * Classifier Compostion association Class isActive:Boolean not self.isAbstract implies self.allOperations->forAll(op | self.allMethods->exists(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
7
General Real-Time Systems
A system that maintains a continuous timely interaction with its environment environment Real-Time System (state) inputs outputs outputs = f (inputs, state)
8
Complex 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
9
Modeling 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
11
Real-Time Software Architectures
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
12
Architectures and Evolution
Two functionally equivalent initial architectures: A C B A C B X A C B Mediator X Mediator
13
Real-Time Architectural Specifications
Example telecom system architecture TerminalA TerminalB Channel1 Channel2 Structure Application Layer Services Layer Behavior
14
Architectural Component Design
Library System1 Channel1 Terminal TerminalA TerminalB Channel2 Channel System2 Terminal Tester TerminalA Terminal Tester
15
Refining Architectures (Reuse)
TerminalA TerminalB Channel1 TerminalA TerminalB Channel1 Channel2
16
Summary: 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
18
Business Modeling Library Real-Time Modeling Library (UML-RT)
Approach 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” Business Modeling Library Real-Time Modeling Library (UML-RT) ... UML Modeling Concepts
19
UML Extensibility Mechanisms
Stereotypes, constraints, tagged values Constraint (OCL) Class isActive:Boolean not self.isAbstract implies self.allOperations->forAll(op | self.allMethods->exists(m | m.specification includes (op))) stereotype Capsule <“ports” > required tag
20
Real-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 (>100) of large-scale industrial projects Tool support available (ObjecTime Limited and Rational Software)
21
Phasing 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
23
Capsules: Architectural Objects
Active objects Encapsulation shell Ports
24
Capsules: Behavior Optional hierarchical state machine (signal handler with run-to-completion semantics) transitionS1toS2: {int x; x = 0; p2.send(s1); p3.send(s2); … }; S1 S2 S3 S1 S2
25
Capsules: UML Modeling
Stereotype of Class concept («capsule») with specialized (executable) semantics Class diagram representation: «capsule» CapsuleClassX #counter : int #x : char +portB : ProtocolA::master #portC : ProtocolB ports
26
Protocols: Contractual Behavior Patterns
Interaction contracts between capsules e.g., operator-assisted call Caller Operator Callee time call ack number call ack transfer talk
27
OperatorAssisted Call
Protocol Specifications A special form of collaboration OperatorAssisted Call Alice Bob caller callee initial connected connecting protocol state machine operator caller operator callee significant sequences Dexter Charlie
28
Protocol Roles Specifies one party in a protocol OperatorRole
caller operator callee significant sequences signal source call caller number ack callee Incoming signals OperatorRole signal target call callee transfer caller ack Outgoing signals initial connected connecting role state machine
29
Extended OperatorRole
Protocol Refinement Using inheritance signal source call caller number ack callee Incoming signals signal source call caller number ack callee Incoming signals target transfer Outgoing signals OperatorRole reply caller signal target call callee transfer caller ack Outgoing signals Extended OperatorRole query caller
30
Protocols: UML Modeling
Collaboration stereotype: «protocol» Classifier Role stereotype: «protocolRole» 1 «protocolRole» caller «protocol» OperatorAssisted Call ack transfer incoming 1 1 call number talk outgoing «protocolRole» operator «protocolRole» callee
31
Ports: Boundary Objects
Fully isolate a capsule’s implementation from its environment (in both directions) Environment Capsule S1 S2 Created and destroyed along with their capsule
32
«capsule» CapsuleClassX
Ports and Protocols Each port realizes a single protocol role (type) Multiple ports with same type possible «capsule» CapsuleClassX +portA : ProtocolA::master #portB : ProtocolB +portC : ProtocolB~ ports
33
Ports: Collaboration Diagram Notation
«capsule» anX:CapsuleClassX portA : ProtocolA::master «port» portA:ProtocolA::master 1 portC : ProtocolB~ Shorthand notation for capsule instances iconified form
34
«capsule» receiver : Fax
Combining Capsules Using connectors «capsule» sender : Fax remote : FaxProt «capsule» receiver : Fax remote : FaxProt Connector Connectors model communication channels Each connector supports a single protocol Static typing rules apply (compatible protocols) Modeled as association classes in UML
35
«capsule» receiver:Fax
Composition: Structural Patterns as (Reusable) Dynamic Components Relay port sendCtrl : Control receiveCtrl : Control «capsule» sender:Fax remote:FaxProt c : Control «capsule» receiver:Fax Remote:FaxProt c : Control FaxCall The composite is also a first-class object!
36
Composite 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
37
«capsule» receiver:Fax
End Ports: Where Structure and Behavior Meet Ports directly connected to the state machine Implementation End Port Public End Port c : SystemControl «capsule» sender:Fax c : Control «capsule» receiver:Fax initial connected connecting capsule state machine senderCtrl : Control~ receiveCtrl : Control~
38
Decomposition: Class Diagram View
Alternative representation More abstract «capsule» Fax 1 sender «capsule» FaxCall 1 receiver
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
40
Summary (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
41
Summary (2) Only four UML stereotypes are sufficient
(include formally defined constraints that ensure consistency/executability) Stereotype UML Metaclass «protocol» Collaboration «protocolRole» ClassifierRole «port» Class «capsule» Class supplemented by an optional custom notation
42
Bibliography Real-time architectural modeling whitepaper by B. Selic and J. Rumbaugh: OMG’s UML 1.1 standard ROOM B. Selic, G. Gullekson, and P. Ward, “Real-Time Object-Oriented Modeling”, John Wiley & Sons, NY, 1994.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.