The Real-Time UML Standard: Theory and · PDF fileThe Real-Time UML Standard: Theory and...
Transcript of The Real-Time UML Standard: Theory and · PDF fileThe Real-Time UML Standard: Theory and...
The Real-Time UML Standard: Theory and Application
The RealThe Real--Time UML Standard: Time UML Standard: Theory and ApplicationTheory and Application
Ben WatsonBen WatsonTriTri--Pacific Software, Inc.Pacific Software, [email protected]@tripac.com
Bran SelicBran SelicRational Software CanadaRational Software [email protected]@rational.com
2
Tutorial ObjectivesTutorial Objectives To clarify the relationship between the object paradigm
and real-time systems match or mismatch?
Describe and analyze UML from a real-time designers perspective
To introduce the UML Profile for Schedulability, Performance, and Time
To introduce an engineering-oriented design approach for real-time systems
To clarify the relationship between the object paradigm To clarify the relationship between the object paradigm and realand real--time systemstime systems match or mismatch?match or mismatch?
Describe and analyze UML from a realDescribe and analyze UML from a real--time designers time designers perspectiveperspective
To introduce the To introduce the UML Profile for Schedulability, UML Profile for Schedulability, Performance, and TimePerformance, and Time
To introduce an To introduce an engineeringengineering--oriented designoriented design approach approach for realfor real--time systemstime systems
3
Tutorial OverviewTutorial Overview Real-Time Systems and the Object Paradigm UML as a Real-Time Modeling Language The Real-Time UML Profile Engineering-Oriented Design of Real-Time Systems Summary and Conclusions
RealReal--Time Systems and the Object ParadigmTime Systems and the Object Paradigm UML as a RealUML as a Real--Time Modeling LanguageTime Modeling Language The RealThe Real--Time UML ProfileTime UML Profile EngineeringEngineering--Oriented Design of RealOriented Design of Real--Time SystemsTime Systems Summary and ConclusionsSummary and Conclusions
4
Real-Time Systems and the Object Paradigm Real-Time System Essentials
UML as a Real-Time Modeling Language The Real-Time UML Profile Engineering-Oriented Design of Real-Time Systems Summary and Conclusions
RealReal--Time Systems and the Object ParadigmTime Systems and the Object Paradigm RealReal--Time System EssentialsTime System Essentials
UML as a RealUML as a Real--Time Modeling LanguageTime Modeling Language The RealThe Real--Time UML ProfileTime UML Profile EngineeringEngineering--Oriented Design of RealOriented Design of Real--Time SystemsTime Systems Summary and ConclusionsSummary and Conclusions
5
environmentenvironment
RealReal--Time SystemTime System
RealReal--TimeTimeSystemSystem
(state)(state)
signalsignalsourcesource
controlledentities
controlledcontrolledentitiesentities
outputsoutputs
inputsinputs
signalsignalsourcesource
inputsinputs
outputs = f (inputs, state)outputs = f (inputs, state)
Systems that maintain an ongoing timely interaction with its environment
Systems that maintain an Systems that maintain an ongoing timelyongoing timely interaction with interaction with its environmentits environment
coordinationcoordination
6
Under the HoodUnder the Hood A persistent structure that provides a framework for
behavior A persistent structure that provides a framework for A persistent structure that provides a framework for
behaviorbehaviorenvironmentenvironment
RealReal--TimeTimeSystemSystem
(state)(state)
signalsignalsourcesource
controlledentities
controlledcontrolledentitiesentities
outputsoutputs
inputsinputs
signalsignalsourcesource
inputsinputs
outputs = f (inputs, state)outputs = f (inputs, state)coordinationcoordination
AgentAgent
AgentAgent
AgentAgent
Concurrency conflictConcurrency conflictConcurrency conflict
7
Classifications of RT SystemsClassifications of RT Systems Based on nature of key inputs
time-driven: for continuous (synchronous) inputs event-driven: for discrete (asynchronous) inputs
Based on time criticality hard RT systems: every input must have a timely response soft RT systems: most inputs must have timely response
Based on load: static: fixed deterministic load dynamic: variable (non-deterministic) load
Many practical systems are combinations of these
Based on nature of key inputsBased on nature of key inputs timetime--driven:driven: for continuous (synchronous) inputsfor continuous (synchronous) inputs eventevent--driven:driven: for discrete (asynchronous) inputsfor discrete (asynchronous) inputs
Based on time criticalityBased on time criticality hard RT systems:hard RT systems: every input must have a timely responseevery input must have a timely response soft RT systems:soft RT systems: most inputs must have timely responsemost inputs must have timely response
Based on load:Based on load: static:static: fixed deterministic loadfixed deterministic load dynamic:dynamic: variable (nonvariable (non--deterministic) loaddeterministic) load
Many practical systems are combinations of theseMany practical systems are combinations of these
8
Which procedure(s) describe this system?Which procedure(s) describe this system?
INSTRUCTORSTATION
INSTRUCTORINSTRUCTORSTATIONSTATION
AIRFRAMEAIRFRAMEAIRFRAME
GROUNDMODEL
GROUNDGROUNDMODELMODEL
ATMOSPHEREMODEL
ATMOSPHEREATMOSPHEREMODELMODEL
ENGINESENGINESENGINES
CONTROLSURFACESCONTROLCONTROL
SURFACESSURFACES PILOTCONTROLS
PILOTPILOTCONTROLSCONTROLS
Sample RealSample Real--Time ApplicationTime Application
9
Classical Approach: Cyclical ExecutiveClassical Approach: Cyclical ExecutiveThe miscellaneous procedural slices are executed cyclically based on time resolution
The crucially important system structure is almost The crucially important system structure is almost completely obscuredcompletely obscured
AA BB AA AABB BB AA BBAA BB CC AADD BB CC DDA B C ED F G H
= 50 msec band= 50 msec band= 100 msec band (2 parts: A and B)= 100 msec band (2 parts: A and B)= 200 msec band (4 parts: A, B, C, D)= 200 msec band (4 parts: A, B, C, D)= 400 msec band (8 parts: A, B, C, D, E, F, G, H)= 400 msec band (8 parts: A, B, C, D, E, F, G, H)
50msec50msec
ENGINESENGINESENGINES
10
Problems with the Traditional SolutionProblems with the Traditional Solution The solution is adjusted to fit the implementation
technology (i.e., the step-at-a-time programming style of procedural programming) rather than human needs
In addition to the inherent complexity of the problem designers need to contend with the accidental complexity of the implementation technology
Overwhelming complexity is by far the biggest hurdle in most real-time software systemsreducing complexity is crucial to success
The solution is adjusted to fit the implementation The solution is adjusted to fit the implementation technology (i.e., the steptechnology (i.e., the step--atat--aa--time programming style of time programming style of procedural programming) rather than human needsprocedural programming) rather than human needs
In addition to the inherent complexity of the problem In addition to the inherent complexity of the problem designers need to contend with the accidental complexity designers need to contend with the accidental complexity of the implementation technologyof the implementation technology
Overwhelming complexity is by far the biggest hurdle in Overwhelming complexity is by far the biggest hurdle in most realmost real--time software systemstime software systemsreducing complexity is crucial to successreducing complexity is crucial to success
11
Real-Time Systems and the Object Paradigm Real-Time System Essentials Essentials of the Object Paradigm
UML as a Real-Time Modeling Language The Real-Time UML Profile Engineering-Oriented Design of Real-Time Systems Summary and Conclusions
RealReal--Time Systems and the Object ParadigmTime Systems and the Object Paradigm RealReal--Time System EssentialsTime System Essentials Essentials of the Object ParadigmEssentials of the Object Paradigm
UML as a RealUML as a Real--Time Modeling LanguageTime Modeling Language The RealThe Real--Time UML ProfileTime UML Profile EngineeringEngineering--Oriented Design of RealOriented Design of Real--Time SystemsTime Systems Summary and ConclusionsSummary and Conclusions
12
The Essence of the Object ParadigmThe Essence of the Object Paradigm Combines all the various features of a logical unit
(procedures and data) into a single package called an object
Combines all the various features of a logical unit Combines all the various features of a logical unit (procedures and data) into a single package called (procedures and data) into a single package called an an objectobject
AtmosphereAtmosphereAtmosphere
AirframeAirframeAirframe
ControlSurfacesControlControl
SurfacesSurfaces
Defines a software system as a structure of collaborating objects
Defines a software system as a structure of collaborating objects
13
Objects and RealObjects and Real--Time SystemsTime Systems The structure of real-time systems tends to persist
through time because it reflects the physical entities of the real world
This structure is the framework through which (infinitely) many different behavior threads are executed
Hence, the focus is on structure rather than behavior The structural focus of the object paradigm is better
suited to real-time systems