The Real-Time UML Standard: Theory and · PDF fileThe Real-Time UML Standard: Theory and...

download The Real-Time UML Standard: Theory and · PDF fileThe Real-Time UML Standard: Theory and Application The Real-Time UML Standard: ... Classifications of RT Systems ... Land planeLand

If you can't read please download the document

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