SlideShare a Scribd company logo
1 of 29
Download to read offline
Megamodeling of complex,
distributed, heterogeneous CPS
systems
Eugenio Villar
University of Cantabria
Agenda
▪ Introduction
▪ Single-Source Design Approach
▪ Model-driven Analysis and Design for the IoE
▪ Conclusions
Introduction
▪ Model-Driven Design (MDD)
▪ High-abstraction level
▪ Mature SW engineering methodology
▪ State-of-the-Art
▪ Matlab-Simulink
▪ Proprietary, only one MoC, M language
▪ CoFluent
▪ Proprietary, a few MoCs, C/C++ language
▪ Ptolemy II
▪ Academic, any MoC, C/C++ inside a Java block
▪ …
Introduction
▪ UML
▪ Standard, any (user-defined) MoC, any language
▪ Natural way to capture system architecture
N2 BN1
M A
▪ Semantic lacks
▪ Domain-specific profiles
▪ MetaMorph
▪ OpenSource, any (user-defined) MoC, language agnostic
C/C++,…
Autosar RTE
UML
ES DSLs
HTML5,…
Java,…
Dalvik VM,…
UML
SmartPhone
DSLs
Introduction
Java,…
MPI,…
UML
DC DSLs
ADA,…
C/C++,…
MCAPI,…
UML
ES DSLs
Single-Source Embedded System Design
ADA,…
C/C++,…
MCAPI,…
UML
MARTE
Schedulability
Analysis
Simulation
Verification
Performance
Analysis
Design-Space
Exploration
Architectural
Mapping
Security
Safety
HW
Synthesis
SW
Synthesis
▪ S3D
Model-Driven Analysis and Design of IoT Systems
▪ Programming the Internet of Everything
▪ Services provided on computing platforms of many kind
Model-Driven Analysis and Design for the IoE
▪ Programming the Internet of Everything
▪ Services provided on computing platforms of many kind
C/C++,…
Autosar RTE
ForTran,…
Python,…
MPI,…
Java,…
MPI,…
C/C++,…
MCAPI,…
HTML5,…
Java,…
Dalvik VM,…
UML
DC DSLs
UML
ES DSLs
UML
SmartPhone
DSLs
Service
UML
ES DSLs
UML
CPSoS DSL
Model-Driven Analysis and Design for the IoE
▪ Programming the Internet of Everything
▪ Services provided on computing platforms of many kind
HW
Synthesis
SW
Synthesis
(RT)OS,
Runtime,…
Corba, TCP/IP,
MPI, MCAPI,…
ForTran,
Python, Java,
HTML5,
C/C++,…
Concerns
Performance,
safety, cost,
security, size,
…
Schedulability
Analysis
Simulation
Verification
Performance
Analysis
Design-Space
Exploration
Optimization
Service
UML
CPSoS DSL
MD Analysis & Design: Component-Based
▪ UML/MARTE System Modeling Methodology
▪ Platform-Independent
▪ Component-Based
▪ Supporting
▪ Object-Orientation
▪ Actor-Orientation
required
interface
Component 1
Component 3
Component 2
Port 3.1
Port 3.2 Port 2.1Port 2.2
Port 1
provided
interface
required
interface
provided
interface
required
interface
OO
CB
AO
MD Analysis & Design: Component-Based
▪ UML/MARTE System Modeling Methodology
▪ Platform-Independent
▪ Component-Based
▪ Supporting
▪ Object-Orientation
▪ Actor-Orientation
▪ Reusable
▪ Scalable
▪ Hierarchical
▪ Functionality
MD Analysis & Design: Scalability
▪ UML/MARTE System Modeling Methodology
▪ Platform-Independent
▪ Component-Based
▪ Supporting
▪ Object-Orientation
▪ Actor-Orientation
▪ Reusable
▪ Scalable
▪ Hierarchical
▪ Functionality
▪ Execution Platform
MD Analysis & Design: Scalability
▪ UML/MARTE System Modeling Methodology
▪ Platform-Independent
▪ Component-Based
▪ Supporting
▪ Object-Orientation
▪ Actor-Orientation
▪ Reusable
▪ Library-based
▪ Scalable
▪ Hierarchical
▪ Functionality
▪ Execution Platform
MD Analysis & Design: Reusability
▪ UML/MARTE System Modeling Methodology
▪ Platform-Independent
▪ Component-Based
▪ Supporting
▪ Object-Orientation
▪ Actor-Orientation
▪ Reusable
▪ Library-based
▪ Interface Inheritance
▪ Scalable
▪ Hierarchical
▪ Functionality
▪ Execution Platform
Generic
Component
getDBRunway(in airport: Echar, in runway: Echar): D_FlWaypoint
getAirport(in airport: Echar)
getRunway(in runway: Echar)
getRunway(): D_FlWaypoint
Application
Component
MD Analysis & Design: Flexibility
▪ UML/MARTE System Modeling Methodology
▪ Platform-Independent
▪ Component-Based
▪ Supporting
▪ Object-Orientation
▪ Actor-Orientation
▪ Reusable
▪ Library-based
▪ Interface Inheritance
▪ Scalable
▪ Hierarchical
▪ Functionality
▪ Execution Platform
▪ Flexible
MD Analysis & Design: Flexibility
▪ Supporting different Models of Computation & Communication
▪ Properties of the Provided Port
▪ NotAttendedService
▪ Retry
▪ Properties of the Interface Methods
▪ concurrency
▪ exekind
▪ syncKind
▪ Properties of the Required Port
▪ queueSize
▪ FullPoolPolicy
MD Analysis & Design: Flexibility
▪ Function Call/RPC/RMI
▪ Rendezvous
Required Port RtService Provided Port
MoCNotAttendedService retry concurrency exekind syncKind queueSize FullPoolPolicy
infiniteWait none G or C rem.Im. sync. none none exactly once
infiniteWait none G or C rem.Im. async. none none at most once
dynamic none G or C rem.Im. sync. none none exactly once
dynamic none G or C rem.Im. async. none none at most once
timedWait 0 G or C rem.Im. sync. none none exactly once
timedWait 0 G or C rem.Im. async. none none at most once
timedWait > 0 G or C rem.Im. sync. none none at least once
timedWait > 0 G or C rem.Im. async. none none maybe once
Required Port RtService Provided Port
MoCNotAttendedService retry concurrency exekind syncKind queueSize FullPoolPolicy
infiniteWait none G or C rem.Im. rendezvous none none CSP
timedWait 0 G or C rem.Im. rendezvous none none RV
timedWait > 0 G or C rem.Im. rendezvous none none RV
MD Analysis & Design: Flexibility
▪ Data-Flow
▪ Discrete-Event/Time-Triggered/Timed Data-Flow
Required Port RtService Provided Port
MoCNotAttendedService retry concurrency exekind syncKind queueSize FullPoolPolicy
infiniteWait none G or C deferred async. > 0 block KPN/SDF
infiniteWait none G or C deferred async. > 0 (any other) DF
dynamic none G or C deferred async. > 0 any DF
timedWait 0 G or C deferred async. > 0 any DF
timedWait > 0 G or C deferred async. > 0 any DF
Required Port RtService Provided Port
MoCNotAttendedService retry concurrency exekind syncKind queueSize FullPoolPolicy
dynamic none G or C rem.Im. async. none none DE/TT/TDF
Design-Space Exploration & Optimization
▪ Architectural (Functional) Design
▪ Code Reuse and/or Development
▪ Platform Independent
▪ Architectural Mapping
▪ HW/SW Execution Platform
Model-Driven Performance Analysis
▪ Problem Statement
▪ Fast Simulation & Performance Analysis
▪ Before full SW Development
▪ Native Simulation
▪ Host-Compiled
▪ Native Simulation
…
Overflow = 0;
s = 1L;
for (i = 0; i < L_subfr; i++) {
Carry = 0;
s = L_macNs(s, xn[i], y1[i]);
if (Overflow != 0) {
break; }}
if (Overflow == 0) {
exp_xy = norm_l(s);
if (exp_xy<=0)
xy = round(L_shr (s, -exp_xy));
else
xy = round(L_shl (s, exp_xy)); }
mutex_lock(mutex_name);
…
Global variable
int Sim_Time = 0;
Sim_Time += TB();
Sim_Time += TB();
Sim_Time += TB();
Sim_Time += TB();
Sim_Time += TB();
Sim_Time += TB();
wait included
TB() is a function of
# of binary instructions
type of instructions
# of cache misses
frequency
even
data dependencies
Sim_Time += TSYS();
TSYS() is a function of
preemptions
conflicts in the bus
Model-Driven Performance Analysis
▪ CPS: Digital Behavior in a Physical World
▪ System Model (Specification)
▪ The implementation is as good as similar to the model
▪ Environment Model
▪ The model is as good as similar to reality
Model-Driven Design Verification
▪ Timing Constraints Specification
Model-Driven Design Verification
▪ Functional synthesis
▪ ‘main’ functions
▪ Static concurrency
▪ Platform-Specific code
▪ Optimized C code for DSPs
▪ OpenCL/GL for GPUs
▪ C/C++ & OpenMP for SMPs…
C3
DSP
optimized
C code
OpenCL/GL
code for
GPU
Platform-
Independent
C code
Communication Infrastructure
Memory Space
OS
GPU
SMP
node
DSP
Model-Driven SW Synthesis
▪ Communication synthesis
▪ Architectural mapping
▪ Memory space
▪ OS
▪ Processing node
▪ Communication Protocols
▪ MPI
▪ MCAPI
▪ TCP/IP…
▪ Benefits / Drawbacks
▪ Communication Speed
▪ Memory protection
▪ Memory/cache use
▪ Scheduling
▪ Parallelism…
25
Model-Driven SW Synthesis
Conclusions
▪ The IoE demands new CPSoS design methods and tools
▪ Model-Driven system design is a powerful candidate
▪ A CPSoS system modeling language is required
▪ Supporting Mega-Modeling
▪ Analysis & design of the whole IoE service
▪ Single-Source Approach
Any comment/question?
S3D Demo
▪ Flight Management System Model
UML-MARTE MODEL
S3D Demo
▪ Simulation and Verification
SIMULATIONVERIFICATION

More Related Content

What's hot

zkStudyClub: CirC and Compiling Programs to Circuits
zkStudyClub: CirC and Compiling Programs to CircuitszkStudyClub: CirC and Compiling Programs to Circuits
zkStudyClub: CirC and Compiling Programs to CircuitsAlex Pruden
 
Dynamic pricing of Lyft rides using streaming
Dynamic pricing of Lyft rides using streamingDynamic pricing of Lyft rides using streaming
Dynamic pricing of Lyft rides using streamingAmar Pai
 
The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...
The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...
The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...Tokyo University of Science
 
ONNC - 0.9.1 release
ONNC - 0.9.1 releaseONNC - 0.9.1 release
ONNC - 0.9.1 releaseLuba Tang
 
Inspecting Block Closures To Generate Shaders for GPU Execution
Inspecting Block Closures To Generate Shaders for GPU ExecutionInspecting Block Closures To Generate Shaders for GPU Execution
Inspecting Block Closures To Generate Shaders for GPU ExecutionESUG
 
JIT compilation in modern platforms – challenges and solutions
JIT compilation in modern platforms – challenges and solutionsJIT compilation in modern platforms – challenges and solutions
JIT compilation in modern platforms – challenges and solutionsaragozin
 
EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5PRADEEP
 
Assembly Language Lecture 5
Assembly Language Lecture 5Assembly Language Lecture 5
Assembly Language Lecture 5Motaz Saad
 
SC13: OpenMP and NVIDIA
SC13: OpenMP and NVIDIASC13: OpenMP and NVIDIA
SC13: OpenMP and NVIDIAJeff Larkin
 
Big Data for Mobile
Big Data for MobileBig Data for Mobile
Big Data for MobileBugSense
 
ESL Anyone?
ESL Anyone? ESL Anyone?
ESL Anyone? DVClub
 
Verilog Lecture2 thhts
Verilog Lecture2 thhtsVerilog Lecture2 thhts
Verilog Lecture2 thhtsBéo Tú
 
Pragmatic Optimization in Modern Programming - Ordering Optimization Approaches
Pragmatic Optimization in Modern Programming - Ordering Optimization ApproachesPragmatic Optimization in Modern Programming - Ordering Optimization Approaches
Pragmatic Optimization in Modern Programming - Ordering Optimization ApproachesMarina Kolpakova
 
LAS16-501: Introduction to LLVM - Projects, Components, Integration, Internals
LAS16-501: Introduction to LLVM - Projects, Components, Integration, InternalsLAS16-501: Introduction to LLVM - Projects, Components, Integration, Internals
LAS16-501: Introduction to LLVM - Projects, Components, Integration, InternalsLinaro
 

What's hot (19)

zkStudyClub: CirC and Compiling Programs to Circuits
zkStudyClub: CirC and Compiling Programs to CircuitszkStudyClub: CirC and Compiling Programs to Circuits
zkStudyClub: CirC and Compiling Programs to Circuits
 
Dynamic pricing of Lyft rides using streaming
Dynamic pricing of Lyft rides using streamingDynamic pricing of Lyft rides using streaming
Dynamic pricing of Lyft rides using streaming
 
The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...
The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...
The Switchboard Traffic Engineering Problem for Mixed Contention/Cut-Through ...
 
ONNC - 0.9.1 release
ONNC - 0.9.1 releaseONNC - 0.9.1 release
ONNC - 0.9.1 release
 
Inspecting Block Closures To Generate Shaders for GPU Execution
Inspecting Block Closures To Generate Shaders for GPU ExecutionInspecting Block Closures To Generate Shaders for GPU Execution
Inspecting Block Closures To Generate Shaders for GPU Execution
 
Chapt 06
Chapt 06Chapt 06
Chapt 06
 
JIT compilation in modern platforms – challenges and solutions
JIT compilation in modern platforms – challenges and solutionsJIT compilation in modern platforms – challenges and solutions
JIT compilation in modern platforms – challenges and solutions
 
EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5EMBEDDED SYSTEMS 4&5
EMBEDDED SYSTEMS 4&5
 
Assembly Language Lecture 5
Assembly Language Lecture 5Assembly Language Lecture 5
Assembly Language Lecture 5
 
Verilog tutorial
Verilog tutorialVerilog tutorial
Verilog tutorial
 
SC13: OpenMP and NVIDIA
SC13: OpenMP and NVIDIASC13: OpenMP and NVIDIA
SC13: OpenMP and NVIDIA
 
de Valpine NIMBLE
de Valpine NIMBLEde Valpine NIMBLE
de Valpine NIMBLE
 
Big Data for Mobile
Big Data for MobileBig Data for Mobile
Big Data for Mobile
 
The low level awesomeness of Go
The low level awesomeness of GoThe low level awesomeness of Go
The low level awesomeness of Go
 
ESL Anyone?
ESL Anyone? ESL Anyone?
ESL Anyone?
 
Verilog Lecture2 thhts
Verilog Lecture2 thhtsVerilog Lecture2 thhts
Verilog Lecture2 thhts
 
Pragmatic Optimization in Modern Programming - Ordering Optimization Approaches
Pragmatic Optimization in Modern Programming - Ordering Optimization ApproachesPragmatic Optimization in Modern Programming - Ordering Optimization Approaches
Pragmatic Optimization in Modern Programming - Ordering Optimization Approaches
 
Coding style for good synthesis
Coding style for good synthesisCoding style for good synthesis
Coding style for good synthesis
 
LAS16-501: Introduction to LLVM - Projects, Components, Integration, Internals
LAS16-501: Introduction to LLVM - Projects, Components, Integration, InternalsLAS16-501: Introduction to LLVM - Projects, Components, Integration, Internals
LAS16-501: Introduction to LLVM - Projects, Components, Integration, Internals
 

Similar to Model-Driven Design of Complex CPS Systems

Model-Driven Analysis&Design of Distributed, Heterogeneous Systems
Model-Driven Analysis&Design of Distributed, Heterogeneous SystemsModel-Driven Analysis&Design of Distributed, Heterogeneous Systems
Model-Driven Analysis&Design of Distributed, Heterogeneous SystemsEugenio Villar
 
Week1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC BeginWeek1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC Begin敬倫 林
 
2019 hashiconf consul-templaterb
2019 hashiconf consul-templaterb2019 hashiconf consul-templaterb
2019 hashiconf consul-templaterbPierre Souchay
 
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...Chris Fregly
 
Optimizing, Profiling, and Deploying High Performance Spark ML and TensorFlow AI
Optimizing, Profiling, and Deploying High Performance Spark ML and TensorFlow AIOptimizing, Profiling, and Deploying High Performance Spark ML and TensorFlow AI
Optimizing, Profiling, and Deploying High Performance Spark ML and TensorFlow AIData Con LA
 
tau 2015 spyrou fpga timing
tau 2015 spyrou fpga timingtau 2015 spyrou fpga timing
tau 2015 spyrou fpga timingTom Spyrou
 
[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기NAVER D2
 
OSGi Remote Services - Alexander Broekhuis, Bram de Kruijff
OSGi Remote Services - Alexander Broekhuis, Bram de Kruijff OSGi Remote Services - Alexander Broekhuis, Bram de Kruijff
OSGi Remote Services - Alexander Broekhuis, Bram de Kruijff mfrancis
 
Planning and Control Algorithms Model-Based Approach (State-Space)
Planning and Control Algorithms Model-Based Approach (State-Space)Planning and Control Algorithms Model-Based Approach (State-Space)
Planning and Control Algorithms Model-Based Approach (State-Space)M Reza Rahmati
 
Presto anatomy
Presto anatomyPresto anatomy
Presto anatomyDongmin Yu
 
Java Jit. Compilation and optimization by Andrey Kovalenko
Java Jit. Compilation and optimization by Andrey KovalenkoJava Jit. Compilation and optimization by Andrey Kovalenko
Java Jit. Compilation and optimization by Andrey KovalenkoValeriia Maliarenko
 
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
"JIT compiler overview" @ JEEConf 2013, Kiev, UkraineVladimir Ivanov
 
Efficient use of NodeJS
Efficient use of NodeJSEfficient use of NodeJS
Efficient use of NodeJSYura Bogdanov
 

Similar to Model-Driven Design of Complex CPS Systems (20)

Model-Driven Analysis&Design of Distributed, Heterogeneous Systems
Model-Driven Analysis&Design of Distributed, Heterogeneous SystemsModel-Driven Analysis&Design of Distributed, Heterogeneous Systems
Model-Driven Analysis&Design of Distributed, Heterogeneous Systems
 
Week1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC BeginWeek1 Electronic System-level ESL Design and SystemC Begin
Week1 Electronic System-level ESL Design and SystemC Begin
 
Concurrency
ConcurrencyConcurrency
Concurrency
 
Onnc intro
Onnc introOnnc intro
Onnc intro
 
Return of c++
Return of c++Return of c++
Return of c++
 
2019 hashiconf consul-templaterb
2019 hashiconf consul-templaterb2019 hashiconf consul-templaterb
2019 hashiconf consul-templaterb
 
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
 
Optimizing, Profiling, and Deploying High Performance Spark ML and TensorFlow AI
Optimizing, Profiling, and Deploying High Performance Spark ML and TensorFlow AIOptimizing, Profiling, and Deploying High Performance Spark ML and TensorFlow AI
Optimizing, Profiling, and Deploying High Performance Spark ML and TensorFlow AI
 
Skydive 5/07/2016
Skydive 5/07/2016Skydive 5/07/2016
Skydive 5/07/2016
 
Loom and concurrency latest
Loom and concurrency latestLoom and concurrency latest
Loom and concurrency latest
 
Lec13
Lec13Lec13
Lec13
 
tau 2015 spyrou fpga timing
tau 2015 spyrou fpga timingtau 2015 spyrou fpga timing
tau 2015 spyrou fpga timing
 
[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기
 
OSGi Remote Services - Alexander Broekhuis, Bram de Kruijff
OSGi Remote Services - Alexander Broekhuis, Bram de Kruijff OSGi Remote Services - Alexander Broekhuis, Bram de Kruijff
OSGi Remote Services - Alexander Broekhuis, Bram de Kruijff
 
Planning and Control Algorithms Model-Based Approach (State-Space)
Planning and Control Algorithms Model-Based Approach (State-Space)Planning and Control Algorithms Model-Based Approach (State-Space)
Planning and Control Algorithms Model-Based Approach (State-Space)
 
Mechatronics engineer
Mechatronics engineerMechatronics engineer
Mechatronics engineer
 
Presto anatomy
Presto anatomyPresto anatomy
Presto anatomy
 
Java Jit. Compilation and optimization by Andrey Kovalenko
Java Jit. Compilation and optimization by Andrey KovalenkoJava Jit. Compilation and optimization by Andrey Kovalenko
Java Jit. Compilation and optimization by Andrey Kovalenko
 
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
 
Efficient use of NodeJS
Efficient use of NodeJSEfficient use of NodeJS
Efficient use of NodeJS
 

Recently uploaded

Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 

Recently uploaded (20)

Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 

Model-Driven Design of Complex CPS Systems

  • 1. Megamodeling of complex, distributed, heterogeneous CPS systems Eugenio Villar University of Cantabria
  • 2. Agenda ▪ Introduction ▪ Single-Source Design Approach ▪ Model-driven Analysis and Design for the IoE ▪ Conclusions
  • 3. Introduction ▪ Model-Driven Design (MDD) ▪ High-abstraction level ▪ Mature SW engineering methodology ▪ State-of-the-Art ▪ Matlab-Simulink ▪ Proprietary, only one MoC, M language ▪ CoFluent ▪ Proprietary, a few MoCs, C/C++ language ▪ Ptolemy II ▪ Academic, any MoC, C/C++ inside a Java block ▪ …
  • 4. Introduction ▪ UML ▪ Standard, any (user-defined) MoC, any language ▪ Natural way to capture system architecture N2 BN1 M A ▪ Semantic lacks ▪ Domain-specific profiles ▪ MetaMorph ▪ OpenSource, any (user-defined) MoC, language agnostic
  • 5. C/C++,… Autosar RTE UML ES DSLs HTML5,… Java,… Dalvik VM,… UML SmartPhone DSLs Introduction Java,… MPI,… UML DC DSLs ADA,… C/C++,… MCAPI,… UML ES DSLs
  • 6. Single-Source Embedded System Design ADA,… C/C++,… MCAPI,… UML MARTE Schedulability Analysis Simulation Verification Performance Analysis Design-Space Exploration Architectural Mapping Security Safety HW Synthesis SW Synthesis ▪ S3D
  • 7. Model-Driven Analysis and Design of IoT Systems ▪ Programming the Internet of Everything ▪ Services provided on computing platforms of many kind
  • 8. Model-Driven Analysis and Design for the IoE ▪ Programming the Internet of Everything ▪ Services provided on computing platforms of many kind C/C++,… Autosar RTE ForTran,… Python,… MPI,… Java,… MPI,… C/C++,… MCAPI,… HTML5,… Java,… Dalvik VM,… UML DC DSLs UML ES DSLs UML SmartPhone DSLs Service UML ES DSLs UML CPSoS DSL
  • 9. Model-Driven Analysis and Design for the IoE ▪ Programming the Internet of Everything ▪ Services provided on computing platforms of many kind HW Synthesis SW Synthesis (RT)OS, Runtime,… Corba, TCP/IP, MPI, MCAPI,… ForTran, Python, Java, HTML5, C/C++,… Concerns Performance, safety, cost, security, size, … Schedulability Analysis Simulation Verification Performance Analysis Design-Space Exploration Optimization Service UML CPSoS DSL
  • 10. MD Analysis & Design: Component-Based ▪ UML/MARTE System Modeling Methodology ▪ Platform-Independent ▪ Component-Based ▪ Supporting ▪ Object-Orientation ▪ Actor-Orientation required interface Component 1 Component 3 Component 2 Port 3.1 Port 3.2 Port 2.1Port 2.2 Port 1 provided interface required interface provided interface required interface OO CB AO
  • 11. MD Analysis & Design: Component-Based ▪ UML/MARTE System Modeling Methodology ▪ Platform-Independent ▪ Component-Based ▪ Supporting ▪ Object-Orientation ▪ Actor-Orientation ▪ Reusable ▪ Scalable ▪ Hierarchical ▪ Functionality
  • 12. MD Analysis & Design: Scalability ▪ UML/MARTE System Modeling Methodology ▪ Platform-Independent ▪ Component-Based ▪ Supporting ▪ Object-Orientation ▪ Actor-Orientation ▪ Reusable ▪ Scalable ▪ Hierarchical ▪ Functionality ▪ Execution Platform
  • 13. MD Analysis & Design: Scalability ▪ UML/MARTE System Modeling Methodology ▪ Platform-Independent ▪ Component-Based ▪ Supporting ▪ Object-Orientation ▪ Actor-Orientation ▪ Reusable ▪ Library-based ▪ Scalable ▪ Hierarchical ▪ Functionality ▪ Execution Platform
  • 14. MD Analysis & Design: Reusability ▪ UML/MARTE System Modeling Methodology ▪ Platform-Independent ▪ Component-Based ▪ Supporting ▪ Object-Orientation ▪ Actor-Orientation ▪ Reusable ▪ Library-based ▪ Interface Inheritance ▪ Scalable ▪ Hierarchical ▪ Functionality ▪ Execution Platform Generic Component getDBRunway(in airport: Echar, in runway: Echar): D_FlWaypoint getAirport(in airport: Echar) getRunway(in runway: Echar) getRunway(): D_FlWaypoint Application Component
  • 15. MD Analysis & Design: Flexibility ▪ UML/MARTE System Modeling Methodology ▪ Platform-Independent ▪ Component-Based ▪ Supporting ▪ Object-Orientation ▪ Actor-Orientation ▪ Reusable ▪ Library-based ▪ Interface Inheritance ▪ Scalable ▪ Hierarchical ▪ Functionality ▪ Execution Platform ▪ Flexible
  • 16. MD Analysis & Design: Flexibility ▪ Supporting different Models of Computation & Communication ▪ Properties of the Provided Port ▪ NotAttendedService ▪ Retry ▪ Properties of the Interface Methods ▪ concurrency ▪ exekind ▪ syncKind ▪ Properties of the Required Port ▪ queueSize ▪ FullPoolPolicy
  • 17. MD Analysis & Design: Flexibility ▪ Function Call/RPC/RMI ▪ Rendezvous Required Port RtService Provided Port MoCNotAttendedService retry concurrency exekind syncKind queueSize FullPoolPolicy infiniteWait none G or C rem.Im. sync. none none exactly once infiniteWait none G or C rem.Im. async. none none at most once dynamic none G or C rem.Im. sync. none none exactly once dynamic none G or C rem.Im. async. none none at most once timedWait 0 G or C rem.Im. sync. none none exactly once timedWait 0 G or C rem.Im. async. none none at most once timedWait > 0 G or C rem.Im. sync. none none at least once timedWait > 0 G or C rem.Im. async. none none maybe once Required Port RtService Provided Port MoCNotAttendedService retry concurrency exekind syncKind queueSize FullPoolPolicy infiniteWait none G or C rem.Im. rendezvous none none CSP timedWait 0 G or C rem.Im. rendezvous none none RV timedWait > 0 G or C rem.Im. rendezvous none none RV
  • 18. MD Analysis & Design: Flexibility ▪ Data-Flow ▪ Discrete-Event/Time-Triggered/Timed Data-Flow Required Port RtService Provided Port MoCNotAttendedService retry concurrency exekind syncKind queueSize FullPoolPolicy infiniteWait none G or C deferred async. > 0 block KPN/SDF infiniteWait none G or C deferred async. > 0 (any other) DF dynamic none G or C deferred async. > 0 any DF timedWait 0 G or C deferred async. > 0 any DF timedWait > 0 G or C deferred async. > 0 any DF Required Port RtService Provided Port MoCNotAttendedService retry concurrency exekind syncKind queueSize FullPoolPolicy dynamic none G or C rem.Im. async. none none DE/TT/TDF
  • 19. Design-Space Exploration & Optimization ▪ Architectural (Functional) Design ▪ Code Reuse and/or Development ▪ Platform Independent ▪ Architectural Mapping ▪ HW/SW Execution Platform
  • 20. Model-Driven Performance Analysis ▪ Problem Statement ▪ Fast Simulation & Performance Analysis ▪ Before full SW Development ▪ Native Simulation ▪ Host-Compiled
  • 21. ▪ Native Simulation … Overflow = 0; s = 1L; for (i = 0; i < L_subfr; i++) { Carry = 0; s = L_macNs(s, xn[i], y1[i]); if (Overflow != 0) { break; }} if (Overflow == 0) { exp_xy = norm_l(s); if (exp_xy<=0) xy = round(L_shr (s, -exp_xy)); else xy = round(L_shl (s, exp_xy)); } mutex_lock(mutex_name); … Global variable int Sim_Time = 0; Sim_Time += TB(); Sim_Time += TB(); Sim_Time += TB(); Sim_Time += TB(); Sim_Time += TB(); Sim_Time += TB(); wait included TB() is a function of # of binary instructions type of instructions # of cache misses frequency even data dependencies Sim_Time += TSYS(); TSYS() is a function of preemptions conflicts in the bus Model-Driven Performance Analysis
  • 22. ▪ CPS: Digital Behavior in a Physical World ▪ System Model (Specification) ▪ The implementation is as good as similar to the model ▪ Environment Model ▪ The model is as good as similar to reality Model-Driven Design Verification
  • 23. ▪ Timing Constraints Specification Model-Driven Design Verification
  • 24. ▪ Functional synthesis ▪ ‘main’ functions ▪ Static concurrency ▪ Platform-Specific code ▪ Optimized C code for DSPs ▪ OpenCL/GL for GPUs ▪ C/C++ & OpenMP for SMPs… C3 DSP optimized C code OpenCL/GL code for GPU Platform- Independent C code Communication Infrastructure Memory Space OS GPU SMP node DSP Model-Driven SW Synthesis
  • 25. ▪ Communication synthesis ▪ Architectural mapping ▪ Memory space ▪ OS ▪ Processing node ▪ Communication Protocols ▪ MPI ▪ MCAPI ▪ TCP/IP… ▪ Benefits / Drawbacks ▪ Communication Speed ▪ Memory protection ▪ Memory/cache use ▪ Scheduling ▪ Parallelism… 25 Model-Driven SW Synthesis
  • 26. Conclusions ▪ The IoE demands new CPSoS design methods and tools ▪ Model-Driven system design is a powerful candidate ▪ A CPSoS system modeling language is required ▪ Supporting Mega-Modeling ▪ Analysis & design of the whole IoE service ▪ Single-Source Approach
  • 28. S3D Demo ▪ Flight Management System Model UML-MARTE MODEL
  • 29. S3D Demo ▪ Simulation and Verification SIMULATIONVERIFICATION