using the uml profile for schedulability performance and time l.
Skip this Video
Loading SlideShow in 5 Seconds..
Using the UML Profile for Schedulability, Performance and Time PowerPoint Presentation
Download Presentation
Using the UML Profile for Schedulability, Performance and Time

Loading in 2 Seconds...

play fullscreen
1 / 54

Using the UML Profile for Schedulability, Performance and Time - PowerPoint PPT Presentation

  • Uploaded on

Using the UML Profile for Schedulability, Performance and Time. Bruce Powel Douglass, Ph.D. Chief Evangelist I-Logix, Inc. About the Author. 20++ years in safety-critical hard-real time systems

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

Using the UML Profile for Schedulability, Performance and Time

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
using the uml profile for schedulability performance and time

Using the UML Profile for Schedulability, Performance and Time

Bruce Powel Douglass, Ph.D.

Chief Evangelist

I-Logix, Inc.

about the author
About the Author
  • 20++ years in safety-critical hard-real time systems
  • Mentor, trainer, consultant in real-time and object-oriented systems
  • Author of
    • Real-Time UML 2nd Edition: Efficient Objects for Embedded Systems (Addison-Wesley, Dec. 1999)
    • Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns (Addison-Wesley, 1999)
  • Advisory Board
    • Embedded Systems Conference
    • UML World Conference
    • Software Development Magazine
  • UML World Advisory Board
  • Co-chair of OMG RTAD Work Group
  • This work is a collaborative development effort by a number of companies and individuals. They include (primary contact, in alphabetical order by company)
    • Alan Moore (Artisan Software Tools, Inc.)
    • Bruce Douglass (I-Logix Inc.)
    • Bran Selic (Rational Software Corporation, Inc.)
    • Morgan Bjorkander (Telelogic AB)
    • Mark Gerhardt (Timesys Corporation)
    • Ben Watson (TriPacific Software)
  • What’s a Profile and Why Do I Care?
  • Overview of the RT Profile Submission
  • General Resource Model
  • Models of Time
  • Concurrency Model
  • Schedulability Model
  • Ongoing Work
  • Using the Profile
  • Work ongoing in the OMG
uml profiles
UML Profiles
  • A UML Profile is a specialized subset of the UML that
    • Is consistent with the UML specification
    • May be constrained to omit portions of the UML or constrain how it is used
    • May include custom or specialized notation
    • Applies to a vertical market or application domain
    • Extends or specializes the UML using the “lightweight extension mechanisms”
      • Stereotypes
      • Tagged Values
      • Constraints
the rt uml profile
The “RT UML” Profile
  • Submitted in response to an OMG RFP
    • RFP for a UML Profile for Schedulability, Performance, and Time (OMG document ad/99-03-13).
    • RFP generated by the Real-Time Analysis and Design Working Group (RTAD) within the OMG
  • Submitters (in alphabetical order):
    • Artisan Software Tools, Inc.
    • I-Logix Inc.
    • Rational Software Corporation, Inc.
    • Telelogic AB
    • Timesys Corporation
    • TriPacific Software
goal of the rt profile
Goal of the RT Profile

Note: The UML is considered to be fully adequate to

model real-time and embedded systems. The profile

is NOT necessary to make UML applicable to real-

time systems.

  • RFP calls for “proposals for a UML profile that defines standard paradigms of use for modeling of time-, schedulability-, and performance-related aspects of real-time systems”
    • Define some standard means to capture real-time modeling concerns
    • Permit exchange of model information between tools, e.g.
      • Between design automation tools
      • Between design automation and schedulability tools
    • Facilitate communication of design intent among engineering staff and other stakeholders
guiding principles
Guiding Principles
  • Do not change the UML unless absolutely required
  • Do not limit the way UML is used.
  • Provide the ability to annotate a UML model to allow for [quantitative] analysis in a standard way.
  • Do not require a deep understanding of applicable analysis techniques, e.g.
    • Rate monotonic analysis
    • Queuing theory
more guiding principles
(More) Guiding Principles
  • Simple analysis should be simple to do. More complex analysis may require more work.
  • Support, but do not restrict modeling to existing techniques.
    • E.g. RMA, DMA
  • Automated tools should be able to influence the UML model.
    • E.g. update priorities of task threads so that they become schedulable
  • Support both model analysis and synthesis
response to the rfp
Response to the RFP
  • RFP was issued by the OMG in March, 1999
  • A consortium of companies formed to respond to the submission
  • The response has been adopted by the OMG in 2001
general approach
General Approach
  • Use light-weight extensions to add standard modeling approaches and elements
    • Stereotypes, e.g. resources
    • Tagged values, e.g. QoS properties
  • Divide submission into sub-profiles to allow easier comprehension and usage of relevant parts
rt profile structure
RT Profile Structure

Technology-specific subprofiles

Required by virtually ALL real-time systems

one person s abstraction is another s concretization
One person’s abstraction is another’s Concretization
  • Models can always be viewed at multiple levels of abstraction
  • Analysis may be need to be done at anyor all of these levels of abstraction
  • There is intrinsic difficulty in maintaining consistency among different levels of abstraction
abstraction levels
Abstraction Levels

{period = 100ms;

Execution time = 10ms;

Priority = 3;

Deadline = 100ms; }



{Execution time = 3 ms;

Deadline = 25ms; }

{Execution time = 1.5 ms;

Deadline = 20ms; }

{Execution time = 1 ms;

Deadline = 5 ms; }

DisplayData Task

Waveform View






Waveform Queue


{Execution time = 4 ms;

Deadline = 40ms; }



{Execution time = 0.5 ms;

Deadline = 5ms; }

{Execution time = 0.5 ms;

Deadline = 5ms; }

basic concepts of the grm
Basic Concepts Of the GRM
  • Resource: a model element that has some finite properties
    • reflects some finite physical quantity
    • may be logical (e.g., buffers) or physical
    • resources offer services (client-server model)
    • need to quantify the demand/supply of services
  • Quality of Service (QoS): limitations on services offered by a resource.
    • a (usually quantitative) specification of:
      • the level of service required by a client from a resource or
      • the level of service offered by a resource to its clients
grm static form
GRM (Static Form)
  • A somewhat simplified view of the relations between resources and clients of those resources
  • Allows general, but not necessarily, detailed quantitative analysis, e.g.
    • Global RMA
grm dynamic
GRM (Dynamic)
  • Takes into account the dynamic behavior for qualitative analysis
  • More detailed, permitting more detailed qualitative analysis
grm dynamic example
GRM (Dynamic) Example

{qosActualExecTime = 2ms}

{qosActualExecTime = 4ms}

3. filterData

2. acquireData

1. sendData

{qosActualExecTime = 7ms}

{qosActualExecTime = 1ms}

4. packetizeData

5. transmitPacket

{qosActualExecTime = 1ms}

  • Select the appropriate stereotypes and tags of the schedulability model to match the kind of analysis desired
    • Global RMA
      • Elements: active objects, resources
      • Tags: execution time, deadline, period, priority, blocking time, priority ceiling
    • Detailed RMA
      • Elements: active objects, resources, actions, events, scenarios, scenario steps, messages
      • Tags: execution time, deadline, period, priority, blocking time, priority ceiling
    • Simulation
      • Depends on particular approach
    • etc
model processing paradigm
Model Processing Paradigm



Tool vendor







model synthesis
Model Synthesis

1 Modeler designs system to meet requirements using standard stereotypes defined in the profile

2 Modeler annotates model with QoS properties using standard tags defined in the profile depending on the kind of analysis desired, for example

  • Priority (e.g. SAPriority)
  • Worst case execution time (e.g. SAWorstCaseExecutionTime)
  • Period (e.g. SAPeriod)
  • Blocking (e.g. SABlockingTime)
  • Deadline (e.g. SADeadline)
model synthesis40
Model synthesis

3a Modeler submits QoS annotated model to model processor

  • This may be written by a schedulability analysis tool vendor and know all the defined stereotypes and tags in the profile

4a Processor munches model

  • Analyses model for schedulability
  • Identifies constraint / allocation violations
  • Suggests changes to QoS annotations to enhance schedulability (may automatically update model)
  • Marks model as schedulable or not

5a Modeler manipulates model QoS properties or model itself to make it schedulable

6a Repeat as necessary

model synthesis41
Model Synthesis

3b Modeler generates application from Model

4b Modeler tests model with test vectors (incl. QoS characteristics)

5b Modeler updates model as necessary

6b Repeat as necessary

7b Modeler delivers system to customer

ropes approach to using rtp
ROPES Approach to Using RTP






















Systems Engineering

Object Analysis


Test interfaces among components and subsystems

Refine object internal details

Test functional and QoS Requirements

Capture Functional & QoS requirements

Refine collaborations by applying design patterns

Define architecture using concurrency and other patterns

Define high level architecture & HW/SW breakdown

Identify semantic “analysis-level” classes to realize Use Case collaborations

ropes requirements analysis
ROPES – Requirements Analysis
  • Use cases organize requirements
  • Two Approaches
    • By example
    • By Specification
  • Detailed Requirements
    • Functional requirements
      • Messages
      • Sequences of messages
      • States
      • Actions and activities
      • Transitions
    • Quality of Service
      • Constraints on any of the above
      • States
ropes systems engineering
ROPES – Systems Engineering
  • Optional – depends on scope of project
  • Defines subsystem architecture (technology independent)
  • For each subsystem
    • Define subsystem-level use cases (derived from system use cases)
      • Functional requirements
      • QoS requirements
    • Define inter-subsystem interfaces
    • Demonstrate adequacy of architecture through execution of elaborated use case scenarios
    • Make hw/sw decomposition to optimize QoS
ropes object analysis
ROPES – Object Analysis
  • For each use case
    • Identify semantic objects collaborating together to realize the use case
    • Test adequacy of collaboration by elaborating use case scenarios with collaboration structure and executing them
    • Use propagation of constraints to decompose use case QoS requirements into performance budgets on operations, messages, states, transitions, actions, etc.
ropes architectural design
ROPES – Architectural Design
  • Apply architectural design pattern in each of the 5 areas of architecture
    • Subsystem and component
    • Concurrency
    • Distribution
    • Safety and Reliability
    • Deployment
ropes concurrency architecture
ROPES – Concurrency Architecture
  • Identify tasks using Task Identification Strategies
  • Define task synchronization / scheduling mechanisms
  • For each task
    • Create an active object
    • Group appropriate semantic (analysis-level) objects into the active object via composition relation
    • Add QoS properties (priority, period,etc)
    • Refine scenarios via elaboration
    • Test concurrency model via execution of elaborated use case scenarios
ropes mechanistic design
ROPES – Mechanistic Design
  • For each collaboration
    • Optimize collaboration against QoS by applying mechanistic design patterns
ropes translation
ROPES – Translation
  • Translate UML model into source level language
    • Automatically (code-gen)
    • Manually
    • Combination
  • Link in legacy source code and components
  • Unit test
    • Functional
    • Operation performance budgets (QoS constraints on operations, actions, messages, etc)
ropes integration test
ROPES – Integration Test
  • Apply Integration Test plan
    • This can be started after subsystem architecture and its interfaces are known
      • Systems Engineering (if present)
      • Architectural Design
    • Demonstrates adherence to architectural design
      • Signature
      • Preconditions / postconditions
      • QoS contracts (required QoS vs offered QoS)
ropes validation test
ROPES – Validation Test
  • Tests against requirements
    • Known after Requirements Analysis
    • Use case scenarios translate into test vectors
    • Test Both
      • Functional Requirements
      • QoS requirements
work ongoing
Work Ongoing
  • An RFP is currently being written in RTAD to address non-time related QoS, e.g. fault tolerance, safety, reliability, etc.
  • Action Semantics submission should be submitted by this time
  • A total of 3 UML 2.0 RFPs are released and submissions work is underway.
    • Infrastructure (internal metamodel stuff)
    • Superstructure (modeler-visible stuff)
    • OCL
  • XMI standard RFP release to include diagram and notation
some references of interest
Some References of Interest
  • Douglass, Bruce Powel Doing Hard Time: Developing Real-Time Systems With UML, Objects, Frameworks and Patterns Addison-Wesley, 1999
  • Douglass, Bruce Powel Real-Time UML 2nd Edition: Developing Efficient Objects for Embedded Systems Addison-Wesley, 1999
  • Douglass, Bruce Powel Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems Addison-Wesley, 2002
  • OMG Documents (
    • Response to the OMG RFP for Schedulability, Performance, and TimeVersion 1.1 (OMG Document ad/2000-08-04)
    • OMG RFP for a UML Profile for Schedulability, Performance, and Time (OMG document ad/99-03-13)
    • UML 2.0 Infrastructure RFP ( OMG Document ad/2000-09-01)
    • UML 2.0 OCL RFP (OMG Document: ad/2000-09-03)
    • UML 2.0 Superstructure RFP (OMG Document: ad/00-09-02)
    • OMG Unified Modeling Language Version 1.4