Real time systems and the uml
Download
1 / 25

Real-time systems and the UML - PowerPoint PPT Presentation


  • 157 Views
  • Uploaded on

Real-time systems and the UML. Morgan Björkander ([email protected]). Outline. Setting the stage UML 2.0 RFPs Influences Issues Real-time UML On the horizon. Application domains. Soft real-time systems event-driven asynchronous concurrent distributed Application areas telecom

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

PowerPoint Slideshow about ' Real-time systems and the UML' - barton


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
Real time systems and the uml

Real-time systems and the UML

Morgan Björkander

([email protected])


Outline
Outline

  • Setting the stage

  • UML 2.0

    • RFPs

    • Influences

    • Issues

  • Real-time UML

  • On the horizon


Application domains
Application domains

  • Soft real-time systems

    • event-driven

    • asynchronous

    • concurrent

    • distributed

  • Application areas

    • telecom

    • automotive

    • aerospace


The unified modeling language
The Unified Modeling Language

  • UML is managed by the Object Management Group (OMG)

    • the language makes no provisions for real-time

  • The real-time analysis and design working group

    • promotes real-time issues for UML

    • uses profiles to tailor the capabilities of UML

standardization work


Some concerns

Application

Some concerns

Architecture

Performance

Concurrency

Scheduling

Resources

Time


Real time profiles of the uml

Performance

Time

Scheduling

UML 2.0

Fault tolerance

Large-scale systems

QoS

Real-time profiles of the UML

UML

- SDL

- UML-RT (ROOM)


Uml 2 0

Superstructure

OCL

Diagram Interchange

- Architecture (scalability and component-based-development)

- Workflow (state machines and activity graphs)

- Interaction (augmentation with Message Sequence Charts)

- Action semantics (integration)

- Collaboration (simplification)

- Relationships

UML 2.0

Infrastructure

- Kernel language (core)

- Extensions (profiles)


Inspiration sources for uml 2 0
Inspiration sources for UML 2.0

  • SDL (Specification and Description Language)

    • architecture

    • state machines

    • executability

  • MSC (Message Sequence Charts)

    • decomposition

    • variations (inline expressions)

    • references

    • organization

  • ROOM (Real-time Object-Oriented Modeling)

    • architecture (UML-RT)

UML 2.0

SDL

MSC


Visual modeling
Visual modeling

  • Round-trip engineering

    • consistency between models, code, and application

    • maintenance

      • code is king

  • Models with code inserted

    • fragmentation

    • target language dependent

      • portability


Add executability
Add executability

  • Executable models

  • Visual modeling

  • Behavioral modeling

    • action language

    • data model

  • Run-time semantics

  • Configuration

    • build scripts

    • realization mappings

      • deployment


Visual software engineering
Visual software engineering

iteration

  • Express functionality in the model

    • check the correctness of the model

      • validation

      • simulation

      • verification

      • testing

  • Transform the model into code

    • forward engineering

      • round-trip superfluous

      • reverse engineering required to capture legacy and integrations

    • automatic and complete

      • configurable

    • target language independent

      • transport mechanisms selectable

    • the documentation is the model is the code


Logical components
Logical components

  • A logical component (agent, capsule)

    • is an active class

    • provides encapsulation

      • a ”black box”

      • hierarchical decomposition

      • internal structure

      • behavior

    • has interfaces

  • Used as building blocks

    • top down

      • divide and conquer

    • bottom up

      • like lego


Encapsulation

Customer

Keyboard

Display

Display, Shutdown

Operator

Log, Verify, Transaction

Encapsulation

«interface»

Display

  • Logical components use connection points (gate, port)

    • to provide bi-directional access points without exposing the internal structure

    • each connection point provides its own view of the logical component

  • The connection points specify contracts in the form of interfaces (interface, protocol, protocol role)

    • implemented interfaces

      • services that are realized by the logical component

    • required interfaces

      • services that others must implement

«interface»

Keyboard

«interface»

Log

ATM


Connection requirements

:ATM

Operator

Operator

C2

C1

Terminal

Display

Terminal

Terminal

Log, Transaction

Visa:Bank

MC:Bank

Connection requirements

  • Connection points specify how instances of logical components may be connected to each other (channel, connector)

    • it it only possible to connect logical components that have matching required and implemented interfaces

  • The connections describe communication paths

Bank


Internal structure and behavior

Bank

ATM

Log

ctrl(1..1):

Controller

db(1..1):

DataBase

Log

Bank

S1

e3

e2

e1

Display

Display

Terminal

Terminal

S2

Log, Transaction

Log, Transaction

Internal structure and behavior

Bank


Dynamic decomposition aspects
Dynamic decomposition aspects

Switch

  • A state machine controls the internal structure

    • may be implicit

    • interacts with contained logical components as well as external logical components

  • Initialization of internal structure

    • start configuration

  • Life-cycle dependencies

    • creation

    • termination

  • Multiplicity constraints

Setup

Switch

Initiate

Phone

basic(0..*):

Call

Phone

Control

Trigger

service(1..1):

Library


Communication mechanisms

To-based communication

relies on object-references

interfaces provide typed object references to logical components

object references may be obtained through

creation of logical components

parameters of received messages

naming service (or similar)

Via-based communication

relies on structure

usually via connection points

Communication mechanisms

// pseudo code: via

Port aPort = ...;

send sig1 via aPort;

aPort.send(sig1);

// pseudo code: to

Client aClient = ...;

send sig1 to aClient;

aClient.send(sig1);


Transition centric state machines

Dummy

i = 0

S1

S2

e1

e2

e3

e1

i = i + 1

i

[5]

[else]

e3

e1

e2

S2

S1

Transition-centric state machines

Dummy

S1

e3

e2

e1

S2

state-centric view


Sequence diagrams

seq

init

a

b

c

Sequence diagrams

  • Decomposition

    • collapsed views

  • Variations (inline expressions)

    • parallelism, alternatives

    • loops, optionality, exceptions

  • Sequence diagram references

  • High-level sequence diagrams

    • organizing sequence diagrams


Performance scheduling and time
Performance, scheduling, and time

  • The first of the real-time UML profiles

    • Initial submission August 2000

    • Revised (final) submissions due this summer

  • Major areas of concern

    • Schedulability analysis

      • the ability of a system to meet its deadlines

    • Performance analysis

      • the response of the system under different conditions

    • Time

    • Concurrency

    • Realization mappings

      • deployment


Realization mappings
Realization mappings

Functions

Logical

view

Engineering

view


Quantitative aspects
Quantitative aspects

  • There are many quantitative concerns when a logical viewpoint is mapped on top of an engineering viewpoint

    • Will we get the right performance?

    • How much memory can we afford to use?

    • Is the throughput sufficient?

    • Do we need additional resources?

  • Should we add resources or cut functionality?

  • These quantitive aspects are captured as Quality of Service (QoS)


On the horizon embedded uml
On the horizon: Embedded UML

  • A UML profile for hardware and software co-design

  • Delay implementation decisions

    • virtual integration by focusing on functionality

  • Several system-level design languages could be brought together by UML

    • SystemC, SpecC, etc.

      • These languages primarily provide abstractions of existing programming languages to model ports, interfaces, channels, state machines, etc.

    • require additions/modifications to the UML

      • abstractions

      • communication mechanisms (buses, broadcasts, synchronization)

      • realization mappings (deployment)

      • non-functional requirements ($)

  • Visual Systems Engineering


On the horizon testing
On the horizon: Testing

  • A UML profile for testing

    • UML notation (primarily sequence diagrams)

      • strong relationship to TTCN-3, which is a language dedicated to testing

      • conformance, robustness, regression, system, and integration testing

    • Verification of functionality of object-oriented/component-based systems, primarily from a conformance point of view

    • Definition of test cases, and how they are collected in test suites

    • Setting up, executing, and evaluating tests



ad