+ All Categories
Home > Documents > Real-time systems and the UML

Real-time systems and the UML

Date post: 01-Feb-2016
Category:
Upload: barton
View: 31 times
Download: 0 times
Share this document with a friend
Description:
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 - PowerPoint PPT Presentation
Popular Tags:
25
Real-time systems and the UML Morgan Björkander ([email protected])
Transcript
Page 1: Real-time systems and the UML

Real-time systems and the UML

Morgan Björkander

([email protected])

Page 2: Real-time systems and the UML

2

Outline

• Setting the stage

• UML 2.0

– RFPs

– Influences

– Issues

• Real-time UML

• On the horizon

Page 3: Real-time systems and the UML

3

Application domains

• Soft real-time systems

– event-driven

– asynchronous

– concurrent

– distributed

• Application areas

– telecom

– automotive

– aerospace

Page 4: Real-time systems and the UML

4

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

Page 5: Real-time systems and the UML

5

Application

Some concerns

ArchitectureArchitecture

PerformancePerformance

ConcurrencyConcurrency

SchedulingScheduling

TimeTime

ResourcesResources

Page 6: Real-time systems and the UML

6

Real-time profiles of the UML

UMLUML

PerformancePerformance

SchedulingSchedulingTimeTime

Fault toleranceFault tolerance

QoSQoS Large-scale systemsLarge-scale systems

UML 2.0UML 2.0

- SDL

- UML-RT (ROOM)

Page 7: Real-time systems and the UML

7

UML 2.0

InfrastructureInfrastructure

OCLOCL Diagram InterchangeDiagram Interchange

- Kernel language (core)

- Extensions (profiles)

SuperstructureSuperstructure

- Architecture (scalability and component-based-development)

- Workflow (state machines and activity graphs)

- Interaction (augmentation with Message Sequence Charts)

- Action semantics (integration)

- Collaboration (simplification)

- Relationships

Page 8: Real-time systems and the UML

8

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.0UML 2.0

SDLSDL

MSCMSC

Page 9: Real-time systems and the UML

9

Visual modeling

1. Round-trip engineering

– consistency between models, code, and application

– maintenance• code is king

2. Models with code inserted

– fragmentation

– target language dependent• portability

Page 10: Real-time systems and the UML

10

Add executability

3. Executable models

• Visual modeling

• Behavioral modeling

– action language

– data model

• Run-time semantics

• Configuration

– build scripts

– realization mappings• deployment

Page 11: Real-time systems and the UML

11

Visual software engineering

• 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

iteration

Page 12: Real-time systems and the UML

12

• 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

Logical components

Page 13: Real-time systems and the UML

13

Encapsulation

• 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

ATM

«interface»

Display «interface»

Keyboard «interface»

Log

Display

CustomerKeyboard

OperatorLog, Verify, Transaction

Display, Shutdown

Page 14: Real-time systems and the UML

14

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

:ATM

Operator

Visa:Bank

Terminal

C1

Bank

Terminal Log, Transaction

Display

MC:Bank

Operator

Terminal

C2

Page 15: Real-time systems and the UML

15

Internal structure and behavior

Bank

Bank

S1

S2

e2 e3e1

Terminal Log, Transaction

Display

Bank

Terminal Log, Transaction

Display

ctrl(1..1):Controller

db(1..1):DataBase

LogATM

Log

Page 16: Real-time systems and the UML

16

Dynamic decomposition aspects

• 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

Switch

Switch

basic(0..*):Call

service(1..1):Library

Initiate

Trigger

Control

Setup

Phone

Phone

Page 17: Real-time systems and the UML

17

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

// pseudo code: to

Client aClient = ...;

send sig1 to aClient;

aClient.send(sig1);

// pseudo code: via

Port aPort = ...;

send sig1 via aPort;

aPort.send(sig1);

Page 18: Real-time systems and the UML

18

Transition-centric state machines

Dummy

S1

S2

e2 e3e1

state-centric view

S1

S2

e1 e2

S2

e3

S1

i = i + 1

e1

e1

Dummy

e2

i = 0

e3

i[5] [else]

Page 19: Real-time systems and the UML

19

Sequence diagrams

• Decomposition

– collapsed views

• Variations (inline expressions)

– parallelism, alternatives

– loops, optionality, exceptions

• Sequence diagram references

• High-level sequence diagrams

– organizing sequence diagrams

seq

init

a b c

Page 20: Real-time systems and the UML

20

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

Page 21: Real-time systems and the UML

21

Realization mappings

Functions

Logical

view

Engineering

view

Page 22: Real-time systems and the UML

22

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)

Page 23: Real-time systems and the UML

23

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

Page 24: Real-time systems and the UML

24

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

Page 25: Real-time systems and the UML

25

Now it is your turn

• Questions


Recommended