Using UML for Modeling Complex Real Time System Architectures

1 / 42
About This Presentation
Title:

Using UML for Modeling Complex Real Time System Architectures

Description:

Two predefined domain extensions. Bran Selic. 5. The UML Meta-Model Example. GeneralizeableElement ... General Real-Time Systems ... –

Number of Views:135
Avg rating:3.0/5.0
Slides: 43
Provided by: nei72
Category:

less

Transcript and Presenter's Notes

Title: Using UML for Modeling Complex Real Time System Architectures


1
Using UML for Modeling Complex Real Time System
Architectures
  • Bran Selic
  • VP Advanced Technology
  • ObjecTime Limited
  • bran_at_objectime.com

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

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-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

7
General Real-Time Systems
  • A system that maintains a continuous timely
    interaction with its environment

Real-TimeSystem (state)
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
  • 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

12
Architectures and Evolution
  • Two functionally equivalent initial architectures

X
X
Mediator
13
Real-Time Architectural Specifications
  • Example telecom system architecture

Application Layer
Services Layer
14
Architectural Component Design
15
Refining Architectures (Reuse)
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
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

Real-TimeModelingLibrary (UML-RT)
BusinessModelingLibrary
...
UML Modeling Concepts
19
UML 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
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 (gt100) 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
24
Capsules Behavior
  • Optional hierarchical state machine (signal
    handler with run-to-completion semantics)

S1
S2
25
Capsules UML Modeling
  • Stereotype of Class concept (capsule) with
    specialized (executable) semantics
  • Class diagram representation

capsuleCapsuleClassX
counter intx char
26
Protocols Contractual Behavior Patterns
  • Interaction contracts between capsules
  • e.g., operator-assisted call

Caller
Operator
Callee
27
Protocol Specifications
  • A special form of collaboration

OperatorAssistedCall
28
Protocol Roles
  • Specifies one party in a protocol

OperatorRole
29
Protocol Refinement
  • Using inheritance

ExtendedOperatorRole
30
Protocols UML Modeling
  • Collaboration stereotype protocol
  • Classifier Role stereotype protocolRole

protocolRolecaller
protocolOperatorAssistedCall
protocolRolecallee
protocolRoleoperator
31
Ports Boundary Objects
  • Fully isolate a capsules implementation from its
    environment (in both directions)

Created and destroyed along with their capsule
32
Ports and Protocols
  • Each port realizes a single protocol role (type)
  • Multiple ports with same type possible

capsuleCapsuleClassX
33
Ports Collaboration Diagram Notation
capsuleanXCapsuleClassX
portA ProtocolAmaster
portC ProtocolB
  • Shorthand notation for capsule instances
  • iconified form

34
Combining Capsules
  • Using connectors

Connector
Connectors model communication channels Each
connector supports a single protocol Static
typing rules apply (compatible protocols) Modeled
as association classes in UML
35
Composition Structural Patterns as (Reusable)
Dynamic Components
Relayport
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
End Ports Where Structure and Behavior Meet
  • Ports directly connected to the state machine

Public End Port
ImplementationEnd Port
38
Decomposition 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

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)
  • supplemented by an optional custom notation

42
Bibliography
  • 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.
Write a Comment
User Comments (0)
About PowerShow.com