35
Real-Time Real-Time Systems, Objects, Systems, Objects, and the UML and the UML Bran Selic Bran Selic ObjecTime ObjecTime Limited Limited [email protected] [email protected] om om

Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited [email protected] [email protected]

Embed Size (px)

Citation preview

Page 1: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Real-Time Systems, Real-Time Systems, Objects, and the UMLObjects, and the UML

Bran SelicBran SelicObjecTime LimitedObjecTime Limited

[email protected]@objectime.com

Page 2: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

OverviewOverview

Real-time systems and the object paradigmReal-time systems and the object paradigm

The Unified Modeling Language and UML profilesThe Unified Modeling Language and UML profiles

The UML and real-time modeling The UML and real-time modeling Existing capabilities suited to real-time systemsExisting capabilities suited to real-time systems

Elements of a new real-time profileElements of a new real-time profile

SummarySummary

Real-time systems and the object paradigmReal-time systems and the object paradigm

The Unified Modeling Language and UML profilesThe Unified Modeling Language and UML profiles

The UML and real-time modeling The UML and real-time modeling Existing capabilities suited to real-time systemsExisting capabilities suited to real-time systems

Elements of a new real-time profileElements of a new real-time profile

SummarySummary

Page 3: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

environmentenvironment

Real-Time SystemReal-Time System

Real-TimeReal-TimeSystemSystem

(state)(state)

signalsignalsourcesource

controlledcontrolledentitiesentities

controlledcontrolledentitiesentities

outputsoutputs

inputsinputs

signalsignalsourcesource

inputsinputs

•outputs = f (inputs, state)outputs = f (inputs, state)

Maintains an Maintains an ongoing timelyongoing timely interaction with its interaction with its environmentenvironment

Maintains an Maintains an ongoing timelyongoing timely interaction with its interaction with its environmentenvironment

•coordinationcoordination

Page 4: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Under the HoodUnder the Hood

A persistent structure that provides a framework for behaviorA persistent structure that provides a framework for behavior A persistent structure that provides a framework for behaviorA persistent structure that provides a framework for behavior

environmentenvironment

Real-TimeReal-TimeSystemSystem

(state)(state)

signalsignalsourcesource

controlledcontrolledentitiesentities

controlledcontrolledentitiesentities

outputsoutputs

inputsinputs

signalsignalsourcesource

inputsinputs

•outputs = f (inputs, state)outputs = f (inputs, state)•coordinationcoordination

AgentAgent

AgentAgent

ManagerManager

Page 5: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

The Object Paradigm and RT SystemsThe Object Paradigm and RT Systems The object paradigm is also inherently structural:The object paradigm is also inherently structural:

the fundamental computational model is based on networks of the fundamental computational model is based on networks of collaborating componentscollaborating components

The object paradigm is also inherently structural:The object paradigm is also inherently structural: the fundamental computational model is based on networks of the fundamental computational model is based on networks of

collaborating componentscollaborating components

INSTRUCTORINSTRUCTORSTATIONSTATION

INSTRUCTORINSTRUCTORSTATIONSTATION

AIRFRAMEAIRFRAMEAIRFRAMEAIRFRAME

GROUNDGROUNDMODELMODEL

GROUNDGROUNDMODELMODEL

ATMOSPHEREATMOSPHEREMODELMODEL

ATMOSPHEREATMOSPHEREMODELMODEL

ENGINESENGINESENGINESENGINES

CONTROLCONTROLSURFACESSURFACES

CONTROLCONTROLSURFACESSURFACES PILOTPILOT

CONTROLSCONTROLS

PILOTPILOTCONTROLSCONTROLS

e.g.: aircraft simulatore.g.: aircraft simulator

The object paradigm is very well suited for rendering real-time systemsThe object paradigm is very well suited for rendering real-time systems The object paradigm is very well suited for rendering real-time systemsThe object paradigm is very well suited for rendering real-time systems

Page 6: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

However...However... Conceptually, objects are a good match, but...Conceptually, objects are a good match, but...

... isn’t performance an issue?... isn’t performance an issue? Performance impacts in OO technologyPerformance impacts in OO technology

automatic garbage collection (Java, Smalltalk)automatic garbage collection (Java, Smalltalk) incremental garbage collection techniques are getting better incremental garbage collection techniques are getting better

and hardware is becoming faster so that the latency impact is and hardware is becoming faster so that the latency impact is droppingdropping

dynamic binding (resolution of polymorphism)dynamic binding (resolution of polymorphism) involves (sometimes unbounded) dynamic searches for proper involves (sometimes unbounded) dynamic searches for proper

version of code to executeversion of code to execute ““real-time” variants of OO languages (e.g., RT Java, EC++)real-time” variants of OO languages (e.g., RT Java, EC++)

Conceptually, objects are a good match, but...Conceptually, objects are a good match, but... ... isn’t performance an issue?... isn’t performance an issue?

Performance impacts in OO technologyPerformance impacts in OO technology automatic garbage collection (Java, Smalltalk)automatic garbage collection (Java, Smalltalk) incremental garbage collection techniques are getting better incremental garbage collection techniques are getting better

and hardware is becoming faster so that the latency impact is and hardware is becoming faster so that the latency impact is droppingdropping

dynamic binding (resolution of polymorphism)dynamic binding (resolution of polymorphism) involves (sometimes unbounded) dynamic searches for proper involves (sometimes unbounded) dynamic searches for proper

version of code to executeversion of code to execute ““real-time” variants of OO languages (e.g., RT Java, EC++)real-time” variants of OO languages (e.g., RT Java, EC++)

Page 7: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

The Unified Modeling LanguageThe Unified Modeling Language A consolidation of proven ideas and practices based on A consolidation of proven ideas and practices based on

the object paradigm into a general-purpose OO modeling the object paradigm into a general-purpose OO modeling languagelanguage single semantic basesingle semantic base single notationsingle notation

Standardized by the Object Management Group Standardized by the Object Management Group Widely adopted by:Widely adopted by:

industrial software developersindustrial software developers academic institutionsacademic institutions tool vendorstool vendors training organizationstraining organizations

A consolidation of proven ideas and practices based on A consolidation of proven ideas and practices based on the object paradigm into a general-purpose OO modeling the object paradigm into a general-purpose OO modeling languagelanguage single semantic basesingle semantic base single notationsingle notation

Standardized by the Object Management Group Standardized by the Object Management Group Widely adopted by:Widely adopted by:

industrial software developersindustrial software developers academic institutionsacademic institutions tool vendorstool vendors training organizationstraining organizations

Page 8: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

The History of UMLThe History of UML

UMLUML0.90.9

19961996

ROOMROOM

UML 1.1UML 1.1(OMG standard)(OMG standard)

November 1997November 1997

UMLUML1.31.3

November 1999November 1999

StatechartsStatecharts(Harel)(Harel)

OOSEOOSE(Jacobson)(Jacobson)

BoochBooch

OMTOMT(Rumbaugh) (Rumbaugh)

CatalysisCatalysis

...

Page 9: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

What is (in) the UML?What is (in) the UML?

Semi-formal semantic meta-modelSemi-formal semantic meta-model defines basic modeling concepts (object, class, association)defines basic modeling concepts (object, class, association)

includes well-formedness rules expressed as formal includes well-formedness rules expressed as formal

constraints in Object Constraint Language (OCL)constraints in Object Constraint Language (OCL)

Graphical notation for modeling concepts Graphical notation for modeling concepts 8 different diagram types8 different diagram types

Two domain-specific “profiles”Two domain-specific “profiles”

Semi-formal semantic meta-modelSemi-formal semantic meta-model defines basic modeling concepts (object, class, association)defines basic modeling concepts (object, class, association)

includes well-formedness rules expressed as formal includes well-formedness rules expressed as formal

constraints in Object Constraint Language (OCL)constraints in Object Constraint Language (OCL)

Graphical notation for modeling concepts Graphical notation for modeling concepts 8 different diagram types8 different diagram types

Two domain-specific “profiles”Two domain-specific “profiles”

Page 10: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

The UML Meta-Model–ExampleThe UML Meta-Model–Example

GeneralizeableElementGeneralizeableElementGeneralizeableElementGeneralizeableElement

isRoot:BooleanisRoot:BooleanisLeaf:BooleanisLeaf:BooleanisAbstract:BooleanisAbstract:Boolean

isRoot:BooleanisRoot:BooleanisLeaf:BooleanisLeaf:BooleanisAbstract:BooleanisAbstract:Boolean

ClassifierClassifierClassifierClassifier

FeatureFeatureFeatureFeature

visibility:{public, visibility:{public, protected, private}protected, private}visibility:{public, visibility:{public, protected, private}protected, private}

ClassClassClassClass

isActive:BooleanisActive:BooleanisActive:BooleanisActive:Boolean

**

not self.isAbstract implies not self.isAbstract implies self.allOperations->forAll(op | self.allOperations->forAll(op | self.allMethods->exists(m | self.allMethods->exists(m | m.specification includes (op))) m.specification includes (op)))

(Meta)class(Meta)class

Generalization associationGeneralization association

Compostion associationCompostion association

OCL constraintOCL constraint

Page 11: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Semantic Variation PointsSemantic Variation Points Semantic aspects that are:Semantic aspects that are:

undefined (e.g., scheduling discipline), orundefined (e.g., scheduling discipline), or intentionally ambiguous (multiple, mutually-exclusive, intentionally ambiguous (multiple, mutually-exclusive,

interpretations)interpretations) Why?Why?

Different domains require different specializationsDifferent domains require different specializations The applicability and usefulness of UML would have been The applicability and usefulness of UML would have been

severely constrained if it could not support such diversityseverely constrained if it could not support such diversity The scope and semantic impact of semantic variation The scope and semantic impact of semantic variation

choices must be strictly limitedchoices must be strictly limited

Semantic aspects that are:Semantic aspects that are: undefined (e.g., scheduling discipline), orundefined (e.g., scheduling discipline), or intentionally ambiguous (multiple, mutually-exclusive, intentionally ambiguous (multiple, mutually-exclusive,

interpretations)interpretations) Why?Why?

Different domains require different specializationsDifferent domains require different specializations The applicability and usefulness of UML would have been The applicability and usefulness of UML would have been

severely constrained if it could not support such diversityseverely constrained if it could not support such diversity The scope and semantic impact of semantic variation The scope and semantic impact of semantic variation

choices must be strictly limitedchoices must be strictly limited

Page 12: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

UML Extensibility MechanismsUML Extensibility Mechanisms Stereotypes, constraints, tagged valuesStereotypes, constraints, tagged values Stereotypes, constraints, tagged valuesStereotypes, constraints, tagged values

« monitor »« monitor »« monitor »« monitor »

<“capacity”<“capacity” >><“capacity”<“capacity” >>

self.isActive = trueself.isActive = trueClassClassClassClass

isActive:BooleanisActive:BooleanisActive:BooleanisActive:Boolean

Required tagRequired tag

Stereotype (specialization)Stereotype (specialization)

Constraint (OCL)Constraint (OCL)

Page 13: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

UML ProfilesUML Profiles A package of related specializations of general UML A package of related specializations of general UML

concepts that capture domain-specific variations and concepts that capture domain-specific variations and usage patternsusage patterns A domain-specific interpretation of UMLA domain-specific interpretation of UML

Fully conformant with the UML standardFully conformant with the UML standard additional semantic constraints cannot contradict the general additional semantic constraints cannot contradict the general

UML semanticsUML semantics within the “semantic envelope” defined by the standardwithin the “semantic envelope” defined by the standard

A package of related specializations of general UML A package of related specializations of general UML concepts that capture domain-specific variations and concepts that capture domain-specific variations and usage patternsusage patterns A domain-specific interpretation of UMLA domain-specific interpretation of UML

Fully conformant with the UML standardFully conformant with the UML standard additional semantic constraints cannot contradict the general additional semantic constraints cannot contradict the general

UML semanticsUML semantics within the “semantic envelope” defined by the standardwithin the “semantic envelope” defined by the standard

UML SemanticsUML Semantics

Page 14: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

The UML Real-Time A&D GroupThe UML Real-Time A&D Group An OMG working groupAn OMG working group

mission: to investigate and make requests (RFPs) for ways mission: to investigate and make requests (RFPs) for ways and means to apply UML to real-time problemsand means to apply UML to real-time problems

Three principal areas of investigation:Three principal areas of investigation: Time-related modeling issuesTime-related modeling issues General quality of service modeling issuesGeneral quality of service modeling issues Architectural modeling issuesArchitectural modeling issues

First request for proposal (RFP.1): “First request for proposal (RFP.1): “UML profile for UML profile for scheduling performance and time”scheduling performance and time” initial submission due March 2000initial submission due March 2000

An OMG working groupAn OMG working group mission: to investigate and make requests (RFPs) for ways mission: to investigate and make requests (RFPs) for ways

and means to apply UML to real-time problemsand means to apply UML to real-time problems Three principal areas of investigation:Three principal areas of investigation:

Time-related modeling issuesTime-related modeling issues General quality of service modeling issuesGeneral quality of service modeling issues Architectural modeling issuesArchitectural modeling issues

First request for proposal (RFP.1): “First request for proposal (RFP.1): “UML profile for UML profile for scheduling performance and time”scheduling performance and time” initial submission due March 2000initial submission due March 2000

Page 15: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

anActiveObjectanActiveObject

#currentEvent : Event#currentEvent : Event

+ start ( )+ start ( )+ poll ( )+ poll ( )+ stop ( )+ stop ( )

Active Objects and State Machines in UMLActive Objects and State Machines in UML Direct support for concurrency (Direct support for concurrency (active objectsactive objects) and event-) and event-

driven (reactive) behavior (driven (reactive) behavior (state machinesstate machines)) Direct support for concurrency (Direct support for concurrency (active objectsactive objects) and event-) and event-

driven (reactive) behavior (driven (reactive) behavior (state machinesstate machines))

created

ready

start/^master.ready()

poll/^master.ack()

stop/

poll/defer

ready

created

start start/^master.ready() ready

Page 16: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Active Object SemanticsActive Object Semantics

Concurrent incoming events are queued and handled Concurrent incoming events are queued and handled one-at-a-time regardless of priorityone-at-a-time regardless of priority run-to-completionrun-to-completion (RTC) execution model (RTC) execution model

ActiveObject:

Page 17: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

The Run-to-Completion ParadigmThe Run-to-Completion Paradigm RTC simply serializes event handling for active objectsRTC simply serializes event handling for active objects It does It does notnot prevent low-priority activities from being prevent low-priority activities from being

preempted by high-priority events (in the general case) or preempted by high-priority events (in the general case) or disable interruptsdisable interrupts very limited priority inversionvery limited priority inversion

Advantages:Advantages: automatically eliminates low-level concurrency conflicts to automatically eliminates low-level concurrency conflicts to

achieve simpler and more reliable softwareachieve simpler and more reliable software significantly reduces context switching overhead yielding very significantly reduces context switching overhead yielding very

efficient multi-taskingefficient multi-tasking

RTC simply serializes event handling for active objectsRTC simply serializes event handling for active objects It does It does notnot prevent low-priority activities from being prevent low-priority activities from being

preempted by high-priority events (in the general case) or preempted by high-priority events (in the general case) or disable interruptsdisable interrupts very limited priority inversionvery limited priority inversion

Advantages:Advantages: automatically eliminates low-level concurrency conflicts to automatically eliminates low-level concurrency conflicts to

achieve simpler and more reliable softwareachieve simpler and more reliable software significantly reduces context switching overhead yielding very significantly reduces context switching overhead yielding very

efficient multi-taskingefficient multi-tasking

Page 18: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Timing Marks and ConstraintsTiming Marks and Constraints

CallerCaller OperatorOperator CalleeCallee

call

ack

number

call

ack

talk

transfer

TT11: call.sendTime: call.sendTimeTT11: call.sendTime: call.sendTime

TT22: transfer.receiveTime: transfer.receiveTimeTT22: transfer.receiveTime: transfer.receiveTime

{T{T22 - T - T11 < 10 sec} < 10 sec}

timing constrainttiming constraint

A A timing marktiming mark identifies the time of an event occurrence identifies the time of an event occurrence A A timing marktiming mark identifies the time of an event occurrence identifies the time of an event occurrence

Page 19: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

The Joint Submission to RFP.1The Joint Submission to RFP.1 General structureGeneral structure General structureGeneral structure

Semantic BaseSemantic BaseSemantic BaseSemantic Base

GeneralGeneralResourceResourceSemanticsSemantics

GeneralGeneralResourceResourceSemanticsSemantics

GeneralGeneralConcurrencyConcurrency

SemanticsSemantics

GeneralGeneralConcurrencyConcurrency

SemanticsSemantics

GeneralGeneralTimeTime

SemanticsSemantics

GeneralGeneralTimeTime

SemanticsSemantics

Mechanisms LevelMechanisms LevelMechanisms LevelMechanisms Level

SchedulersSchedulersSchedulersSchedulers Timing Timing FacilitiesFacilitiesTiming Timing

FacilitiesFacilitiesExternalExternal

EnvironmentEnvironmentExternalExternal

EnvironmentEnvironmentSoftwareSoftware

InfrastructureInfrastructureSoftwareSoftware

InfrastructureInfrastructure

Policies LevelPolicies LevelPolicies LevelPolicies Level

SchedulingSchedulingPoliciesPolicies

SchedulingSchedulingPoliciesPolicies

Timing Timing SpecificationsSpecificationsand Notationsand Notations

Timing Timing SpecificationsSpecificationsand Notationsand Notations

Real-TimeReal-TimeCORBACORBAModelsModels

Real-TimeReal-TimeCORBACORBAModelsModels

Resource Resource ManagementManagement

PoliciesPolicies

Resource Resource ManagementManagement

PoliciesPolicies

GeneralGeneralResourceResourceSemanticsSemantics

GeneralGeneralResourceResourceSemanticsSemantics

Page 20: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Quantitative MethodsQuantitative Methods

For real-time systems predictive modeling is crucialFor real-time systems predictive modeling is crucial requires quantitative modeling techniquesrequires quantitative modeling techniques

Major quantitative techniques used in real-time designMajor quantitative techniques used in real-time design schedulability analysis (e.g., rate-monotonic analysis)schedulability analysis (e.g., rate-monotonic analysis) performance modeling (e.g., queueing theory)performance modeling (e.g., queueing theory)

Objective:Objective:

provide a modeling framework within UML for provide a modeling framework within UML for seamlessseamless

integration of these and other quantitative modeling techniquesintegration of these and other quantitative modeling techniques

For real-time systems predictive modeling is crucialFor real-time systems predictive modeling is crucial requires quantitative modeling techniquesrequires quantitative modeling techniques

Major quantitative techniques used in real-time designMajor quantitative techniques used in real-time design schedulability analysis (e.g., rate-monotonic analysis)schedulability analysis (e.g., rate-monotonic analysis) performance modeling (e.g., queueing theory)performance modeling (e.g., queueing theory)

Objective:Objective:

provide a modeling framework within UML for provide a modeling framework within UML for seamlessseamless

integration of these and other quantitative modeling techniquesintegration of these and other quantitative modeling techniques

Page 21: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Resources and Quality of ServiceResources and Quality of Service The characteristic of a finite (physical or logical) quantity The characteristic of a finite (physical or logical) quantity

is captured through the notion of a is captured through the notion of a resourceresource A resource provides a service characterized by one or A resource provides a service characterized by one or

more more quality of service (QoS)quality of service (QoS) attributes attributes capacity, reliability, availability, response time, etc.capacity, reliability, availability, response time, etc.

The characteristic of a finite (physical or logical) quantity The characteristic of a finite (physical or logical) quantity is captured through the notion of a is captured through the notion of a resourceresource

A resource provides a service characterized by one or A resource provides a service characterized by one or more more quality of service (QoS)quality of service (QoS) attributes attributes capacity, reliability, availability, response time, etc.capacity, reliability, availability, response time, etc.

ClientClientClientClientQoS ContractQoS Contract

S1S1S1S1

Required QoSRequired QoS

S1S1S1S1

ResourceResourceResourceResource

Offered QoSOffered QoS

Page 22: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Specification DomainSpecification Domain

A General Resource Modeling FrameworkA General Resource Modeling Framework

ResourceResourceResourceResource ServiceServiceServiceService1..*1..*

requiredServicerequiredServiceClientClientClientClient

1..*1..*

offeredserviceofferedservice

ServiceServiceInstanceInstanceServiceServiceInstanceInstance

QoS QoS characteristiccharacteristic

valuevalue

QoS QoS characteristiccharacteristic

valuevalue

0..*0..*0..*0..*

/offeredQoS/offeredQoS

0..*0..*

/requiredQoS/requiredQoS

QoS QoS contractcontract

QoS QoS contractcontract

0..*0..*

1..*1..*1..*1..*

0..*0..*

QoS QoS characteristiccharacteristic

QoS QoS characteristiccharacteristic

11typetype

«realizes»«realizes»

Page 23: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

ExampleExample A software task that requires specific minimal operating A software task that requires specific minimal operating

conditionsconditions A software task that requires specific minimal operating A software task that requires specific minimal operating

conditionsconditions

CPU :CPU :3 MIPs3 MIPs

Bandw. : Bandw. : 70Mbit/s70Mbit/s

Mem :Mem :2MB2MB

20MB20MB

MemoryMemoryMemoryMemory

SW TaskSW TaskSW TaskSW Task

3MIPs3MIPs

CPUCPUCPUCPU

100Mbit/s100Mbit/s

LANLANLANLAN

services (offered QoS values)services (offered QoS values)

resourcesresources

required QoS valuesrequired QoS values

clientclient

QoS contractsQoS contracts

Page 24: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Logical Logical Viewpoint Viewpoint

Logical Logical Viewpoint Viewpoint

Engineering Engineering ViewpointViewpoint

Engineering Engineering ViewpointViewpoint

Two Interpretations of QoS ContractsTwo Interpretations of QoS Contracts The The peerpeer interpretation interpretation The The peerpeer interpretation interpretation

The The layerlayer (virtual machine) interpretation (virtual machine) interpretation The The layerlayer (virtual machine) interpretation (virtual machine) interpretation

SemaphoreSemaphore(resource)(resource)

SemaphoreSemaphore(resource)(resource)

TaskTask(client)(client)TaskTask

(client)(client)

usesuses

SW TaskSW TaskSW TaskSW Task

ProcessorProcessorProcessorProcessorProcessorProcessorProcessorProcessorNetworkNetworkNetworkNetwork

SW TaskSW TaskSW TaskSW Task SW TaskSW TaskSW TaskSW Task SW TaskSW TaskSW TaskSW Task

«realizes»«realizes»

Page 25: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

General Resource TypesGeneral Resource Types

MemoryMemoryMemoryMemory CPUCPUCPUCPU

LANLANLANLAN

20MB20MB 3MIPS3MIPS 100Mbit100Mbit

ComputationalClusterComputationalClusterComputationalClusterComputationalCluster

Devices:Devices: perform specific services perform specific services Devices:Devices: perform specific services perform specific services

Channels:Channels: perform communication services perform communication services Channels:Channels: perform communication services perform communication services

Clusters:Clusters: provide multiple services in one unit provide multiple services in one unit Clusters:Clusters: provide multiple services in one unit provide multiple services in one unit

Page 26: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

UML ModelingUML Modeling A specific resource type can be modeled as standard A specific resource type can be modeled as standard

stereotype of the Node concept with standardized stereotype of the Node concept with standardized required tagsrequired tags

A specific resource type can be modeled as standard A specific resource type can be modeled as standard stereotype of the Node concept with standardized stereotype of the Node concept with standardized required tagsrequired tags

NodeNodeNodeNode

«AbstractDevice»«AbstractDevice»«AbstractDevice»«AbstractDevice»

<“availability”><“availability”><“reliability”><“reliability”>

<“availability”><“availability”><“reliability”><“reliability”>

« CPU »« CPU »« CPU »« CPU »

<“speed”><“speed”><“speed”><“speed”>

Page 27: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Resource Sharing and QoS ContractsResource Sharing and QoS Contracts Shared resources complicate QoS contract validationShared resources complicate QoS contract validation

service-specific composition rulesservice-specific composition rules

Shared resources complicate QoS contract validationShared resources complicate QoS contract validation service-specific composition rulesservice-specific composition rules

CPU :CPU :3 MIPs3 MIPs

Bandw. : Bandw. : 70Mbit/s70Mbit/s

Mem :Mem :2MB2MB

SW Task ASW Task ASW Task ASW Task A

20MB20MB

MemoryMemoryMemoryMemory

5MIPs5MIPs

CPUCPUCPUCPU

100Mbit/s100Mbit/s

LANLANLANLAN

CPU :CPU :3 MIPs3 MIPs

Bandw. : Bandw. : 70Mbit/s70Mbit/s

Mem :Mem :2MB2MB

SW Task BSW Task BSW Task BSW Task B

++++++++

Page 28: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Hardware Hardware layerlayer

OS OS layerlayer

Layered Resource ModelsLayered Resource Models Real-world situations typically require hierarchical models Real-world situations typically require hierarchical models

of resourcesof resources Real-world situations typically require hierarchical models Real-world situations typically require hierarchical models

of resourcesof resources

Application Application layerlayer

SW Task ASW Task ASW Task ASW Task A SW Task BSW Task BSW Task BSW Task B

ProcessProcessProcessProcess messagemessagebuffersbuffers

messagemessagebuffersbuffers HeapHeapHeapHeap StackStackStackStack

MemoryMemoryMemoryMemory CPUCPUCPUCPU LANLANLANLAN

ResourceResourceResourceResource

ClientClientClientClient

ResourceResourceResourceResource

«realizes»«realizes»

«realizes»«realizes»

Resource/Resource/ClientClient

Resource/Resource/ClientClient

Page 29: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Realization RelationshipsRealization Relationships The precise semantics of the relationship depend on the The precise semantics of the relationship depend on the

chosen level of abstraction and resource typechosen level of abstraction and resource type The precise semantics of the relationship depend on the The precise semantics of the relationship depend on the

chosen level of abstraction and resource typechosen level of abstraction and resource type

SW Task ASW Task ASW Task ASW Task A SW Task BSW Task BSW Task BSW Task B

ProcessProcessProcessProcess messagemessagebuffersbuffers

messagemessagebuffersbuffers HeapHeapHeapHeap

ProcessorProcessorProcessorProcessor

SW Task ASW Task ASW Task ASW Task A SW Task BSW Task BSW Task BSW Task B

ProcessorProcessorProcessorProcessor

Page 30: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Configuration AlternativesConfiguration Alternatives We may need to provide alternative realizations for a We may need to provide alternative realizations for a

given logical modelgiven logical model We may need to provide alternative realizations for a We may need to provide alternative realizations for a

given logical modelgiven logical model

Alternative AAlternative AAlternative AAlternative A

SW Task ASW Task ASW Task ASW Task A SW Task BSW Task BSW Task BSW Task B

ProcessorProcessorProcessorProcessor

Alternative BAlternative BAlternative BAlternative B

SW Task ASW Task ASW Task ASW Task A SW Task BSW Task BSW Task BSW Task B

ProcessorProcessorProcessorProcessorProcessorProcessorProcessorProcessor

Page 31: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Realization-BRealization-BRealization-BRealization-B

Realization PackagesRealization Packages Package together realization relationships belonging to a Package together realization relationships belonging to a

single configuration alternativesingle configuration alternative Package together realization relationships belonging to a Package together realization relationships belonging to a

single configuration alternativesingle configuration alternative

Eng.lModel-BEng.lModel-BEng.lModel-BEng.lModel-B

LogicalModelLogicalModelLogicalModelLogicalModel

ProcessorProcessorProcessorProcessorProcessorProcessorProcessorProcessor

SW Task ASW Task ASW Task ASW Task A SW Task BSW Task BSW Task BSW Task B

«import»«import»«import»«import»

«import»«import»«import»«import»

Page 32: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Resource Management FrameworkResource Management Framework

ClientClientClientClient

0..*0..*

0..*0..*

ResourceBrokerResourceBrokerResourceBrokerResourceBroker

ResourceResourceResourceResourcemanagesmanages

1..*1..* 0..10..1ResourceManagerResourceManagerResourceManagerResourceManager

1..*1..*

0..10..1allocatesallocates

ResourceManagementPolicyResourceManagementPolicyResourceManagementPolicyResourceManagementPolicy

ResourceAllocationPolicyResourceAllocationPolicyResourceAllocationPolicyResourceAllocationPolicy

ExclusiveResourceExclusiveResourceExclusiveResourceExclusiveResourceSharedResourceSharedResourceSharedResourceSharedResource

+capacity : Integer+capacity : Integer+capacity : Integer+capacity : Integer

Page 33: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

SummarySummary The object paradigm is a good match to real-time system The object paradigm is a good match to real-time system

modeling requirementsmodeling requirements The UML captures years of experience with the object The UML captures years of experience with the object

paradigm in a single consistent modeling languageparadigm in a single consistent modeling language While it has some capabilities for modeling real-time While it has some capabilities for modeling real-time

systems, further specialization is required to support systems, further specialization is required to support predictive techniquespredictive techniques

Such specializations can be conveniently packaged in Such specializations can be conveniently packaged in the form of a real-time “profile” the form of a real-time “profile”

Work is in progress on a series of such real-time profilesWork is in progress on a series of such real-time profiles

The object paradigm is a good match to real-time system The object paradigm is a good match to real-time system modeling requirementsmodeling requirements

The UML captures years of experience with the object The UML captures years of experience with the object paradigm in a single consistent modeling languageparadigm in a single consistent modeling language

While it has some capabilities for modeling real-time While it has some capabilities for modeling real-time systems, further specialization is required to support systems, further specialization is required to support predictive techniquespredictive techniques

Such specializations can be conveniently packaged in Such specializations can be conveniently packaged in the form of a real-time “profile” the form of a real-time “profile”

Work is in progress on a series of such real-time profilesWork is in progress on a series of such real-time profiles

Page 34: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

Summary (cont.)Summary (cont.)

The first real-time profile of UML focuses on supporting The first real-time profile of UML focuses on supporting time-related issues techniquestime-related issues techniques time modeling techniquestime modeling techniques schedulability techniquesschedulability techniques performance modeling techniquesperformance modeling techniques

A major feature of this upcoming profile is that it provides A major feature of this upcoming profile is that it provides a general framework for modeling quality of service a general framework for modeling quality of service characteristics of different kindscharacteristics of different kinds

The first real-time profile of UML focuses on supporting The first real-time profile of UML focuses on supporting time-related issues techniquestime-related issues techniques time modeling techniquestime modeling techniques schedulability techniquesschedulability techniques performance modeling techniquesperformance modeling techniques

A major feature of this upcoming profile is that it provides A major feature of this upcoming profile is that it provides a general framework for modeling quality of service a general framework for modeling quality of service characteristics of different kindscharacteristics of different kinds

Page 35: Real-Time Systems, Objects, and the UML Real-Time Systems, Objects, and the UML Bran Selic ObjecTime Limited bran@objectime.com bran@objectime.com

BibliographyBibliography ““The Unified Modeling Language” version 1.3, The Object Management The Unified Modeling Language” version 1.3, The Object Management

Group, November 1999 (http://www.omg.org).Group, November 1999 (http://www.omg.org).

J. Rumbaugh, I. Jacobson, and G. Booch, “The Unified Modeling Language J. Rumbaugh, I. Jacobson, and G. Booch, “The Unified Modeling Language Reference Manual,”, Addison-Wesley, 1999.Reference Manual,”, Addison-Wesley, 1999.

““UML™ Profile for Scheduling, Performance, and Time - Request for Proposal”, The Object Management Group, March 1999 (doc ad/99-03/13).The Object Management Group, March 1999 (doc ad/99-03/13).

B. Selic, “Turning Clockwise: Using UML in the Real-Time Domain”, B. Selic, “Turning Clockwise: Using UML in the Real-Time Domain”, Communications of the ACM,Communications of the ACM, vol.42, no.10, October 1999 (pp.46-54). vol.42, no.10, October 1999 (pp.46-54).

B. Selic and J. Rumbaugh: “Using UML for Modeling Complex Real-Time B. Selic and J. Rumbaugh: “Using UML for Modeling Complex Real-Time Systems,” ObjecTime Limited and Rational Software Corp., March 1998. Systems,” ObjecTime Limited and Rational Software Corp., March 1998. (http://www.objectime.com)(http://www.objectime.com)

““The Unified Modeling Language” version 1.3, The Object Management The Unified Modeling Language” version 1.3, The Object Management Group, November 1999 (http://www.omg.org).Group, November 1999 (http://www.omg.org).

J. Rumbaugh, I. Jacobson, and G. Booch, “The Unified Modeling Language J. Rumbaugh, I. Jacobson, and G. Booch, “The Unified Modeling Language Reference Manual,”, Addison-Wesley, 1999.Reference Manual,”, Addison-Wesley, 1999.

““UML™ Profile for Scheduling, Performance, and Time - Request for Proposal”, The Object Management Group, March 1999 (doc ad/99-03/13).The Object Management Group, March 1999 (doc ad/99-03/13).

B. Selic, “Turning Clockwise: Using UML in the Real-Time Domain”, B. Selic, “Turning Clockwise: Using UML in the Real-Time Domain”, Communications of the ACM,Communications of the ACM, vol.42, no.10, October 1999 (pp.46-54). vol.42, no.10, October 1999 (pp.46-54).

B. Selic and J. Rumbaugh: “Using UML for Modeling Complex Real-Time B. Selic and J. Rumbaugh: “Using UML for Modeling Complex Real-Time Systems,” ObjecTime Limited and Rational Software Corp., March 1998. Systems,” ObjecTime Limited and Rational Software Corp., March 1998. (http://www.objectime.com)(http://www.objectime.com)