SlideShare a Scribd company logo
RÉGIS CASTERAN – SYSTEMS AND SOFTWARE ENGINEERING DOMAIN LEADER
09/23/2015 – V3
Sysml for embedded system
engineering
OVERVIEW PART 1 ● Background and challenges
PART 2 ● Using SysML at system level
PART 3 ● Using SysML at software level
PART 4 ● Perspectives
3
13
27
36
PART 1
Background and challenges
4
Definitions
Embedded system
BACKGROUND AND CHALLENGES
A collection of hardware and/or software elements
organized to accomplish a specific function or a set of
functions of a larger system. (AGPS, based on INCOSE
handbook and ISO/IEC 15288:2015)
System engineering
An interdisciplinary approach and means to enable the
realization of successful systems. (INCOSE handbook)
5
Definitions
Model
BACKGROUND AND CHALLENGES
A semantically closed abstraction of a system or a
complete description of a system from a particular
perspective. (ISO/IEC/IEEE 24765:2010)
System Modeling Language (SysML)
A general-purpose graphical modeling language for
specifying, analyzing, designing, and verifying complex
systems that may include hardware, software,
information, personnel, procedures, and facilities.
(Object Management Group)
6
Background
Embedded system breakdown structure
BACKGROUND AND CHALLENGES
7
Background
Why and how modeling ?
BACKGROUND AND CHALLENGES
8
Challenges
Traceability between managements
BACKGROUND AND CHALLENGES
9
Challenges
Traceability between managements
BACKGROUND AND CHALLENGES
10
Challenges
Traceability between tools
BACKGROUND AND CHALLENGES
11
Challenges
SysML model verification
BACKGROUND AND CHALLENGES
Criteria Formality
level
Complexity Review type Instrumentation
Understandable Informal Low Walkthrough None
Completion Informal
to Formal
High Model review to Formal
testing
- Traceability checker
- Model transformation to
UPPAAL language
- Model transformation to B
language
Robustness Informal High Model review None
Consistency Informal
to Formal
High Model review to Formal
testing
- OCL checker
- Model transformation to
UPPAAL language
- Model transformation to B
language
Stability Informal Low Walkthrough None
12
Challenges
SysML model validation
BACKGROUND AND CHALLENGES
Validation
techniques
Development
state
Complexity Instrumentation
Simulation At first B-sample
release
Low Data acquisition (inputs / outputs)
Cosimulation At validating first
architecture
High Model transformation to cosimulation plateform
model (Depending on solution capacity to import
SysML / UML model)
Rapid control
prototyping
At selecting
architecture
candidates
High - RCP platform
- Model transformation to RCP plateform model
(Depending on solution capacity to import SysML
/ UML model)
PART 2
Using SysML at system level
14
Motivations
Stakeholder engagement in requirement management
USING SYSML AT SYSTEM LEVEL
15
Motivations
Automisation in architecture management
USING SYSML AT SYSTEM LEVEL
cmp Network principle
NET1_NODE1
NET2_NODE2EQ1
NET1_NODE1
NET2_NODE2
Network_1
+ NET1_NODE1
+ NET1_NODE2
+ NET1_MSG
NET1_NODE2
NET2_NODE_1
EQ2
NET1_NODE2
NET2_NODE_1
Network_2
+ NET2_NODE1
+ NET2_NODE2
+ NET2_EQ1_EQ2_VAR
+ NET2_EQ2_EQ1_VAR
NET1_NODE1_PORT1
NET1_NODE2_PORT1
NET2_NODE1_PORT1
NET2_NODE2_PORT1
NET2_EQ1_EQ2_VAR
NET2_EQ2_EQ1_VAR
NET1_MSG
Link
Link
16
Motivations
Automisation in architecture management
USING SYSML AT SYSTEM LEVEL
«XSDcomplexType»
nodeType
«XSDelement»
+ address: string
+ equipment: string [0..1]
«XSDattribute»
+ isLocal: boolean
«XSDcomplexType»
BaseModel::abstractBaseType
«XSDattribute»
+ isActivated: boolean
+ name: string
«XSDextension»
del
class PeriodicDataModel
«XSDcomplexType»
periodicDataType
«XSDelement»
+ arrayNbItems: positiveInteger [0..1]
+ defaultValue: string [0..1]
+ offset: nonNegativeInteger [0..1]
+ type: baseExtendedDataEnumType [0..1]
«XSDattribute»
+ isFunctional: boolean
«XSDcomplexType»
BaseModel::abstractBaseType
«XSDattribute»
+ isActivated: boolean
+ name: string
string
«enumeration»
BaseModel::
baseExtendedDataEnumType
ANTIVALENT2
AR_CHAR8
AR_INTEGER16
AR_INTEGER32
AR_INTEGER8
AR_REAL32
AR_UNSIGNED16
AR_UNSIGNED32
AR_UNSIGNED8
BCD4
BIPOLAR216
BIPOLAR416
BITSET16
BITSET32
BITSET64
BITSET8
BOOLEAN1
CHARACTER8
ENUM4
ENUM8
INTEGER16
INTEGER32
INTEGER8
REAL32
UNICODE16
UNIPOLAR216
UNSIGNED16
UNSIGNED32
UNSIGNED8
WORD16
WORD8
«XSDextension»
Name:
Package:
Version:
Author:
PeriodicDataModel
«XSDschema» PeriodicDataModel
1.0
ASSYSTEM (RCA)
class AperiodicChannelModel
«XSDcomplexType»
aperiodicChannelType
«XSDelement»
+ arrayNbItems: positiveInteger [0..1]
+ defaultValue: string [0..1]
+ type: baseExtendedDataEnumType [0..1]
«XSDattribute»
+ isService: boolean
«XSDcomplexType»
BaseModel::abstractBaseType
«XSDattribute»
+ isActivated: boolean
+ name: string
string
«enumeration»
BaseModel::
baseExtendedDataEnumType
ANTIVALENT2
AR_CHAR8
AR_INTEGER16
AR_INTEGER32
AR_INTEGER8
AR_REAL32
AR_UNSIGNED16
AR_UNSIGNED32
AR_UNSIGNED8
BCD4
BIPOLAR216
BIPOLAR416
BITSET16
BITSET32
BITSET64
BITSET8
BOOLEAN1
CHARACTER8
ENUM4
ENUM8
INTEGER16
INTEGER32
INTEGER8
REAL32
UNICODE16
UNIPOLAR216
UNSIGNED16
UNSIGNED32
UNSIGNED8
WORD16
WORD8
«XSDextension»
Name:
Package:
Version:
Author:
AperiodicChannelModel
«XSDschema» AperiodicChannelModel
1.0
ASSYSTEM (RCA)
17
Profiles
Principle
USING SYSML AT SYSTEM LEVEL
18
Profiles
Rationale
USING SYSML AT SYSTEM LEVEL
19
Profiles
Rationale
USING SYSML AT SYSTEM LEVEL
20
Profiles
Rationale
USING SYSML AT SYSTEM LEVEL
21
Patterns
Example
USING SYSML AT SYSTEM LEVEL
stm [Package] System state [System state]
Powered on
INITTESTINGFLASHING FAILEDPower ON
SHUTDOWN
Final
VOLTAGE_MIN_LOW
DTC_STORED
VOLTAGE_MIN_LOW
VOLTAGE_MIN_HIGH
stm [StateMachine] Running mode [Running mode]
Initial
RUNNING
Choice
MASTER SLAVE
Final
[(IS_SLAVE_LAST_RUN && !
IS_MASTER_SLAVE_CHANGE_LAST_RUN) ||
IS_MASTER_LAST_RUN]
[Else]
stm [StateMachine] Power ON [Power ON]
INIT
Initial
Evaluate
requested mode
Running mode TESTINGFLASHING
Final
[MODE == RUNNING] [MODE == FLASHING] [MODE == TESTING]
22
Requirement management
Start with use cases
USING SYSML AT SYSTEM LEVEL
uc Maintenance Management
Embedded system
Class:Embedded system
«human actor»
Maintenance operator
Download
maintenance data
Process maintenance request
extension points
Maintenance access is granted and maintenance
data download is requested
Maintenance access is granted and system version
identification is requested
Maintenance access is granted and new sw version
deployment is requested
Extension Point :
Maintenance access is
granted and
maintenance data
Extension Point :
Maintenance access is
granted and
maintenance data
download is requested
Determine system
status
«requirement»
SYS_1
notes
The system shall set the current maintenance status to
"AUTHORIZATION GRANTED" by default.
«sw actor»
Customer application
«extend»
«extend»
23
Requirement management
Specify scenarii
USING SYSML AT SYSTEM LEVEL
sd Process maintenance request from USB key
embedded system:
Embedded system
RUNNING
USB key: USB key customer application:
Customer application
alt USB device test
[USB is correctly mounted]
alt Maintenance action file test
MaintenanceActionFile
UsbKeyInserted()
updateAuthorization(AUTH_STATUS):
boolean
readActionFile(): boolean
mountUSB(): boolean
ReadFile(): boolean
24
Requirement management
Build architecture context with block diagram
USING SYSML AT SYSTEM LEVEL
bdd [Package] Maintenance Management [Maintenance Management]
Ethernet port:
Ethernet interface
USB port: USB
interface
LED
[3]
ASW port:
~Application
interface
«sys block»
Embedded system
+ mountUSB(): boolean
+ readActionFile(): boolean
+ parseActionFile(): boolean
+ writeMaintenaceData(maintenanceDataType): boolean
+ updateSystemStatus(systemStatusType)
+ checkAuthorization(): boolean
+ updateAuthorization(boolean): boolean
properties
board : Board
bsw : Basic software
Ethernet port:
Ethernet interface
USB port: USB
interface
LED
[3]
ASW port:
~Application
interface
«sys actor»
Maintenance PC
«human actor»
Maintenance operator
«sys actor»
USB key
«hw interface»
Ethernet interface
isEncapsulated =
type = female
flow properties
in MaintenanceRequest : MaintenanceMessage
in swPackage
out MaintenanceDataFile : MaintenanceDataFile
«hw interface»
USB interface
isEncapsulated =
type = female
flow properties
in MaintenanceRequest : UsbKeyInserted
«signal»
UsbKeyInserted
Ethernet port:
~Ethernet
interface
«sys block»
Maintenance PC
Ethernet port:
~Ethernet
interface
USB port:
~USB
interface
«sys block»
USB key
+ ReadFile(): boolean
+ WriteFile(): boolean
USB port:
~USB
interface
MaintenanceMessage
MaintenanceDataFile
+ type: maintenanceDataType
«enumeration»
maintenanceDataType
«sw actor»
Customer application
ASW port:
Application
interface
«sw block»
Customer application
ASW port:
Application
interface
«trace»
LedState
«flow»
«trace»
«trace»
25
Architecture management
Split system functions
USING SYSML AT SYSTEM LEVEL
sd Process maintenance request from USB key
embedded system: Embedded system
RUNNING
USB key: USB key customer application:
Customer application
/board /bsw
alt USB device test
[USB is correctly mounted]
alt Maintenance action file test
[Maintenance action file is correctly formatted]
MaintenanceActionFile
UsbKeyInserted()
writeRAM(AUTH_ADDRESS, AUTH_STATUS):
boolean
readActionFile(): boolean
checkAuthorization(): boolean
updateAuthorization(AUTH_STATUS):
boolean
mountUSB(): boolean
ReadFile(): boolean
readFile(ACTION_FILENAME):
boolean
UsbKeyInserted()
26
Architecture management
Split system interfaces
USING SYSML AT SYSTEM LEVEL
bdd [Package] Maintenance management [Maintenance management]
Ethernet port:
Ethernet interface
LED[3]
USB port: USB
interface
ASW port:
~Application
interface
«sys block»
Maintenance Management::Embedded system
+ checkAuthorization(): boolean
+ mountUSB(): boolean
+ parseActionFile(): boolean
+ readActionFile(): boolean
+ updateAuthorization(boolean): boolean
+ updateSystemStatus(systemStatusType)
+ writeMaintenaceData(maintenanceDataType): boolean
properties
board : Board
bsw : Basic software
Ethernet port:
Ethernet interface
LED[3]
USB port: USB
interface
ASW port:
~Application
interface
Ethernet port
LED[3]
USB port
Filesystem: Board
filesystem
Register: Board
register
«hw block»
Board
+ readEEPROM(int, int): boolean
+ readFile(string): boolean
+ readNVRAM(int, int): boolean
+ readRAM(int, int): boolean
+ writeEEPROM(int, int): boolean
+ writeFile(string): boolean
+ writeNVRAM(int, int): boolean
+ writeRAM(int, int): boolean
Ethernet port
LED[3]
USB port
Filesystem: Board
filesystem
Register: Board
register
«hw interface»
Maintenance Management::Ethernet interface
flow properties
in MaintenanceRequest : MaintenanceMessage
in swPackage
out MaintenanceDataFile : MaintenanceDataFile
«hw interface»
Maintenance Management::
LED interface
flow properties
out LedState : LedState
«hw interface»
Maintenance Management::USB interface
flow properties
in MaintenanceRequest : UsbKeyInserted
in MaintenanceActionFile : MaintenanceActionFile
out MaintenanceDataFile : MaintenanceDataFile
ASW port
Register: ~Board
register
Filesystem: ~Board
filesystem
«sw block»
Basic software
+ checkAuthorization(): boolean
+ mountUSB(): boolean
+ parseActionFile(): boolean
+ readActionFile(): boolean
+ updateAuthorization(boolean): boolean
+ updateSystemStatus(systemStatusType)
+ writeMaintenaceData(maintenanceDataType): boolean
ASW port
Register: ~Board
register
Filesystem: ~Board
filesystem
«sw interface»
Maintenance Management::Application interface
flow properties
out AuthorizationStatus : Boolean
«sw interface»
Board register
flow properties
in AuthorizationStatus : Boolean
out MaintenanceActionFile : MaintenanceActionFile
out MaintenanceRequest : UsbKeyInserted
«sw interface»
Board filesystem
flow properties
out MaintenanceDataFile : MaintenanceDataFile
+bsw
+board
PART 3
Using SysML at software level
28
Motivations
Stakeholder engagement in requirement management
USING SYSML AT SOFTWARE LEVEL
29
Motivations
Automisation in architecture management
USING SYSML AT SOFTWARE LEVEL
ibd [Block] SwcB_JWILL [SwcB_JWILL]
RP_IPC_Lat_Acc
RP_IPC_Lat_Acc_Valid
TMT_RunB_JWILL_4ms
TMT_RunB_JWILL_10ms
TMT_RunB_JWILL_1ms
PP_OPM_Pinion_Torq_Tgt
ibd [Block] SwcB_JWILL [SwcB_JWILL]
RP_IPC_Lat_Acc
RP_IPC_Lat_Acc_Valid
TMT_RunB_JWILL_4ms
TMT_RunB_JWILL_10ms
TMT_RunB_JWILL_1ms
PP_OPM_Pinion_Torq_Tgt
RP_IPC_Lat_Acc
RP_IPC_Lat_Acc_Valid
TMT_RunB_JWILL_4ms
«Runnable»
RunB_JWILL_4ms
RP_IPC_Lat_Acc
RP_IPC_Lat_Acc_Valid
TMT_RunB_JWILL_4ms
IRV_TTG_Lat_Acc_weight_X_f
IRV_TTG_Lat_Acc_weight
IRV_TTG_Lat_Acc_weight_X_k
IRV_TTG_Weight_Den
TMT_RunB_JWILL_10ms
«Runnable»
RunB_JWILL_10ms
TMT_RunB_JWILL_10ms
TMT_RunB_JWILL_1ms
PP_OPM_Pinion_Torq_Tgt«Runnable»
RunB_JWILL_1ms
TMT_RunB_JWILL_1ms
PP_OPM_Pinion_Torq_Tgt
«delegate»
«delegate»
«delegate»
«delegate»
«delegate»
«delegate»
30
Motivations
Automisation in architecture management
USING SYSML AT SOFTWARE LEVEL
31
Requirement management
Focus use cases on HW interfaces
USING SYSML AT SOFTWARE LEVEL
uc Software System Overview
ECU Abstraction Layer
Component:ECUAbstractionLayer
«hw actor»
PDC ASIC Front: PDC
ASIC Front
Determine the Park Assistant
activation
extension points
Park Slave PDC Activation
Control the Park Assistant PDC Feature
extension points
before PDC Feature Initialization
Manage NVRAM
Datas
Determine
Application Power
State
extension point: before
PDC Feature Initialization
«hw actor»
Klemme KL15
Coverage: Klemme
KL15 coverage
extension point: Park
Slave PDC Activation
«extend»
«include»
«extend» «include»
«include»
«include»
«include»
32
Requirement management
Describe main features functional flow
USING SYSML AT SOFTWARE LEVEL
ibd [Block] Software composition [Software composition]
ECU GPIO ECU serial port
ibd [Block] Software composition [Software composition]
ECU GPIO ECU serial port
Park state
«fct part»
PDC activation logic
Park state
Park state
Power state
Error state
Sensor voltage
«fct part»
PDC control logic
Park state
Power state
Error state
Sensor voltage
Power state
Battery voltage
«fct part»
Application power state
Power state
Battery voltage
Error state
«fct part»
Diagnostic
Error state
Battery voltage
ECU GPIO ECU serial port
Sensor voltage
«fct part»
ECU abstraction layer
Battery voltage
ECU GPIO ECU serial port
Sensor voltage
33
Architecture management
Identify standard components
USING SYSML AT SOFTWARE LEVEL
«framework»
Application - BMW PDC L6
P1::APKM
tags
isModelDriven = True
isStandard = False
P1::APKS
tags
isModelDriven = True
isStandard = False
«framework»
STD Modules
P2::Detection
System
tags
isModelDriven = False
isStandard = True
P2::COMM
tags
isModelDriven = False
isStandard = True
P1::VOLT
tags
isModelDriven = False
isStandard = True
P2::MXAD
tags
isModelDriven = False
isStandard = True
P2::MX12
tags
isModelDriven = False
isStandard = True
P2::PLBMWUPI
tags
isModelDriven = False
isStandard = True
«framework»
Metrowerks Library
+ _CHECKSUM_QUAL
+ _CheckSum1ByteTyp
+ CHECKSUM
+ START12
+ CHECKSUM_VerifyRO
+ START12_StartECU
(from St
«framework»
BMW PDC Common Modules
P1::AHTST
tags
isModelDriven = False
isStandard = False
P1::AMM
tags
isModelDriven = False
isStandard = False
P1::AUPA
tags
isModelDriven = False
isStandard = False
P1::AKLC
tags
isModelDriven = False
isStandard = False
P1::AFESP
tags
isModelDriven = False
isStandard = False
P1::ACODI
tags
isModelDriven = False
isStandard = False
«BMWtemplatebased»
P1::ADIAG
«BMWtemplatebased»
P1::AMAIN
«import»
«import»
«import»«import»
34
Architecture management
Identify standard components
USING SYSML AT SOFTWARE LEVEL
«framework»
BMW PDC Common Modules
APKM
tags
isModelDriven = True
isStandard = False
APKS
tags
isModelDriven = True
isStandard = False
«framework»
STD Modules
Detection System
tags
isModelDriven = False
isStandard = True
COMM
tags
isModelDriven = False
isStandard = True
VOLT
tags
isModelDriven = False
isStandard = True
MXAD
tags
isModelDriven = False
isStandard = True
MX12
tags
isModelDriven = False
isStandard = True
PLBMWUPI
tags
isModelDriven = False
isStandard = True
«framework»
Application - BMW PDC L4
AFESP
tags
isModelDriven = False
isStandard = False
AHTST
tags
isModelDriven = False
isStandard = False
AKLC
tags
isModelDriven = False
isStandard = False
AMM
tags
isModelDriven = False
isStandard = False
AUPA
tags
isModelDriven = False
isStandard = False
ADESC
«framework»
Metrowerks Library
+ _CHECKSUM_QUALI
+ _CheckSum1ByteType
+ CHECKSUM
+ START12
+ CHECKSUM_VerifyROMChe
+ START12_StartECU
ACODI
tags
isModelDriven = False
isStandard = False
EEPIF_SC6:
EEPIF
EEP_SC6: EEP NVM_SC6: NVM
«BMWtemplatebased»
AMAIN
DEM_SC6: DEM
«import»«import»
«import»
«import»
35
Architecture management
Split main features functional flow between components
USING SYSML AT SOFTWARE LEVEL
sd Determine Park Assistant State
AUPA: AUPA«subsystem»
:Diagnostic
PDCControlLogic
subsystem:
PDCControlLogic
«subsystem»
:ApplicationPowerState
«subsystem»
PDCActivationLogic:
PDCActivationLogic
{Application power state has been determined}
AUPA_Config /
AUPA_Config
opt Application power state indicates that the sensor power is supplied
[Sensor power supply is ON]
UPA_SetRequestedState(u8)
XUPA_IS_USENSOR_ON(): bool_T
KLC_HSS_GetState(): KLC_HSS_STATE
UPA_Cyclic()
XUPA_IS_USENSOR_OK(): bool_T
PARK_ASSIST_STATE_REQD_IF(u8)
HSS_STATE_IF()
KLC_HSS_GetState(): KLC_HSS_STATE
HSS_STATE_IF()
PART 4
Perspectives
37
Towards a new AGPS discipline offer: “Model Based Engineering for
Embedded System”
Principle
PERSPECTIVES
• Auditing customer both system and software engineering processes
• Identifying profiles and patterns opportunities
• Building models at system and software level
• Specifying, developing and/or sustaining model transformation tools
• Specifying, developing and/or sustaining artefact generation tools
Next steps
• Deploying AGPS profiles and patterns
• Writing guidelines for variant management
• Writing guidelines for test requirement management
• Developing SysML model transformation schemes for verification
• …
Want to contribute ?
• Please send me a mail at rcasteran@assystem.com
Thank you !

More Related Content

PDF
Matthew Hause Building Bridges between Systems and Software with SysML and UML
PDF
PRFC SysML 1.4
PDF
Introduction to SysML af Finn Overgaard Hansen, AU
PPTX
Model Testing Toolkit - Overview
PPTX
Optimica Compiler Toolkit - Overview
PPTX
Optimica Testing Toolkit
PDF
Improvements of Funcional Safety for ES.pdf
PPTX
Using Modelica and FMI to evaluate requirements compliance early in system d...
Matthew Hause Building Bridges between Systems and Software with SysML and UML
PRFC SysML 1.4
Introduction to SysML af Finn Overgaard Hansen, AU
Model Testing Toolkit - Overview
Optimica Compiler Toolkit - Overview
Optimica Testing Toolkit
Improvements of Funcional Safety for ES.pdf
Using Modelica and FMI to evaluate requirements compliance early in system d...

What's hot (19)

PPTX
Modelon Modelica executable requirements Ansys Conference 2016
PPTX
FMI Composer Overview
PDF
Results of model-based testing in automotive
PPTX
Procter & Gamble Modelon INCOSE 2017
PDF
Uml2 clearquest
PDF
Modelon FMI Tutorial NAMUG 2016
PDF
Configuring monitoring
PDF
Rit 8.5.0 virtualization training slides
PPTX
Emerging standards and support organizations within engineering simulation
PDF
Rit 8.5.0 platform training slides
PPTX
Closing the Design Cycle Loop with Executable Requirements and OSLC - IBM Int...
PPTX
Model-Based Design For Motor Control Development
PDF
Automotive engineering design - Model Based Design
PDF
Model-Based Integration for FMI Co-Simulation and Heterogeneous Simulations o...
PPT
Rejunevating software reengineering processes
PDF
Rit 8.5.0 training release notes
PPTX
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
PPTX
Multi phase mixture media
PPTX
One model, many use cases
Modelon Modelica executable requirements Ansys Conference 2016
FMI Composer Overview
Results of model-based testing in automotive
Procter & Gamble Modelon INCOSE 2017
Uml2 clearquest
Modelon FMI Tutorial NAMUG 2016
Configuring monitoring
Rit 8.5.0 virtualization training slides
Emerging standards and support organizations within engineering simulation
Rit 8.5.0 platform training slides
Closing the Design Cycle Loop with Executable Requirements and OSLC - IBM Int...
Model-Based Design For Motor Control Development
Automotive engineering design - Model Based Design
Model-Based Integration for FMI Co-Simulation and Heterogeneous Simulations o...
Rejunevating software reengineering processes
Rit 8.5.0 training release notes
fUML-Driven Design and Performance Analysis of Software Agents for Wireless S...
Multi phase mixture media
One model, many use cases
Ad

Similar to SysML for embedded system engineering - Academy Camp 2015 (20)

PDF
09 basics operating and monitoring v1.00_en
PPT
Ch8 v70 os_en
PDF
Design the implementation of CDEx Robust DC Motor.
PDF
Better Network Management Through Network Programmability
PDF
Ia rm001 -en-p
PPTX
PrismTech Integrated Communications Systems Modeling
PDF
Sys ml presentation
PDF
Fannie mae bmc remedy its mv7 production infrastructure_v8_021009
PPTX
UNIT I.pptx
PPTX
UNIT I_Introduction.pptx
ODP
PhD Slides
PDF
To Perform SIL And PIL Testing on Fast Dynamic System using Economical AVR Co...
PPT
3DD 1e SyCers
PDF
17 demonstration server client system-v1.00_en
PPT
Deploying Windows 7 With Configuration Manager 2007 R2
PPTX
Performance and Power Profiling on Intel Android Devices
PPT
C Cure Users Group Presentation Final 4
PPTX
Lot Completion Estimation Using Self-Configuring Equipment Model-based Applic...
PDF
Ch2 v70 config_overview_en
PPTX
Cs 704 d set2
09 basics operating and monitoring v1.00_en
Ch8 v70 os_en
Design the implementation of CDEx Robust DC Motor.
Better Network Management Through Network Programmability
Ia rm001 -en-p
PrismTech Integrated Communications Systems Modeling
Sys ml presentation
Fannie mae bmc remedy its mv7 production infrastructure_v8_021009
UNIT I.pptx
UNIT I_Introduction.pptx
PhD Slides
To Perform SIL And PIL Testing on Fast Dynamic System using Economical AVR Co...
3DD 1e SyCers
17 demonstration server client system-v1.00_en
Deploying Windows 7 With Configuration Manager 2007 R2
Performance and Power Profiling on Intel Android Devices
C Cure Users Group Presentation Final 4
Lot Completion Estimation Using Self-Configuring Equipment Model-based Applic...
Ch2 v70 config_overview_en
Cs 704 d set2
Ad

Recently uploaded (20)

PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
Geodesy 1.pptx...............................................
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
Welding lecture in detail for understanding
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
Sustainable Sites - Green Building Construction
PDF
Well-logging-methods_new................
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
Digital Logic Computer Design lecture notes
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
UNIT-1 - COAL BASED THERMAL POWER PLANTS
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
UNIT 4 Total Quality Management .pptx
Geodesy 1.pptx...............................................
bas. eng. economics group 4 presentation 1.pptx
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Embodied AI: Ushering in the Next Era of Intelligent Systems
Welding lecture in detail for understanding
Arduino robotics embedded978-1-4302-3184-4.pdf
Sustainable Sites - Green Building Construction
Well-logging-methods_new................
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Digital Logic Computer Design lecture notes
Model Code of Practice - Construction Work - 21102022 .pdf
CH1 Production IntroductoryConcepts.pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx

SysML for embedded system engineering - Academy Camp 2015

  • 1. RÉGIS CASTERAN – SYSTEMS AND SOFTWARE ENGINEERING DOMAIN LEADER 09/23/2015 – V3 Sysml for embedded system engineering
  • 2. OVERVIEW PART 1 ● Background and challenges PART 2 ● Using SysML at system level PART 3 ● Using SysML at software level PART 4 ● Perspectives 3 13 27 36
  • 4. 4 Definitions Embedded system BACKGROUND AND CHALLENGES A collection of hardware and/or software elements organized to accomplish a specific function or a set of functions of a larger system. (AGPS, based on INCOSE handbook and ISO/IEC 15288:2015) System engineering An interdisciplinary approach and means to enable the realization of successful systems. (INCOSE handbook)
  • 5. 5 Definitions Model BACKGROUND AND CHALLENGES A semantically closed abstraction of a system or a complete description of a system from a particular perspective. (ISO/IEC/IEEE 24765:2010) System Modeling Language (SysML) A general-purpose graphical modeling language for specifying, analyzing, designing, and verifying complex systems that may include hardware, software, information, personnel, procedures, and facilities. (Object Management Group)
  • 6. 6 Background Embedded system breakdown structure BACKGROUND AND CHALLENGES
  • 7. 7 Background Why and how modeling ? BACKGROUND AND CHALLENGES
  • 11. 11 Challenges SysML model verification BACKGROUND AND CHALLENGES Criteria Formality level Complexity Review type Instrumentation Understandable Informal Low Walkthrough None Completion Informal to Formal High Model review to Formal testing - Traceability checker - Model transformation to UPPAAL language - Model transformation to B language Robustness Informal High Model review None Consistency Informal to Formal High Model review to Formal testing - OCL checker - Model transformation to UPPAAL language - Model transformation to B language Stability Informal Low Walkthrough None
  • 12. 12 Challenges SysML model validation BACKGROUND AND CHALLENGES Validation techniques Development state Complexity Instrumentation Simulation At first B-sample release Low Data acquisition (inputs / outputs) Cosimulation At validating first architecture High Model transformation to cosimulation plateform model (Depending on solution capacity to import SysML / UML model) Rapid control prototyping At selecting architecture candidates High - RCP platform - Model transformation to RCP plateform model (Depending on solution capacity to import SysML / UML model)
  • 13. PART 2 Using SysML at system level
  • 14. 14 Motivations Stakeholder engagement in requirement management USING SYSML AT SYSTEM LEVEL
  • 15. 15 Motivations Automisation in architecture management USING SYSML AT SYSTEM LEVEL cmp Network principle NET1_NODE1 NET2_NODE2EQ1 NET1_NODE1 NET2_NODE2 Network_1 + NET1_NODE1 + NET1_NODE2 + NET1_MSG NET1_NODE2 NET2_NODE_1 EQ2 NET1_NODE2 NET2_NODE_1 Network_2 + NET2_NODE1 + NET2_NODE2 + NET2_EQ1_EQ2_VAR + NET2_EQ2_EQ1_VAR NET1_NODE1_PORT1 NET1_NODE2_PORT1 NET2_NODE1_PORT1 NET2_NODE2_PORT1 NET2_EQ1_EQ2_VAR NET2_EQ2_EQ1_VAR NET1_MSG Link Link
  • 16. 16 Motivations Automisation in architecture management USING SYSML AT SYSTEM LEVEL «XSDcomplexType» nodeType «XSDelement» + address: string + equipment: string [0..1] «XSDattribute» + isLocal: boolean «XSDcomplexType» BaseModel::abstractBaseType «XSDattribute» + isActivated: boolean + name: string «XSDextension» del class PeriodicDataModel «XSDcomplexType» periodicDataType «XSDelement» + arrayNbItems: positiveInteger [0..1] + defaultValue: string [0..1] + offset: nonNegativeInteger [0..1] + type: baseExtendedDataEnumType [0..1] «XSDattribute» + isFunctional: boolean «XSDcomplexType» BaseModel::abstractBaseType «XSDattribute» + isActivated: boolean + name: string string «enumeration» BaseModel:: baseExtendedDataEnumType ANTIVALENT2 AR_CHAR8 AR_INTEGER16 AR_INTEGER32 AR_INTEGER8 AR_REAL32 AR_UNSIGNED16 AR_UNSIGNED32 AR_UNSIGNED8 BCD4 BIPOLAR216 BIPOLAR416 BITSET16 BITSET32 BITSET64 BITSET8 BOOLEAN1 CHARACTER8 ENUM4 ENUM8 INTEGER16 INTEGER32 INTEGER8 REAL32 UNICODE16 UNIPOLAR216 UNSIGNED16 UNSIGNED32 UNSIGNED8 WORD16 WORD8 «XSDextension» Name: Package: Version: Author: PeriodicDataModel «XSDschema» PeriodicDataModel 1.0 ASSYSTEM (RCA) class AperiodicChannelModel «XSDcomplexType» aperiodicChannelType «XSDelement» + arrayNbItems: positiveInteger [0..1] + defaultValue: string [0..1] + type: baseExtendedDataEnumType [0..1] «XSDattribute» + isService: boolean «XSDcomplexType» BaseModel::abstractBaseType «XSDattribute» + isActivated: boolean + name: string string «enumeration» BaseModel:: baseExtendedDataEnumType ANTIVALENT2 AR_CHAR8 AR_INTEGER16 AR_INTEGER32 AR_INTEGER8 AR_REAL32 AR_UNSIGNED16 AR_UNSIGNED32 AR_UNSIGNED8 BCD4 BIPOLAR216 BIPOLAR416 BITSET16 BITSET32 BITSET64 BITSET8 BOOLEAN1 CHARACTER8 ENUM4 ENUM8 INTEGER16 INTEGER32 INTEGER8 REAL32 UNICODE16 UNIPOLAR216 UNSIGNED16 UNSIGNED32 UNSIGNED8 WORD16 WORD8 «XSDextension» Name: Package: Version: Author: AperiodicChannelModel «XSDschema» AperiodicChannelModel 1.0 ASSYSTEM (RCA)
  • 21. 21 Patterns Example USING SYSML AT SYSTEM LEVEL stm [Package] System state [System state] Powered on INITTESTINGFLASHING FAILEDPower ON SHUTDOWN Final VOLTAGE_MIN_LOW DTC_STORED VOLTAGE_MIN_LOW VOLTAGE_MIN_HIGH stm [StateMachine] Running mode [Running mode] Initial RUNNING Choice MASTER SLAVE Final [(IS_SLAVE_LAST_RUN && ! IS_MASTER_SLAVE_CHANGE_LAST_RUN) || IS_MASTER_LAST_RUN] [Else] stm [StateMachine] Power ON [Power ON] INIT Initial Evaluate requested mode Running mode TESTINGFLASHING Final [MODE == RUNNING] [MODE == FLASHING] [MODE == TESTING]
  • 22. 22 Requirement management Start with use cases USING SYSML AT SYSTEM LEVEL uc Maintenance Management Embedded system Class:Embedded system «human actor» Maintenance operator Download maintenance data Process maintenance request extension points Maintenance access is granted and maintenance data download is requested Maintenance access is granted and system version identification is requested Maintenance access is granted and new sw version deployment is requested Extension Point : Maintenance access is granted and maintenance data Extension Point : Maintenance access is granted and maintenance data download is requested Determine system status «requirement» SYS_1 notes The system shall set the current maintenance status to "AUTHORIZATION GRANTED" by default. «sw actor» Customer application «extend» «extend»
  • 23. 23 Requirement management Specify scenarii USING SYSML AT SYSTEM LEVEL sd Process maintenance request from USB key embedded system: Embedded system RUNNING USB key: USB key customer application: Customer application alt USB device test [USB is correctly mounted] alt Maintenance action file test MaintenanceActionFile UsbKeyInserted() updateAuthorization(AUTH_STATUS): boolean readActionFile(): boolean mountUSB(): boolean ReadFile(): boolean
  • 24. 24 Requirement management Build architecture context with block diagram USING SYSML AT SYSTEM LEVEL bdd [Package] Maintenance Management [Maintenance Management] Ethernet port: Ethernet interface USB port: USB interface LED [3] ASW port: ~Application interface «sys block» Embedded system + mountUSB(): boolean + readActionFile(): boolean + parseActionFile(): boolean + writeMaintenaceData(maintenanceDataType): boolean + updateSystemStatus(systemStatusType) + checkAuthorization(): boolean + updateAuthorization(boolean): boolean properties board : Board bsw : Basic software Ethernet port: Ethernet interface USB port: USB interface LED [3] ASW port: ~Application interface «sys actor» Maintenance PC «human actor» Maintenance operator «sys actor» USB key «hw interface» Ethernet interface isEncapsulated = type = female flow properties in MaintenanceRequest : MaintenanceMessage in swPackage out MaintenanceDataFile : MaintenanceDataFile «hw interface» USB interface isEncapsulated = type = female flow properties in MaintenanceRequest : UsbKeyInserted «signal» UsbKeyInserted Ethernet port: ~Ethernet interface «sys block» Maintenance PC Ethernet port: ~Ethernet interface USB port: ~USB interface «sys block» USB key + ReadFile(): boolean + WriteFile(): boolean USB port: ~USB interface MaintenanceMessage MaintenanceDataFile + type: maintenanceDataType «enumeration» maintenanceDataType «sw actor» Customer application ASW port: Application interface «sw block» Customer application ASW port: Application interface «trace» LedState «flow» «trace» «trace»
  • 25. 25 Architecture management Split system functions USING SYSML AT SYSTEM LEVEL sd Process maintenance request from USB key embedded system: Embedded system RUNNING USB key: USB key customer application: Customer application /board /bsw alt USB device test [USB is correctly mounted] alt Maintenance action file test [Maintenance action file is correctly formatted] MaintenanceActionFile UsbKeyInserted() writeRAM(AUTH_ADDRESS, AUTH_STATUS): boolean readActionFile(): boolean checkAuthorization(): boolean updateAuthorization(AUTH_STATUS): boolean mountUSB(): boolean ReadFile(): boolean readFile(ACTION_FILENAME): boolean UsbKeyInserted()
  • 26. 26 Architecture management Split system interfaces USING SYSML AT SYSTEM LEVEL bdd [Package] Maintenance management [Maintenance management] Ethernet port: Ethernet interface LED[3] USB port: USB interface ASW port: ~Application interface «sys block» Maintenance Management::Embedded system + checkAuthorization(): boolean + mountUSB(): boolean + parseActionFile(): boolean + readActionFile(): boolean + updateAuthorization(boolean): boolean + updateSystemStatus(systemStatusType) + writeMaintenaceData(maintenanceDataType): boolean properties board : Board bsw : Basic software Ethernet port: Ethernet interface LED[3] USB port: USB interface ASW port: ~Application interface Ethernet port LED[3] USB port Filesystem: Board filesystem Register: Board register «hw block» Board + readEEPROM(int, int): boolean + readFile(string): boolean + readNVRAM(int, int): boolean + readRAM(int, int): boolean + writeEEPROM(int, int): boolean + writeFile(string): boolean + writeNVRAM(int, int): boolean + writeRAM(int, int): boolean Ethernet port LED[3] USB port Filesystem: Board filesystem Register: Board register «hw interface» Maintenance Management::Ethernet interface flow properties in MaintenanceRequest : MaintenanceMessage in swPackage out MaintenanceDataFile : MaintenanceDataFile «hw interface» Maintenance Management:: LED interface flow properties out LedState : LedState «hw interface» Maintenance Management::USB interface flow properties in MaintenanceRequest : UsbKeyInserted in MaintenanceActionFile : MaintenanceActionFile out MaintenanceDataFile : MaintenanceDataFile ASW port Register: ~Board register Filesystem: ~Board filesystem «sw block» Basic software + checkAuthorization(): boolean + mountUSB(): boolean + parseActionFile(): boolean + readActionFile(): boolean + updateAuthorization(boolean): boolean + updateSystemStatus(systemStatusType) + writeMaintenaceData(maintenanceDataType): boolean ASW port Register: ~Board register Filesystem: ~Board filesystem «sw interface» Maintenance Management::Application interface flow properties out AuthorizationStatus : Boolean «sw interface» Board register flow properties in AuthorizationStatus : Boolean out MaintenanceActionFile : MaintenanceActionFile out MaintenanceRequest : UsbKeyInserted «sw interface» Board filesystem flow properties out MaintenanceDataFile : MaintenanceDataFile +bsw +board
  • 27. PART 3 Using SysML at software level
  • 28. 28 Motivations Stakeholder engagement in requirement management USING SYSML AT SOFTWARE LEVEL
  • 29. 29 Motivations Automisation in architecture management USING SYSML AT SOFTWARE LEVEL ibd [Block] SwcB_JWILL [SwcB_JWILL] RP_IPC_Lat_Acc RP_IPC_Lat_Acc_Valid TMT_RunB_JWILL_4ms TMT_RunB_JWILL_10ms TMT_RunB_JWILL_1ms PP_OPM_Pinion_Torq_Tgt ibd [Block] SwcB_JWILL [SwcB_JWILL] RP_IPC_Lat_Acc RP_IPC_Lat_Acc_Valid TMT_RunB_JWILL_4ms TMT_RunB_JWILL_10ms TMT_RunB_JWILL_1ms PP_OPM_Pinion_Torq_Tgt RP_IPC_Lat_Acc RP_IPC_Lat_Acc_Valid TMT_RunB_JWILL_4ms «Runnable» RunB_JWILL_4ms RP_IPC_Lat_Acc RP_IPC_Lat_Acc_Valid TMT_RunB_JWILL_4ms IRV_TTG_Lat_Acc_weight_X_f IRV_TTG_Lat_Acc_weight IRV_TTG_Lat_Acc_weight_X_k IRV_TTG_Weight_Den TMT_RunB_JWILL_10ms «Runnable» RunB_JWILL_10ms TMT_RunB_JWILL_10ms TMT_RunB_JWILL_1ms PP_OPM_Pinion_Torq_Tgt«Runnable» RunB_JWILL_1ms TMT_RunB_JWILL_1ms PP_OPM_Pinion_Torq_Tgt «delegate» «delegate» «delegate» «delegate» «delegate» «delegate»
  • 30. 30 Motivations Automisation in architecture management USING SYSML AT SOFTWARE LEVEL
  • 31. 31 Requirement management Focus use cases on HW interfaces USING SYSML AT SOFTWARE LEVEL uc Software System Overview ECU Abstraction Layer Component:ECUAbstractionLayer «hw actor» PDC ASIC Front: PDC ASIC Front Determine the Park Assistant activation extension points Park Slave PDC Activation Control the Park Assistant PDC Feature extension points before PDC Feature Initialization Manage NVRAM Datas Determine Application Power State extension point: before PDC Feature Initialization «hw actor» Klemme KL15 Coverage: Klemme KL15 coverage extension point: Park Slave PDC Activation «extend» «include» «extend» «include» «include» «include» «include»
  • 32. 32 Requirement management Describe main features functional flow USING SYSML AT SOFTWARE LEVEL ibd [Block] Software composition [Software composition] ECU GPIO ECU serial port ibd [Block] Software composition [Software composition] ECU GPIO ECU serial port Park state «fct part» PDC activation logic Park state Park state Power state Error state Sensor voltage «fct part» PDC control logic Park state Power state Error state Sensor voltage Power state Battery voltage «fct part» Application power state Power state Battery voltage Error state «fct part» Diagnostic Error state Battery voltage ECU GPIO ECU serial port Sensor voltage «fct part» ECU abstraction layer Battery voltage ECU GPIO ECU serial port Sensor voltage
  • 33. 33 Architecture management Identify standard components USING SYSML AT SOFTWARE LEVEL «framework» Application - BMW PDC L6 P1::APKM tags isModelDriven = True isStandard = False P1::APKS tags isModelDriven = True isStandard = False «framework» STD Modules P2::Detection System tags isModelDriven = False isStandard = True P2::COMM tags isModelDriven = False isStandard = True P1::VOLT tags isModelDriven = False isStandard = True P2::MXAD tags isModelDriven = False isStandard = True P2::MX12 tags isModelDriven = False isStandard = True P2::PLBMWUPI tags isModelDriven = False isStandard = True «framework» Metrowerks Library + _CHECKSUM_QUAL + _CheckSum1ByteTyp + CHECKSUM + START12 + CHECKSUM_VerifyRO + START12_StartECU (from St «framework» BMW PDC Common Modules P1::AHTST tags isModelDriven = False isStandard = False P1::AMM tags isModelDriven = False isStandard = False P1::AUPA tags isModelDriven = False isStandard = False P1::AKLC tags isModelDriven = False isStandard = False P1::AFESP tags isModelDriven = False isStandard = False P1::ACODI tags isModelDriven = False isStandard = False «BMWtemplatebased» P1::ADIAG «BMWtemplatebased» P1::AMAIN «import» «import» «import»«import»
  • 34. 34 Architecture management Identify standard components USING SYSML AT SOFTWARE LEVEL «framework» BMW PDC Common Modules APKM tags isModelDriven = True isStandard = False APKS tags isModelDriven = True isStandard = False «framework» STD Modules Detection System tags isModelDriven = False isStandard = True COMM tags isModelDriven = False isStandard = True VOLT tags isModelDriven = False isStandard = True MXAD tags isModelDriven = False isStandard = True MX12 tags isModelDriven = False isStandard = True PLBMWUPI tags isModelDriven = False isStandard = True «framework» Application - BMW PDC L4 AFESP tags isModelDriven = False isStandard = False AHTST tags isModelDriven = False isStandard = False AKLC tags isModelDriven = False isStandard = False AMM tags isModelDriven = False isStandard = False AUPA tags isModelDriven = False isStandard = False ADESC «framework» Metrowerks Library + _CHECKSUM_QUALI + _CheckSum1ByteType + CHECKSUM + START12 + CHECKSUM_VerifyROMChe + START12_StartECU ACODI tags isModelDriven = False isStandard = False EEPIF_SC6: EEPIF EEP_SC6: EEP NVM_SC6: NVM «BMWtemplatebased» AMAIN DEM_SC6: DEM «import»«import» «import» «import»
  • 35. 35 Architecture management Split main features functional flow between components USING SYSML AT SOFTWARE LEVEL sd Determine Park Assistant State AUPA: AUPA«subsystem» :Diagnostic PDCControlLogic subsystem: PDCControlLogic «subsystem» :ApplicationPowerState «subsystem» PDCActivationLogic: PDCActivationLogic {Application power state has been determined} AUPA_Config / AUPA_Config opt Application power state indicates that the sensor power is supplied [Sensor power supply is ON] UPA_SetRequestedState(u8) XUPA_IS_USENSOR_ON(): bool_T KLC_HSS_GetState(): KLC_HSS_STATE UPA_Cyclic() XUPA_IS_USENSOR_OK(): bool_T PARK_ASSIST_STATE_REQD_IF(u8) HSS_STATE_IF() KLC_HSS_GetState(): KLC_HSS_STATE HSS_STATE_IF()
  • 37. 37 Towards a new AGPS discipline offer: “Model Based Engineering for Embedded System” Principle PERSPECTIVES • Auditing customer both system and software engineering processes • Identifying profiles and patterns opportunities • Building models at system and software level • Specifying, developing and/or sustaining model transformation tools • Specifying, developing and/or sustaining artefact generation tools Next steps • Deploying AGPS profiles and patterns • Writing guidelines for variant management • Writing guidelines for test requirement management • Developing SysML model transformation schemes for verification • … Want to contribute ? • Please send me a mail at rcasteran@assystem.com

Editor's Notes

  • #5: INCOSE: INternational Council On Systems Engineering ISO/IEC 15288: systems and software engineering: system life cycle processes Why our own definition for Embedded system ? Because there is no standardized definition To understand each other To share our discipline vision with our customers Embedded system is interfaced with: Sensors which provide Embedded system inputs Actuators which receive Embedded system outputs
  • #6: ISO 24765: systems and software engineering: vocabulary Please reminder that a complete modelling of an embedded system is a myth !
  • #7: On the right : project specification tree, as specified by INCOSE On the left: sysml decomposition of an embedded system in ALSTOM TIS
  • #8: Two kinds of models: - interpretable: based on a modelling language, allowing to transform it into another language or model space - executable: embeds executable software code to compute discrete input values to discrete output values First model: not interpretable, not executable (comparison of brackets notation and without brackets notation in transition) Second model: more interpretable (based on UML notation), not executable (transition meaning ?) Third model: interpretable, executable
  • #9: Architecture world relies on elements/interfaces decomposition and allocation Requirement world relies on needs refinement and allocation Challenge: how to link architecture artefacts to requirement artefacts ?
  • #10: Solution : Architecture “satisfies” requirements (technical solution) Architecture “justifies” derived requirements (additional requirements to due to technical solution)
  • #11: Example of a tool chain implementing this solution for VALEO: Requirement management is performed in DOORS Architecture management is performed in EA Standard design management is performed in Statemate
  • #12: UPPAAL: UPPsala AALborlg university language Model verification criteria inherits from architecture verification criteria: Understandable: Scope, objectives, assumption of architecture are clearly defined Response navigation through the model elements/diagrams Clear traceability between model elements Completion: Fulfilment and traceability of all requirements Degraded modes and performances defined Range and precision justified Robustness Justification of derived requirements Justification of design pattern Justification of metamodeling and profiling usage Consistency Structural : instances vs classes Logic : sequence diagrams vs statemachine diagrams vs block diagrams Constraints Names Stability Baselining flexibility Scalability between variants
  • #16: MDA : Model Driven Archicture Here an example of PIM for network description
  • #17: Here the results of the MDA transformation of this network description into XML/XSD description
  • #18: Everything can be modelized in SysML with a Block. So we need to specialize the block element for embedded system.
  • #19: Why a “function block” ? - 1st argument: requirement satisfaction (functional view)
  • #20: Why a “function block” ? - 2st argument: ibd of a “function block” is simplier than an “activity diagram”
  • #21: Why a “function block” ? - 3st argument: structural view consistency with functional view
  • #22: Please do not reinvent the wheel at each new project setup ! Here is an example of a classical statemachine for embedded system.
  • #23: First level of requirement traceability: A use case is not a function, but a “bundle of function” that “satisfies” a requirement (functional view) First level of interface definition Here an example of maintenance management function of an embedded system
  • #24: Refine interfaces with sequence diagrams (Please note the link with the state machine)
  • #30: Here an example of an architecture description of an AUTOSAR software component in SysML
  • #31: The related AUTOSAR configuration generated from the architecture description
  • #33: We do not know about software architecture and decomposition at this stage, but we design main features. Please note that “ECU abstraction layer”, “Application voltage state” and “Diagnostic” are standard features for embedded systems.
  • #34: Here an example of software component classification, where the green modules was considered as “non standard” by the management. Please always consider two levels of standardisation / reusability: 1st level for all projects based on the same system, whatever the customer is (so called “STD modules” in the example) 2nd level for all projects for one customer based on the same system (so called “BMW PDC common modules in the example)
  • #35: Why these two levels ? Improving variant management of embedded systems ! Here the results for VALEO in a new BMW project concerning the same embedded system as previously.