Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using UML for Modeling Complex Real Time System Architectures

Similar presentations


Presentation on theme: "Using UML for Modeling Complex Real Time System Architectures"— Presentation transcript:

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.


Download ppt "Using UML for Modeling Complex Real Time System Architectures"

Similar presentations


Ads by Google