Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El...

40
www.omgmarte.org Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio Medina ([email protected]) Universidad de Cantabria Máster en Ingeniería Informática

Transcript of Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El...

Page 1: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real)

Julio Medina([email protected])

Universidad de Cantabria

Máster en Ingeniería Informática

Page 2: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

2

Acknowledgment

This presentation reuses and extends material prepared by the ProMARTE partners for the OMG

The initial presentation (realtime/07-03-14) is available to OMG members

Requirements related material has been reused from Using MARTE and SysML for Modeling Real-Time Embedded Systems, presented by Huascar Espinoza in International School for model-driven design for distributed real-time embedded systems

Page 3: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

4

Introducing MARTE

“The UML profile for MARTE addresses modeling and analysis of real-time and embedded systems, including their software and hardware aspects”

Key features Provides support for non-functional property modeling Adds rich time and resource models to UML Defines concepts for software and hardware platform modeling Defines concepts for allocation of applications on platforms Provides support for quantitative analysis (e.g. scheduling, performance) Complies with UML 2.1 and other existing OMG standards Replaces the UML SPT profile 1.1

MARTE specification adopted in June 2007 Current version available: http://www.omg.org/cgi-bin/doc?formal/2011-06-02 A Revision Task Force is currently updating it to its 1.2 version. The community reflects now about requirements for a new MARTE 2.0 version

Page 4: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

7

Identifying the System’s level of abstraction?

Domain in Embedded Systems Development

Abs

trac

tion

Leve

l

Softw

are

Elec

tron

ics

Mec

hani

cs

Con

trol

Systems Engineering

Legend:

Artifact Dependencies:Relations among domain-specific artifacts and system-level artifacts

Development Artifacts:Design artifactsProduct artifacts

… … …

Business Process…

Artifacts of varying abstractions and engineering domains

SysMLM

AR

TE

Page 5: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

Identifying the modelling level

Meta object facilities Self-descripting sub-set

Meta-models Models of Languages

and dialects

Models Abstract view of a reality

sufficient to understand it

Objects Real (or close to real)

representation of a physical entity

MARTE is a Profile that Extends the UML Meta-model8

Profiles

Page 6: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

9

MARTE domain model

MarteFoundations

MarteAnalysisModelMarteDesignModel

Foundations for RT/E systems modeling and analysis: CoreElements NFPs Time Generic resource modeling Allocation

Specialization of foundations for annotating model for analysis purpose: Generic quantitative analysis Schedulability analysis Performance analysis

Specialization of MARTE foundations for modeling purpose (specification, design…): Generic component model High-level application modeling Software resource modeling Hardware resource modeling

MARTE Overview

Page 7: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

Requirements Engineering and UML

“The process by which the requirements for systems and software products are gathered, analyzed, documented, and managed throughout the development life cycle”

UML has traditionally been used to document requirements by means of Use Case diagrams:Lack of well defined semantics.Limitations for managing traceability.Useful for functional requirements, but not precise enough

for non-functional requirements

SysML and MARTE provide some improvements in these aspects…

From: Using MARTE and SysML for Modeling Real-Time Embedded Systems, presented by Huascar Espinoza in International School for model-driven design for distributed real-time embedded systems

12

Page 8: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.orgModeling Requirements with SysML

Explicitly model requirements relationships:Between requirements (e.g. Refine)Between requirements and architectural solutions (e.g.

Satisfy)

Keep traceability with specialized tools:E.g. Requisite Pro, Rectify, or DOORS Support for traceability analysis, flow-down, derivation,

assignment, etc.

13

Page 9: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

Basic Functional Requirements (Use Cases) Papyrus UML

14

Page 10: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

Basic Requirements (SysML)Papyrus UML

15

Page 11: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

16

«requirement»Master Cylinder Efficacy

«requirement»LossOfFluid

«requirement»Reservoir

«satisfy»

«refine»body = “This design of the brake assembly satisfies the federal safety requirements.”

id = “S5.4.1a”text =”Prevent complete loss of fluid”

id = “S5.4.1b”text = "Separate reservoir compartment”

id = “S5.4.1”text =”A master cylinder shall have a reservoir compartment for each service brake subsystem serviced by the master cylinder.Loss of fluid from one compartment shall not result in a complete loss ofbrake fluid from another compartment.”

«rationale»body = “The best-practice solution consists in using a set of springs and pistons to confine the loss to a single compartment”

«rationale»body = “The best-practicesolution consists in assigning one reservoir per brakeline.”

«deriveReqt» «deriveReqt»

«block»BrakeSystem

f: FrontBrake r: Rear Brakel1: BrakeLine l2: BrakeLinem: MasterCylinder

activateBrake() releaseBrake()

SatisfiedByBrakeSystem::l1 BrakeSystem::l2

SatisfiedByBrakeSystem::m

.

req MasterCylinderSafety

Decelerate Car

«rationale»

Links between requirements and design (SysML Example)

Taken from Figure 16.3 in SysML Specification – OMG Document formal/15-06-03.pdf

Page 12: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

Modeling Non-Functional Aspects with MARTE

NFPs Modeling Framework:Measurements: magnitude + unit (e.g., energy, data size,

duration) Value Qualifiers: Value source, statistical measure, value

precision,…

Value Specification Language (VSL):Mathematical expressions (arithmetic, logical,…) Time expressions (deadlines, periods, trigger conditions,…) Variables: placeholders for unknown parameters.

Why we need this level of formalization? Ability to support automated validation & verification. Unambiguous understanding by stakeholders

17

Page 13: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

Example: VSL Timing Constraints

Sd DataAcquisition

:Controller :Sensor

acquire() { d1<=(1, ms) }

sendData (data) { [(0, ms)..(10, ms)] }

ack()

@t2

{ [d1..30*d1] }

&d1

constraint1= { (t0[i+1] - t0[i]) > (100, ms) }constraint2= { (t3 when data<5.0) < t2+(30, ms) }

start() { jitter(t0)<(5, us) }

@t0

{ ]t1..t1+(8, ms)] }

@t3

@t1

Instant Interval Constraint

Extended duration

intervals with bound « [ ] » specification

Jitter constraint

Duration expression between two sucessive

occurrencesConstraint in an

observation with condition expressionSpecification example in Sequence diagrams…

Duration Observation

18

Page 14: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

19

Non-Functional Properties (NFP)

Formalize a number of ideas existing in SPT and QoS&FT From the SPT profile

e.g. Tag Value Language (variables, math. expressions) and time-related values

From the QoS&FT profile e.g. Property Qualifiers

Add new modeling constructs required for MARTE e.g. tuple and choice values, time expressions and unit

measurements conversion NFP modeling required general extensions to UML tools

e.g. value expressions editing and data type checking This is a key feature in DRES modeling that UML lacks

Page 15: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

20

Organization of NFP constructs

2) Declaration of NFPs1) Value Spec. Lang. (VSL) 3) Annotation Mechanism

Abstract Syntax Concrete Syntax

VSL Definition

« execHost »MasterRTU

{ procRate=(1.0, @pRm),clock= (2.0, us) }

« NFP_Constraint »{kind=required}

{pRm > 10*pRs}

« execHost »SlaveRTU{ procRate=@pRs,

clock= (2.0, us) }

Tagged Values

Constraints« profile »SAM

« modelLibrary »NFP_Types

« import »

« modelLibrary »BasicMeasurementUnits

« modelLibrary »Basic_NFPTypes

« profile »PAM

« import »

« profile »Hardware

« import »

...

To define, qualify measures (measurement units, source, statistical nature…) and organize NFPs

1. Tagged values2. Constraints3. Direct specification in

UML models by using NFP types library

Exact notation for values: extended Literals, Intervals, Tuples, Choices, Variables, Complex and Time Expressions

Page 16: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

21

Examples of textual expressions

+ additional constructs to reference UML properties and time observations

Value Spec. ExamplesReal Number 1.2E-3 //scientific notation

DateTime #12/01/06 12:00:00# //calendar date time

Collection {1, 2, 88, 5, 2} //sequence, bag, ordered set..{{1,2,3}, {3,2}} //collection of collections

Tuple and choice (value=2.0, unit= ms) //duration tuple valueperiodic(period=2.0, jitter=3.3) //arrival pattern

Interval [1..251[ //upper closed interval between integers[@A1..@A2] //interval between variables

Variable declaration & Call

io@var1 //input/output variable declarationvar1 //variable call expression.

Arithmetic Operation Call

+(5.0,var1) //”add” operation on Real datatypes5.0+var1 //infix operator notation

Conditional Expression

(($var1<6.0)?(10^6):1) //if true return 10 exp 6,else 1

Page 17: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

22

Examples of NFP annotations

NFP_ExampleWithProperties

«nfp» speedFactor: NFP_Real (percent, increas)«nfp» contextSwitch: NFP_Duration (max)

Controller

speedFactor= ($MasterRate*0.25)contextSwitch= (8, us, meas)

uC2: Controller

Use of NFPs with stereotypes:

Use of NFPs as M1 level properties:

« profile »SchedulabilityAnalysisModeling

« modelLibrary »Basic_NFP_Types

« import »

« apply »speedFactor: NFP_Real= (statisticalQ= percent, direction= increas)contextSwitch: NFP_Duration= (statisticalQ= max)

« stereotype »ExecutionHost

« metaclass » UML::InstanceSpecification

UserModelForSchedulabilityAnalysis

« executionHost »speedFactor= (expr= $MasterRate*0.25)contextSwitch= (value= 8, unit= us, source= meas)

« executionHost » uC: Controller

Page 18: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

23

Time modeling

The Time model introduced in MARTE completes the features provided by the SimpleTime package of UML 2

Basic ideas Any element related to time may explicitly refer to a clock Time is multiform (not limited to “physical” time) Support distribution, clock uncertainties Design vs. Runtime clocks

What are the domain concepts? Events → TimedEvent Behaviors and Actions → TimedProcessing Constraints → TimedConstraint Observations → TimedObservation

Page 19: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

24

Time modeling (cont’d)

Time Structure Made of several clocks

Clock A totally ordered set of instants Access to instant value and duration with units

Relations on Clocks Expression → ClockConstraint Reflect causality (from algorithm and allocations)

nature

isLogical

discrete dense

Logical clock Not usedtrue

Chronometric clockfalsediscrete dense

+ optional • set of properties• set of operations

Stereotype properties:Special semantics

Page 20: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

25

Example of a time constraint

:Pilot :HMI : EngineControl:Trajectory:Supervision

receiveCommandupdateRoute

compute

control

@start

@stop

<<timedConstraint>>(stop – start) < (100, ms)

<<timeInstantObservation>>

<<timeInstantObservation>>

{interpretation = duration}{kind = required}{on = idealClock}

{on = idealClock}

{on = idealClock}

A UML::TimeObservation stereotyped as <<timeInstantObservation>> that has a reference to a clock

A <<timedConstraint>> that references time observations to specify a duration constraint

Page 21: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

26

General Resource Modeling

GRM

ResourceCore

ResourceTypes

ResourceManagement Scheduling

ResourceUsages

Resource offers Services and may have NFPs for its definition and usage

Shared resources, scheduling strategies and specific usages of resources (like memory consumption, computing time and energy) may be annotated.

A rich categorization is provided: Storage, Synchronization, Concurrency, Communication, Timing, Computing, and Device Resources may be defined.

Page 22: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

27

Example of resource modeling

<<ComputingResource>>{processingRate=1.0}

NT_Station

<<ComputingResource>>{processingRate=0.6}

ControllerCAN_Bus

<<Device>>{processingRate=1.0}

Robot Arm

VME_Bus

<<CommunicationMedia>>{processingRate=1.0}

<<CommunicationMedia>>{processingRate=8.5}

<<Storage>>{elementSize=1024x1024x8,

maxRI=256}

Page 23: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

29

Architecture of the MARTE specification

MARTE domain model

MarteFoundations

MarteAnalysisModelMarteDesignModel

Foundations for RT/E systems modeling and analysis: CoreElements NFPs Time Generic resource modeling Allocation

Specialization of foundations for annotating model for analysis purpose: Generic quantitative analysis Schedulability analysis Performance analysis

Specialization of MARTE foundations for modeling purpose (specification, design…): Generic component model High-level application modeling Software resource modeling Hardware resource modeling

Page 24: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

32

High-level application modeling

Provides high-level concepts for modeling qualitative real-time features Real-Time Unit (RTUnit)

Generalization of the Active Objects of the UML 2 Owns at last one schedulable resource Resources are managed either statically (pool) or dynamically May have operational mode description (similar to AADL concept)

Protected Passive Unit (PPUnit) Generalization of the Passive Objects of the UML2 Supports different concurrency policies (e.g. sequential, guarded) Policy are specified either locally or globally Execution is either immediateRemote or deferred

Page 25: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

33

High-level application modeling (cont’d)

Provides high-level concepts for modeling quantitative real-time features Real-Time Behavior (RtBehavior)

Message Queue size and policy bound to a provided behavior

Real-Time Feature (RTF) Extends UML Action, Message, Signal, BehavioralFeature Relative/absolute/bound deadlines, ready time and miss ratio

Real-Time Connector (RteConnector) Extends UML Connector Throughput, transmission mode and max blocking/packet Tx time

Page 26: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

34

Usage examples of the HLAM extensions

act start

« rtf »tgSpeed = spm->getSpeed()

@t0 {kind=startAction}

occKind = aperiodic ()value = (tRef=t0, relDl=(10, ms), miss=(1, %, max))

CruiseControlSystem

getSpeed(): Speed

« ppUnit »{concPolicy=guarded}

Speedometer

«rtService» {exeKind=deferred} start()«rtService» {exeKind=deferred} stop()

tgSpeed: Speed

« rtUnit »CruiseControler

1spm

« dataType »Speed

startDetection()stopDetection()

« rtUnit »ObstacleDetector

1spm

isDynamic = falseisMain = falsepoolSize = 10poolPolicy = create

isMain = truemain = start

Page 27: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

41

Analysis with MARTE

MARTE domain model

MarteFoundations

MarteAnalysisModelMarteDesignModel

Foundations for RT/E systems modeling and analysis: CoreElements NFPs Time Generic resource modeling Allocation

Specialization of foundations for annotating model for analysis purpose: Generic quantitative analysis Schedulability analysis Performance analysis

Specialization of MARTE foundations for modeling purpose (specification, design…): Generic component model High-level application modeling Software resource modeling Hardware resource modeling

Page 28: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

42

General Quantitative Analysis Model

GQAM updates SPT Alignment on UML2 Harmonization between two SPT subprofiles: sched. and perf. Extension of timing annotations expressiveness

Overheads (e.g. messages passing) Response times (e.g. BCET & ACET) Timing requirements (e.g. miss ratios and max. jitters)

Main concepts common for quantitative analysis Resources Behavior Workload All embedded in an analysis context (may have analysis

parameters)

Page 29: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

43

Dependencies and architecture of GQAM

GQAM Common concepts to be used by analysis sub-profiles

SAM Modeling support for schedulability analysis techniques.

PAM Modeling support for performance analysis techniques.

GenericQuantitativeAnalysisModeling (GQAM)

SchedulabilityAnalysisModeling (SAM) PerformanceAnalysisModeling (PAM)

GenericResourceModel (GRM)Time

<<import>>

<<import>>

<<import>>

<<import>>

Page 30: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

44

From design to analysis

Workload Behavior Models (PIM)

Annotated BehaviorModels

Specify Parameterized

Analysis Context ModelAnnotate

ResourcesModels

Resources PlatformModels (PDM)

24

Non-functional values for specific analysis contexts

6Design Phase

Analysis Tools

Ana

lysi

s Fi

le 5Des

ign

Mod

els 1

Determine Desired NFPs of Interest (given and predicted parameters)

Analysis Context3

Page 31: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

45

Processing schema for model-based analysis

Analysis specific framework

UML2 + Marte

UML2 editor

Annotated model

« profile »

MARTE

Result/Diagnosticmodel Analysis results

Analysis tool

Analysis modelModelconverter

Resultsconverter

Page 32: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

46

Schedulability Analysis Model

Modeling for analysis techniques taking into account scheduling aspects

Provides high-level analysis constructs Sensitivity analysis, parametric analysis Observers for time constraints and time predictions at analysis context

level Supports most common sched. analysis techniques

RMA-based, holistic techniques and modular techniques

MARTE::SAM

SAM_Workload SAM_Resources« import »

SAM_Observers« import »

GQAM::AnalysisContext

workloadBehavior1 1 resourcesPlatform

GQAM_Workload::WorkloadBehavior

GQAM_Resources::ResourcesPlatformisSchedulable: NFP_Boolean

SaAnalysisContext

Page 33: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

47

Workload Modeling Example« workloadBehavior »

Act NormalMode

« en

d2en

dFlo

w »

{ end

2end

D=

(5, m

s) }

Con

trolS

ervo

s

« requestEventStream »{ type=Pattern,

periodic (period= (5, ms)) }ControlTrigg

« en

d2en

dFlo

w »

{ end

2end

D=

(100

, ms)

}R

epor

tPro

cess

« requestEventStream »{ type=Pattern,

periodic (period= (100, @pR, ms)) }ReportTrigg

« en

d2en

dFlo

w »

{ end

2end

D=

(1, s

) }E

xecu

teC

omm

and

« requestEventStream »{ type=Pattern,

periodic (period= (1, s)) }ReportTrigg

«behaviorScenario»{ respTime= (@r1, ms),

utilization= @u1,execTime= (@e1, ms) }

Control

«behaviorScenario»{ respTime= (@r2, ms),

utilization= @u2,execTime= (@wcet1, max, ms) }

Report

«behaviorScenario»{ respTime= (@r3, ms),

utilization= @u3,execTime= (@e3, ms) }

Command

EndToEndFlow (end2end

deadlines and predicted times)

BehaviorScenario (response times, hosts

utilization…)

Workload Behavior maps to Behavior

Event Streams(arrival patterns)

Page 34: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

48

Resources Platform Modeling Example« resourcesPlatform »

TeleoperatedRobot_Platform

« saExecHost »{ processingRate= (1.0)

clockOverhead= (7, us, meas)contextSwitchTime= (5, us, meas)

ISRswitchT= (2.5, us, meas)schedPriorityRange= ([0..30], determ)

ISRPrioRange= ([31..31], determ) }: Controller

« saCommHost »{ transMode= Half-Duplex

processingRate= (@prCAN)blockingTime= (111, us, max, meas)

packetTime= (64, us, calc) }: CAN_Bus

« saExecHost »: Station

« saExecHost »: RobotArm

« schedulableResource »{ fp (priority= 16) }

: CommandManager

« scheduler »{ schedPolicy= FixedPriority }: RTOS_Scheduler

« schedulableResource »{ fp (priority= 30) }

: ServosControllerTask

« schedulableResource »{ fp (priority= 24) }

: Reporter

« schedulableResource »{ fp (priority= 31) }

: ControllerComm

« schedulableResource »{ fp (priority= 24) }

: MsjStatus

« schedulableResource »{ fp (priority= 24) }

: MsjCommand

« schedulableResource »{ fp (priority= 22) }

: DisplayRefresherTask

: VME_Bus

«allocate»

«allocate»

«allocate»

«allocate»

«allocate»

«allocate»

«allocate»

Processing Hosts (exec. and comm. overheads, throughput, scheduling features)

Sched. Resources (sched. parameters)

Schedulers (sched. parameters)

Page 35: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

49

Sched. Analysis Context Example

«variable» {direction= inout} isSched_System: NFP_Boolean= isSchSys«variable» {direction= inout} wcet_Report: NFP_Duration= wcet1«variable» {direction= inout} procRate_CAN: NFP_Real= prCAN«variable» {direction= inout} period_Report: NFP_Duration= pR

«saAnalysisContext»{ isSched= (@isSchSys) }

TeleoperatedRobotSAM

isSched_System= (true, req)wcet_Report= (50, @v1, ms, max, calc)procRate_CAN= (0.2, @v2, min, calc)period_Report= (10, @v3, ms, min, calc)

«saAnalysisContext»SensitivityAnalysis: TeleoperatedRobotSAM

isSched_System= (true, @v0, calc)wcet_Report= (5, ms, determ)procRate_CAN= (1, determ)period_Report= (30, ms, determ)

«saAnalysisContext»Schedulability: TeleoperatedRobotSAM

« workloadBehavior »: NormalMode

« resourcesPlatform »: TeleoperatedRobot_Platform

Instance of a WorkloadBehavior

model

Context under Analysis

Sensitivity Analysis context

Simple Schedulability

Analysis context

Context-specific variables

Page 36: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

50

Performance Analysis Model

Specializes some GQAM stereotypes and reuses others Workload

specialized: PaRequestEventStream, PaWorkloadGenerator, PaEventTrace

Behaviour reused: BehaviorScenario, AcqStep, RelStep specialized: PaStep, PaExecStep, PaCommStep, ResPassStep,

RequestedService Resources

Reused: ExecHost, CommHost, CommChannel Specialized: PaProcess

Supports most common performance analysis techniques Queueing Networks and extensions, Petri Nets, simulation

UML + MARTE models should contain Structural view: software architecture and deployment Behavioral view: key performance scenarios

Page 37: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

51

Example: deployment

«execHost»dbHost:

{commRcvOverhead = (0.14,ms/KB),commTxOverhead = (0.07,ms/KB),maxRI = 3}

«execHost»ebHost:

{commRcvOverhead = (0.15,ms/KB),commTxOverhead = (0.1,ms/KB),maxRI = 5}

«execHost»webServerHost:

{commRcvOverhead = (0.1,ms/KB),commTxOverhead = (0.2,ms/KB)}

«commHost»internet:

{blockingTime = (100,us)}

«deploy» «deploy»

: Database: WebServer

«artifact»webServerA

: EBrowser

«artifact»ebA

«artifact»databaseA

«deploy»

«manifest»«manifest»«manifest»

«commHost»lan:

{blockingTime = (10,us),capacity = (100,Mb/s)}

Page 38: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

52

Example: simple scenario

«paProcess»webServer: WebServer{maxRI = (webthreads=80),component = webserver}

«paProcess»database: Database{maxRI = (dbthreads=5),component = database}

eb: EBrowser

«paExecStep»«paCommStep»

2:

{hostDemand = (12.4,ms),repetitions = (1.3,-,mean),msgSize = (2,KB)}

«paCommStep»

4:

{msgSize = (75,KB)}

«paCommStep»

3:

{msgSize = (50,KB)}

«paExecStep»

«paRequestEventStream»

1:

{PWorkloadKind = open,openIntArrTime = exp(17,ms),hostDemand = 4.5,ms,

«paCommStep»

msgSize = (1,KB)}

Page 39: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

54

Conclusion

MARTE is the OMG specification for Modeling and Analysis Real-Time and Embedded systems

It provides extensions to UML for modeling non-functional properties, time and resources, software and hardware execution platforms and allocations. MARTE enables model-based quantitative analysis, including schedulability and performance

Eclipse-based open-source implementation is available Papyrus for MARTE (http://www.papyrusuml.org) Marte to MAST (http://mast.unican.es/umlmast/marte2mast)

Ongoing efforts to align parts of MARTE with fUML

It is possible to revise and enhance it MARTE 2.0 is coming…

Page 40: Modelado de Requisitos con UML y MARTE - unican.es · Modelado de Requisitos con UML y MARTE (El perfil UML para el modelado y análisis de sistemas empotrados y de tiempo real) Julio

www.omgmarte.org

55

References

OMG MARTE web site http://www.omgmarte.org

UML profile for MARTE http://www.omg.org/cgi-bin/doc?formal/2011-06-02

UML 2 Superstructure http://www.omg.org/cgi-bin/doc?formal/07-02-05