SlideShare a Scribd company logo
1 of 15
Download to read offline
Model-Driven Analysis and Design of
Distributed, Heterogeneous Systems
Eugenio Villar
University of Cantabria
Agenda
▪ Introduction
▪ Single-Source Embedded Systems Design
▪ Model-driven Analysis en Design of distributed Systems
▪ 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
▪ Commercial, any (user-defined) MoC, language agnostic
▪ CHESS
▪ Open Source, 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
Trust Simulation
Verification
Performance
Analysis
PrivacyArchitectural
Mapping
Security
Safety
HW
Synthesis
SW
Synthesis
Model-Driven Analysis of IoE Services
▪ Programming the Internet of Everything
▪ Services provided on computing platforms of many kind
Model-Driven Analysis of IoE Services
▪ 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 of IoE Services
▪ 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,
…
Trust
Simulation
Verification
Performance
AnalysisPrivacy
Optimization
Service
UML
CPSoS DSL
Security
Safety
Model-Driven Analysis of IoE Services
▪ 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
▪ UML/MARTE System Modeling Methodology
▪ Platform-Independent
▪ Component-Based
▪ Supporting
▪ Object-Orientation
▪ Actor-Orientation
▪ Reusable
▪ Flexible
▪ Analyzable
▪ Security
▪ Reliability
▪ Test
▪ Safety
▪ Privacy, Trust…
Model-Driven Analysis of IoE Services
Model-Driven Analysis of IoE Services
▪ Properties of the Provided Port
▪ NotAttendedService
▪ Retry
▪ Properties of the Interface Methods
▪ concurrency
▪ exekind
▪ syncKind
▪ Properties of the Required Port
▪ queueSize
▪ FullPoolPolicy
Model-Driven Analysis of IoE Services
▪ 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
Model-Driven Analysis of IoE Services
▪ 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
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

More Related Content

Similar to Model-Driven Analysis&Design of Distributed, Heterogeneous Systems

Similar to Model-Driven Analysis&Design of Distributed, Heterogeneous Systems (20)

Deploying large-scale, serverless and asynchronous systems - without integrat...
Deploying large-scale, serverless and asynchronous systems - without integrat...Deploying large-scale, serverless and asynchronous systems - without integrat...
Deploying large-scale, serverless and asynchronous systems - without integrat...
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
 
Low Latency Polyglot Model Scoring using Apache Apex
Low Latency Polyglot Model Scoring using Apache ApexLow Latency Polyglot Model Scoring using Apache Apex
Low Latency Polyglot Model Scoring using Apache Apex
 
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
 
Villar presentation.pdf
Villar presentation.pdfVillar presentation.pdf
Villar presentation.pdf
 
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo MazzaferroRESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
RESTful Machine Learning with Flask and TensorFlow Serving - Carlo Mazzaferro
 
Scaling FreeSWITCH Performance
Scaling FreeSWITCH PerformanceScaling FreeSWITCH Performance
Scaling FreeSWITCH Performance
 
.NET compiler platform codename Roslyn
.NET compiler platform codename Roslyn.NET compiler platform codename Roslyn
.NET compiler platform codename Roslyn
 
Do You Need a Service Mesh? @ London Devops, January 2019
Do You Need a Service Mesh? @ London Devops, January 2019Do You Need a Service Mesh? @ London Devops, January 2019
Do You Need a Service Mesh? @ London Devops, January 2019
 
What we learnt at carousell tw for golang gathering #31
What we learnt at carousell tw for golang gathering #31What we learnt at carousell tw for golang gathering #31
What we learnt at carousell tw for golang gathering #31
 
Værktøjer udviklet på AAU til analyse af SCJ programmer
Værktøjer udviklet på AAU til analyse af SCJ programmerVærktøjer udviklet på AAU til analyse af SCJ programmer
Værktøjer udviklet på AAU til analyse af SCJ programmer
 
On component interface
On component interfaceOn component interface
On component interface
 
GC Tuning Confessions Of A Performance Engineer
GC Tuning Confessions Of A Performance EngineerGC Tuning Confessions Of A Performance Engineer
GC Tuning Confessions Of A Performance Engineer
 
H2O Design and Infrastructure with Matt Dowle
H2O Design and Infrastructure with Matt DowleH2O Design and Infrastructure with Matt Dowle
H2O Design and Infrastructure with Matt Dowle
 
SELF - Becoming a Rails Developer - The Rest of the Story
SELF - Becoming a Rails Developer - The Rest of the StorySELF - Becoming a Rails Developer - The Rest of the Story
SELF - Becoming a Rails Developer - The Rest of the Story
 
TechUG Glasgow talk 22/Feb/17 Configuration Management Best Practices
TechUG Glasgow talk 22/Feb/17 Configuration Management Best PracticesTechUG Glasgow talk 22/Feb/17 Configuration Management Best Practices
TechUG Glasgow talk 22/Feb/17 Configuration Management Best Practices
 
Trends and development practices in Serverless architectures
Trends and development practices in Serverless architecturesTrends and development practices in Serverless architectures
Trends and development practices in Serverless architectures
 
Node.js scaling in highload
Node.js scaling in highloadNode.js scaling in highload
Node.js scaling in highload
 
PHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
PHP At 5000 Requests Per Second: Hootsuite’s Scaling StoryPHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
PHP At 5000 Requests Per Second: Hootsuite’s Scaling Story
 

Recently uploaded

TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
Wonjun Hwang
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
Muhammad Subhan
 

Recently uploaded (20)

TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 

Model-Driven Analysis&Design of Distributed, Heterogeneous Systems

  • 1. Model-Driven Analysis and Design of Distributed, Heterogeneous Systems Eugenio Villar University of Cantabria
  • 2. Agenda ▪ Introduction ▪ Single-Source Embedded Systems Design ▪ Model-driven Analysis en Design of distributed Systems ▪ 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 ▪ Commercial, any (user-defined) MoC, language agnostic ▪ CHESS ▪ Open Source, 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 Trust Simulation Verification Performance Analysis PrivacyArchitectural Mapping Security Safety HW Synthesis SW Synthesis
  • 7. Model-Driven Analysis of IoE Services ▪ Programming the Internet of Everything ▪ Services provided on computing platforms of many kind
  • 8. Model-Driven Analysis of IoE Services ▪ 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 of IoE Services ▪ 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, … Trust Simulation Verification Performance AnalysisPrivacy Optimization Service UML CPSoS DSL Security Safety
  • 10. Model-Driven Analysis of IoE Services ▪ 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. ▪ UML/MARTE System Modeling Methodology ▪ Platform-Independent ▪ Component-Based ▪ Supporting ▪ Object-Orientation ▪ Actor-Orientation ▪ Reusable ▪ Flexible ▪ Analyzable ▪ Security ▪ Reliability ▪ Test ▪ Safety ▪ Privacy, Trust… Model-Driven Analysis of IoE Services
  • 12. Model-Driven Analysis of IoE Services ▪ Properties of the Provided Port ▪ NotAttendedService ▪ Retry ▪ Properties of the Interface Methods ▪ concurrency ▪ exekind ▪ syncKind ▪ Properties of the Required Port ▪ queueSize ▪ FullPoolPolicy
  • 13. Model-Driven Analysis of IoE Services ▪ 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
  • 14. Model-Driven Analysis of IoE Services ▪ 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
  • 15. 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