SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante a Megamodeling of Complex, Distributed, Heterogeneous 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
 

Semelhante a Megamodeling of Complex, Distributed, Heterogeneous 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
 

Último

Final DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualFinal DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualBalamuruganV28
 
Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdfKamal Acharya
 
UNIT-2 image enhancement.pdf Image Processing Unit 2 AKTU
UNIT-2 image enhancement.pdf Image Processing Unit 2 AKTUUNIT-2 image enhancement.pdf Image Processing Unit 2 AKTU
UNIT-2 image enhancement.pdf Image Processing Unit 2 AKTUankushspencer015
 
21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docx21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docxrahulmanepalli02
 
Raashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashidFaiyazSheikh
 
Passive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.pptPassive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.pptamrabdallah9
 
Intro to Design (for Engineers) at Sydney Uni
Intro to Design (for Engineers) at Sydney UniIntro to Design (for Engineers) at Sydney Uni
Intro to Design (for Engineers) at Sydney UniR. Sosa
 
Maximizing Incident Investigation Efficacy in Oil & Gas: Techniques and Tools
Maximizing Incident Investigation Efficacy in Oil & Gas: Techniques and ToolsMaximizing Incident Investigation Efficacy in Oil & Gas: Techniques and Tools
Maximizing Incident Investigation Efficacy in Oil & Gas: Techniques and Toolssoginsider
 
Artificial Intelligence in due diligence
Artificial Intelligence in due diligenceArtificial Intelligence in due diligence
Artificial Intelligence in due diligencemahaffeycheryld
 
5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...archanaece3
 
Worksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptxWorksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptxMustafa Ahmed
 
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdfInvolute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdfJNTUA
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxkalpana413121
 
handbook on reinforce concrete and detailing
handbook on reinforce concrete and detailinghandbook on reinforce concrete and detailing
handbook on reinforce concrete and detailingAshishSingh1301
 
electrical installation and maintenance.
electrical installation and maintenance.electrical installation and maintenance.
electrical installation and maintenance.benjamincojr
 
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024EMMANUELLEFRANCEHELI
 
Adsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptAdsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptjigup7320
 
Augmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptxAugmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptxMustafa Ahmed
 
Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1T.D. Shashikala
 
The Entity-Relationship Model(ER Diagram).pptx
The Entity-Relationship Model(ER Diagram).pptxThe Entity-Relationship Model(ER Diagram).pptx
The Entity-Relationship Model(ER Diagram).pptxMANASINANDKISHORDEOR
 

Último (20)

Final DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manualFinal DBMS Manual (2).pdf final lab manual
Final DBMS Manual (2).pdf final lab manual
 
Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdf
 
UNIT-2 image enhancement.pdf Image Processing Unit 2 AKTU
UNIT-2 image enhancement.pdf Image Processing Unit 2 AKTUUNIT-2 image enhancement.pdf Image Processing Unit 2 AKTU
UNIT-2 image enhancement.pdf Image Processing Unit 2 AKTU
 
21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docx21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docx
 
Raashid final report on Embedded Systems
Raashid final report on Embedded SystemsRaashid final report on Embedded Systems
Raashid final report on Embedded Systems
 
Passive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.pptPassive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.ppt
 
Intro to Design (for Engineers) at Sydney Uni
Intro to Design (for Engineers) at Sydney UniIntro to Design (for Engineers) at Sydney Uni
Intro to Design (for Engineers) at Sydney Uni
 
Maximizing Incident Investigation Efficacy in Oil & Gas: Techniques and Tools
Maximizing Incident Investigation Efficacy in Oil & Gas: Techniques and ToolsMaximizing Incident Investigation Efficacy in Oil & Gas: Techniques and Tools
Maximizing Incident Investigation Efficacy in Oil & Gas: Techniques and Tools
 
Artificial Intelligence in due diligence
Artificial Intelligence in due diligenceArtificial Intelligence in due diligence
Artificial Intelligence in due diligence
 
5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...5G and 6G refer to generations of mobile network technology, each representin...
5G and 6G refer to generations of mobile network technology, each representin...
 
Worksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptxWorksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptx
 
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdfInvolute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
 
UNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptxUNIT 4 PTRP final Convergence in probability.pptx
UNIT 4 PTRP final Convergence in probability.pptx
 
handbook on reinforce concrete and detailing
handbook on reinforce concrete and detailinghandbook on reinforce concrete and detailing
handbook on reinforce concrete and detailing
 
electrical installation and maintenance.
electrical installation and maintenance.electrical installation and maintenance.
electrical installation and maintenance.
 
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
 
Adsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) pptAdsorption (mass transfer operations 2) ppt
Adsorption (mass transfer operations 2) ppt
 
Augmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptxAugmented Reality (AR) with Augin Software.pptx
Augmented Reality (AR) with Augin Software.pptx
 
Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1
 
The Entity-Relationship Model(ER Diagram).pptx
The Entity-Relationship Model(ER Diagram).pptxThe Entity-Relationship Model(ER Diagram).pptx
The Entity-Relationship Model(ER Diagram).pptx
 

Megamodeling of Complex, Distributed, Heterogeneous 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