Upload
josie-milbury
View
240
Download
1
Tags:
Embed Size (px)
Citation preview
Real-Time Systems, Real-Time Systems, Objects, and the UMLObjects, and the UML
Bran SelicBran SelicObjecTime LimitedObjecTime Limited
[email protected]@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
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
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
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
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++)
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
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
...
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”
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
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
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)
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
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
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
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:
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
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
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
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
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
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»
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
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»
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
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”>
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
++++++++
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
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
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
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»
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
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
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
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)