Sébastien Gérard ([email protected]) CEA Tech / LIST, France Bran Selić ([email protected]) Note: this presentation is based on a full day tutorial presentation on MARTE prepared in collaboration with Bran Selic. Ecole Temps-Réel 2015 Rennes, August 24th To 28th 2015
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Note: this presentation is based on a full day tutorial presentation on MARTE prepared in collaboration with Bran Selic.
Ecole Temps-Réel 2015 Rennes, August 24th To 28th 2015
TUTORIAL OVERVIEW
| PAGE 2
• WHAT, WHY, AND HOW
• A SIMPLE EXAMPLE
• FOUNDATIONS
• APPLICATION MODELING
• PLATFORM MODELING
• ALLOCATION
• MODEL ANALYSIS
• SUMMARY
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 3
A domain-specific computer language for design and analysis real-time and embedded (RTE) software applications
Modeling and Analysis of Real-Time and Embedded systems
Realized as an industry-standard profile of the UML 2 modeling language
Integral part of the Object Management Group’s (OMG) Model-Driven Architecture™ (MDA) initiative
WHAT IS MARTE?
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 4
Modern RTE systems are increasing in complexity while demands for greater dependability, better quality and higher productivity are also on the increase!
Traditional methods are no longer adequate
From craft to a systematic engineering discipline through Model-Based Engineering (MBE)
WHY: THE RATIONALE
CRAFT ENGINEERING
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 5
An approach to system and software development in which computer-based models play an indispensable role
Based on two time-proven ideas:
HOW (1): MODEL-BASED ENGINEERING (MBE)
switch (state) {
case‘1:action1;
newState(‘2’);
break;
case‘2:action2;
newState(‘3’);
break;
case’3:action3;
newState(‘1’);
break;}
(2) AUTOMATION
S1
S3
S2
e1/action1
e2/action2
e3/action3
switch (state) {
case‘1:action1;
newState(‘2’);
break;
case‘2:action2;
newState(‘3’);
break;
case’3:action3;
newState(‘1’);
break;}
(1) ABSTRACTION
S1
S3
S2
e1/action1
e2/action2
e3/action3
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 6
Potential to significantly reduce cost and risk, because standards:
Facilitate communication between stakeholders by providing a shared conceptual and syntactical framework
Facilitate tool interoperability through shared semantics and shared interchange formats
Facilitate development of complementary tools based on a shared standard
Typically support and codify industry-wide best practices
Facilitate availability of trained experts and of teaching materials
Enable vendor independence (no vendor “lock-in”)
Standards also encourage vendors to compete and add value to their products
HOW (2): USE OF INDUSTRY STANDARDS
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 7
Support for the industrial exploitation of MBE
An Object Management Group (OMG) initiative
Manifested as a set of complementary industry standards and associated guidelines
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 20
SpecificPlatformModel
STEP 3.2: MODELING A SPECIFIC SYSTEM
Deals with instances (vs. classes)
«hwProcessor»
:Processor
«swSchedulable Resource»
:OSThread[0]
«swSchedulable Resource»
:OSThread[1]
«swSchedulable Resource»
:OSTimer
«scheduler»
:ThreadScheduler
Generic Platform
Model
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 21
STEP 4: SPECIFYING DEPLOYMENT (ALLOCATION)
Binding of software elements to platform elements
SystemModel
«swSchedulable Resource»
:OSThread[0]
«swSchedulable Resource»
:OSTimer
«swSchedulable Resource»
:OSThread[1]
«swSchedulable Resource»
:OtherApp
«swSchedulable Resource»
:Ticker
«swSchedulable Resource»
:ClockApp
«allocate» «allocate» «allocate»
«import»
Specific App
Model
«import»
Specific Platform
Model
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 22
SUMMARY: THE THREE BASIC ELEMENTS OF MARTE MODELING
APPLICATION (ARCHITECTURE) MODEL
PLATFORM MODEL
ALLOCATION (DEPLOYMENT)
TUTORIAL OVERVIEW
| PAGE 23
• WHAT, WHY, AND HOW
• A SIMPLE EXAMPLE
• FOUNDATIONS
• APPLICATION MODELING
• PLATFORM MODELING
• ALLOCATION
• MODEL ANALYSIS
• SUMMARY
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 24
A CONCEPTUAL VIEW OF MARTE (MODULES/FOCUS AREAS)
2: Platform Modeling
4: Model-based Analysis
3: QoS-aware Modeling
1: Architecture Modeling
GCM architecture modeling based on
components interacting by either messages or
data.
NFP declaring, qualifying, and applying
semantically well-formed non-functional
concerns.
HLAM modeling high-level RT QoS,
including qualitative and quantitative concerns.
Time defining time and manipulating its
representations.
VSL Value Specification Language is a
textual language for specifying algebraic
expressions.
GRM common platform resources at
system-level and for specifying their usage.
SRM multitask-based design
HRM hardware platform
Alloc allocation of functionalities to
resources
GQAM annotating models subject to
quantitative analysis.
SAM annotating models subject of
scheduling analysis.
PAM annotating models subject of
performance analysis.
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 25
MARTE
Foundations
Real-Time Domain Modeling Support
«import»
Real-Time Domain Analysis Support
«import»
Annexes
Shared abstractions and concepts
Support for QoS analyses
For precise modeling of RT phenomena
Highly modular to allow selective application of MARTE
A STRUCTURAL VIEW OF THE MARTE PROFILE
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 26
MARTE FOUNDATIONS
Shared abstractions and concepts Includes an abstract model of dynamic semantics (necessary for scenario modeling)
Foundations
Non-Functional Properties Specification
(NFP)
Time Modeling Support
Abstract Resources Modeling (GRM)
Allocation Specification
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 27
CORE CONCEPT: RESOURCE
Resource: A source of supply of money, materials, staff and other assets that can be drawn upon…in order to function effectively [Oxford dictionary]
In MARTE, a platform is viewed as a collection of different types of resources, which can be drawn upon by applications The finite nature of resources reflects the physical nature of the underlying hardware platform(s)
Platform Resource 1..*
Computing Resource
Memory Resource
etc.
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 28
CORE CONCEPT: RESOURCE SERVICES
In MARTE resources are viewed as service providers Consequently, applications are viewed as service clients
Resource Resource Service
1..*
Resource services are characterized by their
Functionality
Quality of Service (QoS)
e.g. (platform services): • memory provisioning • processing power • bandwidth • energy • mutual exclusion
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 29
CORE CONCEPT: QUALITY OF SERVICE (QoS)
Quality of Service def.: A measure of the effectiveness of service provisioning
Two complementary perspectives on QoS Required QoS: the demand side (what applications require)
Offered QoS: the supply side (what platforms provide)
Many (most of) engineering analyses consist of calculating whether (QoS) supply can meet (QoS) demand.
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
S. Taha, A. Radermacher, S. Gérard, and J.L. Dekeyser, “An Open Framework for Detailed Hardware Modeling”, in
proc. of SIES ’07, Lisbon, Portugal, 2007
S.Taha, A. Radermacher and S. Gérard. “An Entirely Model-Based Framework for Hardware Design and
Simulation Distributed, Parallel and Biologically Inspired Systems”, IFIP Advances in Information and
Communication Technology, Springer, 2010.
Usage examples of a HW platform models
• More precised model-based analysis, e.g. for WCET analysis.
• More precised model-based simulation
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 72
Hierarchical taxonomy of hardware concepts
Successive inheritance layers
From generic concepts (GRM-like)
► e.g., HwComputingResource, HwMemory and HwCommunicationResource
To specific and detailed resources
► e.g., HwProcessor, HwBranchPredictor, HwCache, HwMMU and HwBus
All HRM concepts are HwResource(s)
HRM STRUCTURE
« stereotype »
HwResource0..*
0..1
ownedResources
« stereotype »
HwResourceService
providedServices
1..*
requiredServices
0..*
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 73
Provides a functional description based on a functional classification of hardware resources:
HRM STRUCTURE -- LOGICAL MODELING
HRM::HwCommunication HRM::HwDevice HRM::HwTiming
HRM::HwStorage HRM::HwComputing
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 74
Enable modeling of physical properties of HW resources, via two viewpoints:
HwLayout
► Forms: Chip, Card, Channel…
► Dimensions, area and arrangement mechanism within rectilinear grids
► Environmental conditions: e.g. temperature, vibration, humidity…
HwPower
► Power consumption and heat dissipation
HRM STRUCTURE -- PHYSICAL MODELING
HRM::HwPower HRM::HwLayout
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 75
« profile »
HRM
« profile »
HwLogical
« profile »
HwPhysical
HwComputingHwStorage
HwCommunication
HwTiming
HwLayout
HwStorageManager
HwDevice
« profile »
MARTE::GRM
« import »
HwPower
HwGeneral HwGeneral
« modelLibrary »
MARTE::Library::BasicNFP_Types
« import »
HwMemory
HRM PROFILE OVERVIEW
75
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 76
« profile »
HRM
« profile »
HwLogical
« profile »
HwPhysical
HwComputingHwStorage
HwCommunication
HwTiming
HwLayout
HwStorageManager
HwDevice
« profile »
MARTE::GRM
« import »
HwPower
HwGeneral HwGeneral
« modelLibrary »
MARTE::Library::BasicNFP_Types
« import »
HRM PROFILE -- HWMEMORY
76
HwMemory
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 77
memorySize : NFP_DataSize
addressSize : NFP_DataSize
timings : Timing [*]
« stereotype »
HwMemory
« stereotype »
MARTE::GRM::Storage
« stereotype »
HwResource
level : NFP_Natural = 1
type : CacheType
structure : CacheStructure
repl_Policy : Repl_Policy
writePolicy : WritePolicy
« stereotype »
HwCache
organization : MemoryOrganization
isSynchronous : NFP_Boolean
isStatic :NFP_Boolean
isNonVolatile : NFP_Boolean
repl_Policy : Repl_Policy
writePolicy : WritePolicy
« stereotype »
HwRAM
Data
Instruction
Unified
Other
Undefined
« enumeration »
CacheType
notation : NFP_String
description : NFP_String
value : NFP_Duration
« dataType »
Timing
nbRows : NFP_Natural
nbColumns : NFP_Natural
nbBanks : NFP_Natural
wordSize : NFP_DataSize
« dataType »
MemoryOrganization
nbSets : NFP_Natural
blocSize : NFP_DataSize
associativity : NFP_Natural
« dataType »
CacheStructure
WriteBack
WriteThrough
Other
Undefined
« enumeration »
WritePolicy
LRU
NFU
FIFO
Random
Other
Undefined
« enumeration »
Repl_Policy
type : ROM_Type
organization : MemoryOrganization
« stereotype »
HwROM
MaskedROM
EPROM
OTP_EPROM
EEPROM
Flash
Other
Undefined
« enumeration »
ROM_Type
sectorSize : NFP_DataSize
« stereotype »
HwDrive
buffer
{subsets ownedHW}
0..1
HwMemory
HRM PROFILE -- HWMEMORY
77
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 78
HRM PROFILE -- HWMEMORY -- HWCACHE
Data
Instruction
Unified
Other
Undefined
« enumeration »
CacheType
nbSets : NFP_Natural
blocSize : NFP_DataSize
associativity : NFP_Natural
« dataType »
CacheStructure
WriteBack
WriteThrough
Other
Undefined
« enumeration »
WritePolicy
LRU
NFU
FIFO
Random
Other
Undefined
« enumeration »
Repl_Policy
level : NFP_Natural = 1
type : CacheType
structure : CacheStructure
repl_Policy : Repl_Policy
writePolicy : WritePolicy
« stereotype »
HwCache
HwCache is a processing memory where frequently used data can be stored for rapid access
Detailed description of the HwCache is necessary for performance analysis and simulation
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 79 HRM PROFILE -- HWMEMORY -- HWCACHE
79
Data
Instruction
Unified
Other
Undefined
« enumeration »
CacheType
nbSets : NFP_Natural
blocSize : NFP_DataSize
associativity : NFP_Natural
« dataType »
CacheStructure
WriteBack
WriteThrough
Other
Undefined
« enumeration »
WritePolicy
LRU
NFU
FIFO
Random
Other
Undefined
« enumeration »
Repl_Policy
level : NFP_Natural = 1
type : CacheType
structure : CacheStructure
repl_Policy : Repl_Policy
writePolicy : WritePolicy
« stereotype »
HwCache
Specifies the cache structure
HwCache is organized under sets of blocks and Associativity denotes the number of blocks within each set: • If associativity = 1, cache is direct mapped • If nbSets = 1, cache is fully associative.
OCL rule: memorySize = nbSets x blocSize x associativity
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 80 HRM PROFILE -- HWMEMORY -- HWCACHE
80
Data
Instruction
Unified
Other
Undefined
« enumeration »
CacheType
nbSets : NFP_Natural
blocSize : NFP_DataSize
associativity : NFP_Natural
« dataType »
CacheStructure
WriteBack
WriteThrough
Other
Undefined
« enumeration »
WritePolicy
LRU
NFU
FIFO
Random
Other
Undefined
« enumeration »
Repl_Policy
level : NFP_Natural = 1
type : CacheType
structure : CacheStructure
repl_Policy : Repl_Policy
writePolicy : WritePolicy
« stereotype »
HwCache
Specifies the cache write policy
• WriteBack: Cache write is not immediately reflected to the backing memory.
• WriteThrough: Writes are immediately mirrored.
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 81
«hwResource»
ProcessingNode
«hwProcessor»
: CPU
«hwBus»
: Bus
«hwDMA»
: DMA
«hwDrive»
: Disk[2] «hwRAM»
: RAM
{isSynchronous = true}
{mips = 5,
nbCores = 2}
{memorySize = (300, GB),
timing[1] = (, averageAxTime, (5, ms)),
timing[2] = (, maximumAxTime, (50, ms)}
{nbChannels = 2} {isSynchronous = true
isStatic = false}
EXAMPLE: MODELING HARDWARE WITH MARTE
A hardware platform with specified QoS values
TUTORIAL OVERVIEW
| PAGE 82
• WHAT, WHY, AND HOW
• A SIMPLE EXAMPLE
• FOUNDATIONS
• APPLICATION MODELING
• PLATFORM MODELING
• ALLOCATION
• MODEL ANALYSIS
• SUMMARY
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 83 THIS SECTION
APPLICATION (ARCHITECTURE) MODEL
PLATFORM MODEL
ALLOCATION (DEPLOYMENT)
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 84
MARTE FOUNDATIONS
Foundations
Non-Functional Properties Specification
(NFP)
Time Modeling Support
Abstract Resources Modeling (GRM)
Allocation Specification
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 85
Purpose
Provide support for denoting the "mapping/association” of the functional parts of a system (also called application) onto its resources (also called platform).
Similar to the SysML Allocation, but…
More restrictive
► Focus on application allocation on its underlying platform
2 natures of allocation:
► Spatial distribution - e.g., a variable allocated to a given memory resource.
► Temporal scheduling - e.g., a function computed/executed on a given processor resource.
Possibly associated with QoS constraints
OUTLINE OF THE ALLOCATION CONCEPT
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 86
OUTLINE OF THE ALLOCATION STEREOTYPE
«metaclass»
UML::Abstraction
«stereotype»
Allocate
kind : AllocationKind
nature : AllocationNature
«enumeration»
AllocationNature
spatialDistribution
timeScheduling
«stereotype»
NFP_Modeling::
NfpConstraint
impliedConstraint
*
«enumeration»
AllocationKind
structural
behavioral
hybrid
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 87
MARTE allocation rely on the distinction between:
Model elements of the application
Model elements of the platform
« allocated »
DEFINING THE ROLES OF MODEL ELEMENTS WITHIN ALLOCATION
/allocatedTo : Allocated [*]
/allocatedFrom : Allocated [*]
kind : AllocationEndKind
«stereotype»
Allocated
«metaclass»
NamedElement
undef
application
executionPlatform
both
« enumeration »
AllocationEndKind
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 88
On one hand an application Model
On the other hand a platform model
ALLOCATION EXAMPLE: ORIGINAL SITUATION
Application
cs: CarSpeed
reg : SpeedRegulatorSystem
sc: SpeedController
OperatingSystem
«schedulableResource»
th1: Thread«storageResource»
vm1: VirtualMemory
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 89 ALLOCATION EXAMPLE: STEP1 - IDENTIFICATION OF ALLOCATION ROLES
Application
«allocated»
{kind=application}
cs: CarSpeed
reg : SpeedRegulatorSystem
«allocated»
{kind=application}
sc: SpeedController
«allocated» {kind=executionPlatform}
«storageResource»
vm1: VirtualMemory
OperatingSystem
«allocated»
{kind=executionPlatform}
«schedulableResource»
th1: Thread
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 91
APPLICATION AND PLATFORM ROLES ARE RELATIVE CONCEPTS
Application
«allocated» {kind=both}«storageResource»
vm1: VirtualMemory
OperatingSystem
«allocated» {kind=both}
«schedulableResource»
th1: Thread
«allocated»
{kind=application}
cs: CarSpeed
reg : SpeedRegulatorSystem
«allocated»
{kind=application}
sc: SpeedController
«allocate»
{nature=spatialDistribution}«allocate»
{nature=timeScheduling}
«allocated» {kind=executionPlatform}
«storageResource»
mem1: Memory
HwPlatform
«allocated»
{kind=executionPlatform}
«computingResource»
cpu1: CPU
«allocate»
{nature=timeScheduling}«allocate»
{nature=spatialDistribution}
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 92
A dashed arrow is the right representation
The semantics should prevail on the representation
Semantics of the allocation,
An allocation is NOT always a dependency
An allocation is NOT always an abstraction
In MARTE Domain view: explicit distinction between allocation and abstraction/refinement.
Abstraction relates two concepts of different abstraction levels
Often allocation relates two concepts at the same level but of a different nature (application vs. execution platform)
MARTE::Alloc defines: « Assign »
PROBLEM WITH MARTE/SYSML ALLOCATION
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 93
ASSIGNEMENTS
Sébastien Gérard, MARTE Tutorial on HLAM
93
kind : AssignmentKind
nature : AssignmentNature
« stereotype »
Assign
« metaclass »
Comment
« metaclass »
Elementto
1..*
from
1..*
« stereotype»
NfpConstraint
impliedConstraint
*
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 94
MARTE ALTERNATIVE FOR ALLOCATION: ASSIGNEMENT
PlatformModel
ApplicationModel
«allocated»
{kind = executionPlatform}
«computingResource»
CPU
«allocated» {kind = application}
«computingResource»
Processor
« allocate »
{nature=timeScheduling}
AssignementsModel
ApplicationModel
«allocated» {kind = application}
«computingResource»
Processor
PlatformModel
«allocated»
{kind= executionPlatform}
«computingResource»
CPU
«assign»
{nature=timeScheduling}
+ Straightforward modeling concept. - Dependency between both application and platform models.
« allocate » « assign »
- Used of an unexpected UML model element, a Comment. + No dependencies between both application and platform models.
versus
TUTORIAL OVERVIEW
| PAGE 95
• WHAT, WHY, AND HOW
• A SIMPLE EXAMPLE
• FOUNDATIONS
• APPLICATION MODELING
• PLATFORM MODELING
• ALLOCATION
• MODEL ANALYSIS
• SUMMARY
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 96
DOMAIN MODELING
MARTE
Foundations
Real-Time Domain Modeling Support
«import»
Real-Time Domain Analysis Support
«import»
Annexes
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 97 IMPROVING MODEL EXPLOITATION: FROM MENTAL TO COMPUTER-AIDED ANALYSIS.
High-expertise
Unreliable
Not-scalable
Mental-based model analysis
expertise
reliability
scalability
Computer-aided model analysis
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 98
UML/MARTE MODEL
AUTOMATED MODEL-BASED ANALYSIS (CONT.)
APPLICATION (ARCHITECTURE) MODEL
PLATFORM MODEL
ALLOCATION (DEPLOYMENT)
EQUIVALENT
ANALYSIS
MODEL
m M2M Xform
COMPUTER-BASED
ANALYSIS
0
5
10
15
20
0 0.2 0.4 0.6 0.8
Arrival rate
Qu
eu
e len
gth
MODELER
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 99
REAL-TIME DOMAIN ANALYSIS SUPPORT
Extensible to other analysis types in the future
Analysis
Abstract QoS Analysis Model (GQAM)
Schedulability Analysis Support (SAM)
Performance Analysis Support (PAM)
«import» «import»
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 100
Analysis
Context
Workload
Behavior
Resources
Platform
uses
evaluate
situation
evaluate
capacity
MARTE framework for
Generic Quantitative
Analysis Modelling
MARTE::GQAM
ANNOTATING DESIGN MODELS FOR QUANTITATIVE ANALYSIS
« profile »
SchedulabilityAnalysisModeling
analysis language construct
(UML profile)
« profile »
WorkloadBehavior
« profile »
ResourcesPlatform
UML user models
class Platform
sd Report
:Reporter :ServosData
get ()
start ()
Structural Models
Behavior Models
:SCADAServer
:RTUMaster
class Platform
sd Report
« allocation »
:Reporter«sharedResource»
:ServosData
« gaStep » get ()
{ execT= (8, ms)}
« gaStep » start ()
{ execT= (5, ms)}
Structural Models
Behavior Models
« execHost »
{speedFactor= 0.8,
utilization= $v1}
:SCADAServer
:RTUMaster
• Stimuli models
• Execution times
• Transmission delays
• RT constraints
• RTOS capacity
• RTOS overheads
• Scheduling schemes
• Resources access
Profile definition
(Language def. level)
Profile application
(User model level)
TUTORIAL OVERVIEW
| PAGE 101
• WHAT, WHY, AND HOW
• A SIMPLE EXAMPLE
• FOUNDATIONS
• APPLICATION MODELING
• PLATFORM MODELING
• ALLOCATION
• MODEL ANALYSIS
• SUMMARY
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 102
SUMMARY: THE MARTE PROFILE
The MARTE profile adds an important new capability to UML and UML-based languages: the ability to specify quantitative info (e.g., QoS)
It targets two main areas of application: Modeling of systems Analysis of systems
It is extensible and intended to be specialized further for various concerns and application domains.
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 103
SO WHAT ABOUT CRITICAL CPS AND MDE?
1.Need formal MDE
2.Need model-based analysis
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 104
TOWARDS FORMAL-MDE @ OMG
WG 1: UML2.5 Complete revision of its text description to simplify its presentation and disambiguate its semantics description (available in english).
WG 2: fUML Foundational UML (fUML) is an executable subset of standard UML that can be used to define, in an operational style, the structural and behavioral semantics of systems.
2 dedicated working groups
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 105
Class diagram
Activity diagrams
activity LaunchPingPongExample() {
game = new Game() ;
game.b.Start() ;
game.a.Start() ;
}
Alf Spec. of an activity
fUML scope
Alf = textual surface notation for fUML.
Object diagram
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 106 A formalized semantics for UML composite structures
UML Class and Activities
Execution Model
UML Composite Structures
Execution Model
UML
Classes + Activities
UML
Composite Structure
MARTE CM
EM
Semantic mapping
SysML IBB
EM
SysML
IBD
MARTE
CM PSCS
f U M L
CM:Component Model
EM: Execution Model
Precise semantics of UML Composite Structures (“PSCS”) New OMG standard defining a formal semantics for UML composite
structures and their extensions.
PSCS enables UML to be used as a formal ADL!
Syntax Semantics
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 107
Roadmap of the FM WG @ OMG
fUML
PSCS
Operational Semantic
Model
Operational Semantic
Model Composite structures
Classes + Activities
StateMachine
Profiles
Interactions
…
Alf
UML
PSSM: formalisation of
UML StateMachine (ongoing work)
Precise semantics of UML profiles: J. Tatibouet et al., “Formalizing Profiles
Execution Semantics With fUML Models”, MODELS Conf., Valencia, Spain, 2014.
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 108
SUMMARY
Standards
Architecturing
Component-based
Various MoCC
Dedicated abstractions for
RT/E domains
Platform-based
Automation/ Assistance
ETR’2015, MARTE outlines through examples, S. Gérard / Copyright CEA LIST & Malina Software
# 109
MARTE is not perfect but you can improve it…
Please, do not reinvent it because of some of its flaws but help us to make it better. Thanks.
A LAST WORD…
Commissariat à l’énergie atomique et aux énergies alternatives
Institut Carnot CEA LIST
Centre de Saclay | 91191 Gif-sur-Yvette Cedex
T. +33 (0)169 077 093 | M. +33 (0)688 200 047
Etablissement public à caractère industriel et commercial | RCS Paris B 775 685 019