SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
June 8, 2022
Eugenio Villar
University of Cantabria
Modeling, Design and
Implementation of drone-based
Services
June 8, 2022
Agenda
▪ Introduction
▪ Model-Driven Design of CPSoS
▪ Drone-based Services
▪ Design Verification and Performance Analysis
▪ Experimental Results
▪ Conclusions
▪ Demos
▪ Slides can be found at:
▪ https://www.slideshare.net/EugenioVillar/
2
June 8, 2022
N2 B
N1
M A
Introduction
▪ Model-Driven Design (MDD)
▪ High-abstraction level
▪ Mature SW engineering methodology
▪ UML
▪ Standard, any (user-defined) MoC, any language
▪ Natural way to capture system architecture
3
▪ Semantic lacks
▪ Domain-specific profiles
▪ MetaMorph
▪ OpenSource, any (user-defined) MoC, language agnostic
June 8, 2022
Introduction
▪ Model-Driven Design (MDD)
▪ Abstraction of the platform
▪ SW development on APIs
▪ MWs, VMs, OSs….
▪ Simulation is not always an issue
▪ SiL & HiL Verification
▪ Performance is not key
4
M2C
PCs Servers DCs HPCs
Mobiles
IoT
compilation
MWs VMs OSs
Python Java C++ GO Swift…
June 8, 2022
Introduction
▪ State-of-the-Art in Simulation-Based MDD
▪ Matlab-Simulink
▪ Proprietary
▪ only one MoC, M language
▪ Application to UAVs
▪ Autopilot + Physics
▪ ROS toolbox
▪ AMeSIM/ANSyS
▪ Proprietary, only one MoC
▪ CoFluent
▪ Proprietary
▪ a few MoCs, C/C++ language
▪ Ptolemy II
▪ Academic, any MoC, C/C++ inside a Java block
▪ HEPSYCODE
▪ Academic, several MoCs, SystemC
▪ …
5
M2C
MWs VMs OSs
Python Java C++ GO Swift…
June 8, 2022
Introduction
▪ Embedded System Design (ESD) & Electronic System-Level Design (ESL)
▪ Model of the platform
▪ At different abstraction levels
▪ Platform-based HW/SW co-design
▪ Simulation is key
▪ At different abstraction levels
▪ Performance is key
▪ Cyber-Physical interaction
▪ Real-Time Systems
6
P&R
C++ SystemC VHDL/Verilog…
SoC
FPGAs
Boards
NoC
HW accel.
I/O Busses
GPUs
CPUs
MWs VMs OSs
HLS/RTL
synthesis
compilation
June 8, 2022
Introduction
▪ Services provided on computing platforms of many kind
▪ Programming the Internet of Everything
▪ In close interaction with the physical world => CPSoS-IoT
▪ Full abstraction of the computing platform is no longer possible
7
June 8, 2022
Introduction
▪ Gap between MDD & ESD/ESL
▪ S3D: Single-Source System Design
▪ Linking MDD with ESD/ESL
▪ Simulating the PSM
▪ At different abstraction levels
▪ Estimating performance
▪ Depending on the HW Platform
▪ Automatic generation of the executable models
▪ Design-Space Exploration
Python Java C++ GO Swift…
SoC
FPGAs
Boards
NoC
HW accel.
I/O Busses
GPUs
CPUs
MWs VMs OSs
??
Design
Gap
8
June 8, 2022
HW/SW
Platform
Architectural
Mappings
C/
C++
Scenarios
PIM
(App)
M2T Tools
SW Synthesis (mSSYN)
Simulation model Synthesis (mSSYN)
VIPPE
Introduction
▪ S3D: System Modeling & Simulation
9
June 8, 2022
HW/SW
Platform
Architectural
Mapping
C/
C++
Scenarios
PIM
(App)
M2T Tools
SW Synthesis (eSSYN)
SMP
Nodes GPUs
HW
Accelerators
Application
SW
Introduction
▪ S3D: HW/SW Synthesis
10
June 8, 2022
Introduction
▪ S3D: Design-Space Exploration
▪ Linking MDD with ESL
Python Java C++ GO Swift…
SoC
FPGAs
Boards
NoC
HW accel.
I/O Busses
GPUs
CPUs
MWs VMs OSs
11
June 8, 2022
Introduction
▪ S3D: Programming the Internet of Everything
▪ Services provided on heterogeneous computing platforms of many kind
▪ Impact on functional and non-functional properties of the execution platform
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
UML
CPSoS DSL
12
June 8, 2022
Model-Driven Design of Cyber-Physical SoS
▪ Traditional V-Cycle for Mechatronic Systems
▪ Design & Analyze
▪ Develop (Platform-Dependent)
▪ Verify
13
June 8, 2022
Model-Driven Design of Cyber-Physical SoS
▪ New Validation/Verification V-Cycle
▪ Reusability
▪ Simulation-based Analysis & Design
▪ Design-Space Exploration
▪ Performance Analysis
▪ Architectural mapping
14
June 8, 2022
Model-Driven Design of Cyber-Physical SoS
▪ System Design & Validation
▪ System Interface
▪ Domain & System Requirements
▪ Functional Specification
▪ Input/Output Rates and Delays
▪ Test-Bench Development
▪ Minimal Functionality
▪ System Validation
15
June 8, 2022
▪ 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
▪ Close-loop behavior can be extremely difficult to model
Model-Driven Design of Cyber-Physical SoS
16
June 8, 2022
Model-Driven Design of Cyber-Physical SoS
▪ Mechanical & HW/SW Design & Validation
▪ Sub-System & Component Interface
▪ Sub-System & Component Requirements
▪ Input/Output Rates and Delays
▪ Minimal Sub-System & Component Functionality => System Validation
▪ Reusability
June 8, 2022
Model-Driven Design of Cyber-Physical SoS
▪ ROS
▪ De-facto standard for robot applications
▪ ROS Infrastructure
▪ ROS nodes
▪ Processes that perform a certain computation
▪ ROS Master (Core)
▪ Nodes registration
▪ Communication manager
18
Client-Server (RPC) Publish-Suscriber
June 8, 2022
Model-Driven Design of Cyber-Physical SoS
▪ Platform-Based Design
▪ POSIX API
▪ ROS API
19
June 8, 2022
VIPPE Scheduler
Host Execution Platform
Ubuntu 18.04
Intel i5-34700 x86-64
Process 1 Process 2 Process 3
Model-Driven Design of Cyber-Physical SoS
▪ Platform-Based Simulation
▪ POSIX API
▪ ROS API
20
June 8, 2022
Model-Driven Design of Cyber-Physical SoS
▪ Drone-Independent ROS Interface
▪ Extensible to robots with similar functionality
21
June 8, 2022
Model-Driven Design of Cyber-Physical SoS
▪ Drone-Independent ROS Interface
▪ Reusable ROS code
▪ Code length reduction
▪ Decrease in simulation speed
22
Reduction in program length
Drone Drone-specific code (LoCs) CoDIn (LoCs) Reduction (%)
Ardupilot 343
233
32.07
Px4 357 34.73
Reduction in simulation speed
Drone Drone-specific code (s/s) CoDIn (s/s) Reduction (%)
Ardupilot 1.9 1,85 2,6
June 8, 2022
▪ S3D components in a drone-based service
▪ C++ components
▪ ROScpp components
▪ Drone and robot models
Design Verification & Performance Analysis
C++
ROScpp
Drone
models
23
June 8, 2022
▪ Multi-Level Simulation & Performance Analysis
▪ C++ and ROScpp components
▪ Simulation of ROScpp components without the (slow) ROS infrastructure
▪ Functional ROS
▪ Direct links among publishers and subscribers
Design Verification & Performance Analysis
Abstraction Levels for C++ & ROS cpp components
Level Code Timing/Energy ROS infrastructure
MN Minimal No
Yes/No
MC Minimal Constant
FC Full code Constant
FD Full code Data-dependent
24
June 8, 2022
▪ Native Simulation: Flaxibility + accuracy
…
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…
Design Verification & Performance Analysis
25
June 8, 2022
Native Simulation
▪ Performance Analysis of ROScpp components
▪ Native simulation of C++ code
▪ Constant time/energy for ROS method calls
▪ Dependent on the CPU
▪ Dependent on the number of nodes and subscribers
▪ Part to be assigned to the component
Design Verification & Performance Analysis
26
June 8, 2022
▪ Performance Analysis of ROScpp components
▪ Time/energy for ROS method calls at the component
Design Verification & Performance Analysis
27
June 8, 2022
▪ Performance Analysis of ROScpp components
▪ Time/energy for ROS method calls at ROScore
Design Verification & Performance Analysis
28
June 8, 2022
▪ Performance Analysis
▪ Estimation Error
Design Verification & Performance Analysis
29
Frequency
(MHz) Estimated Time (ms) Measured Time (ms) Estimation Error (%)
Intel
1600 485.87 582.58 16.60
3000 318.62 461.46 30.95
ARM
600 521.46 904.95 42.38
1500 233.96 398.26 41.25
June 8, 2022
▪ Performance Analysis
▪ Error reduction
▪ Improvement increases as the ROS percentage increases
Design Verification & Performance Analysis
30
Frequency
(MHz)
Total Application
time (ms)
%ROS
code
Impact of ROS
estimation error (%)
Impact of no
estimation Improvement
Intel
1600 22,875 2.55 0.42 2.55 83.5%
3000 22,018 2.10 0.65 2.10 69.0%
ARM
600 213,446 0.42 0.18 0.42 57.1%
1500 87,688 0.45 0.19 0.45 57.8%
June 8, 2022
▪ Multi-Level Simulation & Performance Analysis
▪ Drone models
Design Verification & Performance Analysis
Abstraction Levels for drone models
Level Drone model Physical model ROS infrastructure
FN Functional No No
FY Functional No Yes
AY Autopilot Yes Yes
AM Autopilot Electro-Mechanical Yes
31
June 8, 2022
▪ Drone and robot models
▪ Components in the S3D ‘ModelLibrary’
▪ Instantiation in the ‘VerificationView’
▪ Selection for synthesis of the executable model
Design Verification & Performance Analysis
32
June 8, 2022
▪ Multi-Level Simulation & Performance Analysis
▪ Simulation Infrastructure
▪ General architecture
Design Verification & Performance Analysis
33
June 8, 2022
▪ Multi-Level Simulation & Performance Analysis
▪ Simulation Infrastructure
▪ General architecture
▪ Real-Time (RT) simulation- simulation time = simulated time (SnT = SdT)
▪ As Fast As Possible (AFAP) simulation (SnT as greater as possible than SdT)
Design Verification & Performance Analysis
34
June 8, 2022
▪ Multi-Level Simulation & Performance Analysis
▪ Simulation Infrastructure
▪ Functional drone modeling
▪ Without ROS (FN)
▪ Any C++ and ROScpp models (MN + MC + FC + FD)
Design Verification & Performance Analysis
35
June 8, 2022
▪ Multi-Level Simulation & Performance Analysis
▪ Simulation Infrastructure
▪ Functional drone modeling
▪ With ROS (FY)
▪ Any C++ and ROScpp models (MN + MC + FC + FD)
Design Verification & Performance Analysis
36
June 8, 2022
▪ Multi-Level Simulation & Performance Analysis
▪ Simulation Infrastructure
▪ Realistic drone modeling (Autopilot + Physics)
▪ With ROS (AY + AM)
▪ Any C++ and ROScpp models (MN + MC + FC + FD)
▪ With or without 3D Graphics
Design Verification & Performance Analysis
37
June 8, 2022
▪ Multi-Level Simulation
▪ Impact of an increasing number of host CPUs (8 drones)
Simulation Results
38
June 8, 2022
▪ Multi-Level Simulation
▪ Impact of an increasing number or realistic vs functional drones
Simulation Results
150
80
39
June 8, 2022
Simulation Results
▪ Multi-Level Simulation & Performance Analysis
▪ Impact of an increasing number of realistic drones
40
June 8, 2022
▪ Real-Time Simulation in seconds
▪ Impact of an increasing number of realistic drones
Simulation Results
41
June 8, 2022
Simulation Results
▪ Real-Time Simulation in % of CPU usage
▪ Impact of an increasing number of realistic drones
42
June 8, 2022
Conclusions
▪ Services based on CPS demand new design methods and tools
▪ e.g. Drone-based Services
▪ Close interaction between the physical world and the digital electronics
▪ Model-Driven System Design is a powerful candidate
▪ HiL & SiL are not enough
▪ Model in the loop (MiL) is required
▪ Extension of the classical V-Cycle
▪ Multi-Level Simulation is key in designing drone-based services
▪ As Fast As Possible vs Real-Time
▪ Drones are just pieces inside a complex, distributed functionality
▪ S3D is a valid approach towards MDD of drone-based services
43
June 8, 2022
Acknowledgement
▪ Last Research Results from many people
▪ Hector Posadas
▪ Javier Merino
▪ Raul Gonzalez
▪ Jose Maria Gandara
▪ … and the rest of the Microelectronics Engineering Group
44
June 8, 2022
Any comment/question?
45

Contenu connexe

Similaire à Villar presentation.pdf

Reinventing DDC in the Age of Data Analytics
Reinventing DDC in the Age of Data AnalyticsReinventing DDC in the Age of Data Analytics
Reinventing DDC in the Age of Data AnalyticsMemoori
 
Introduction to architecture exploration
Introduction to architecture explorationIntroduction to architecture exploration
Introduction to architecture explorationDeepak Shankar
 
Leveraging DSP Resources
Leveraging DSP ResourcesLeveraging DSP Resources
Leveraging DSP ResourcesIts Zaif
 
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf....NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...Karel Zikmund
 
Java Developer Course.pdf
Java Developer Course.pdfJava Developer Course.pdf
Java Developer Course.pdfCranesVarsity1
 
Java Developer Course.pdf
Java Developer Course.pdfJava Developer Course.pdf
Java Developer Course.pdfCranesVarsity1
 
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...Karel Zikmund
 
Edge optimized architecture for fabric defect detection in real-time
Edge optimized architecture for fabric defect detection in real-timeEdge optimized architecture for fabric defect detection in real-time
Edge optimized architecture for fabric defect detection in real-timeShuquan Huang
 
AsHES-talk_Final_handouts
AsHES-talk_Final_handoutsAsHES-talk_Final_handouts
AsHES-talk_Final_handoutsMitesh Meswani
 
HiPEAC-CSW 2022_Pedro Trancoso presentation
HiPEAC-CSW 2022_Pedro Trancoso presentationHiPEAC-CSW 2022_Pedro Trancoso presentation
HiPEAC-CSW 2022_Pedro Trancoso presentationVEDLIoT Project
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 sessionSameh El-Ashry
 
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and othersSpatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and othersHenrik Ingo
 
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...SANGHEE SHIN
 
SC20 SYCL and C++ Birds of a Feather 19th Nov 2020
SC20 SYCL and C++ Birds of a Feather 19th Nov 2020SC20 SYCL and C++ Birds of a Feather 19th Nov 2020
SC20 SYCL and C++ Birds of a Feather 19th Nov 2020rodburns
 
Labview1_ Computer Applications in Control_ACRRL
Labview1_ Computer Applications in Control_ACRRLLabview1_ Computer Applications in Control_ACRRL
Labview1_ Computer Applications in Control_ACRRLMohammad Sabouri
 

Similaire à Villar presentation.pdf (20)

Reinventing DDC in the Age of Data Analytics
Reinventing DDC in the Age of Data AnalyticsReinventing DDC in the Age of Data Analytics
Reinventing DDC in the Age of Data Analytics
 
Introduction to architecture exploration
Introduction to architecture explorationIntroduction to architecture exploration
Introduction to architecture exploration
 
Leveraging DSP Resources
Leveraging DSP ResourcesLeveraging DSP Resources
Leveraging DSP Resources
 
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf....NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
.NET Core Summer event 2019 in Brno, CZ - .NET Core Networking stack and perf...
 
Java Developer Course.pdf
Java Developer Course.pdfJava Developer Course.pdf
Java Developer Course.pdf
 
Java Developer Course.pdf
Java Developer Course.pdfJava Developer Course.pdf
Java Developer Course.pdf
 
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
DotNext 2017 in Moscow - .NET Core Networking stack and Performance -- Karel ...
 
Edge optimized architecture for fabric defect detection in real-time
Edge optimized architecture for fabric defect detection in real-timeEdge optimized architecture for fabric defect detection in real-time
Edge optimized architecture for fabric defect detection in real-time
 
AsHES-talk_Final_handouts
AsHES-talk_Final_handoutsAsHES-talk_Final_handouts
AsHES-talk_Final_handouts
 
HiPEAC-CSW 2022_Pedro Trancoso presentation
HiPEAC-CSW 2022_Pedro Trancoso presentationHiPEAC-CSW 2022_Pedro Trancoso presentation
HiPEAC-CSW 2022_Pedro Trancoso presentation
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
 
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and othersSpatial functions in  MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
Spatial functions in MySQL 5.6, MariaDB 5.5, PostGIS 2.0 and others
 
Cuda
CudaCuda
Cuda
 
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
Let's integrate CAD/BIM/GIS on the same platform: A practical approach in rea...
 
JCatapult
JCatapultJCatapult
JCatapult
 
MSalah_20161010
MSalah_20161010MSalah_20161010
MSalah_20161010
 
SC20 SYCL and C++ Birds of a Feather 19th Nov 2020
SC20 SYCL and C++ Birds of a Feather 19th Nov 2020SC20 SYCL and C++ Birds of a Feather 19th Nov 2020
SC20 SYCL and C++ Birds of a Feather 19th Nov 2020
 
E3MV - Embedded Vision - Sundance
E3MV - Embedded Vision - SundanceE3MV - Embedded Vision - Sundance
E3MV - Embedded Vision - Sundance
 
Labview1_ Computer Applications in Control_ACRRL
Labview1_ Computer Applications in Control_ACRRLLabview1_ Computer Applications in Control_ACRRL
Labview1_ Computer Applications in Control_ACRRL
 
NETGEN eng presentation
NETGEN eng presentationNETGEN eng presentation
NETGEN eng presentation
 

Dernier

Lect 2 - Design of slender column-2.pptx
Lect 2 - Design of slender column-2.pptxLect 2 - Design of slender column-2.pptx
Lect 2 - Design of slender column-2.pptxHamzaKhawar4
 
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...Prakhyath Rai
 
Furniture showroom management system project.pdf
Furniture showroom management system project.pdfFurniture showroom management system project.pdf
Furniture showroom management system project.pdfKamal Acharya
 
Online resume builder management system project report.pdf
Online resume builder management system project report.pdfOnline resume builder management system project report.pdf
Online resume builder management system project report.pdfKamal Acharya
 
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
 
İTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering WorkshopİTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering WorkshopEmre Günaydın
 
Electrostatic field in a coaxial transmission line
Electrostatic field in a coaxial transmission lineElectrostatic field in a coaxial transmission line
Electrostatic field in a coaxial transmission lineJulioCesarSalazarHer1
 
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxCloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxMd. Shahidul Islam Prodhan
 
Planetary Gears of automatic transmission of vehicle
Planetary Gears of automatic transmission of vehiclePlanetary Gears of automatic transmission of vehicle
Planetary Gears of automatic transmission of vehicleahmedmostafa941217
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfKamal Acharya
 
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdfRESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdfKamal Acharya
 
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5T.D. Shashikala
 
Low rpm Generator for efficient energy harnessing from a two stage wind turbine
Low rpm Generator for efficient energy harnessing from a two stage wind turbineLow rpm Generator for efficient energy harnessing from a two stage wind turbine
Low rpm Generator for efficient energy harnessing from a two stage wind turbineAftabkhan575376
 
DR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdf
DR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdfDR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdf
DR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdfDrGurudutt
 
Construction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptxConstruction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptxwendy cai
 
Teachers record management system project report..pdf
Teachers record management system project report..pdfTeachers record management system project report..pdf
Teachers record management system project report..pdfKamal Acharya
 
Lecture_8-Digital implementation of analog controller design.pdf
Lecture_8-Digital implementation of analog controller design.pdfLecture_8-Digital implementation of analog controller design.pdf
Lecture_8-Digital implementation of analog controller design.pdfmohamedsamy9878
 
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...MohammadAliNayeem
 
An improvement in the safety of big data using blockchain technology
An improvement in the safety of big data using blockchain technologyAn improvement in the safety of big data using blockchain technology
An improvement in the safety of big data using blockchain technologyBOHRInternationalJou1
 
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...Amil baba
 

Dernier (20)

Lect 2 - Design of slender column-2.pptx
Lect 2 - Design of slender column-2.pptxLect 2 - Design of slender column-2.pptx
Lect 2 - Design of slender column-2.pptx
 
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...Software Engineering - Modelling Concepts + Class Modelling + Building the An...
Software Engineering - Modelling Concepts + Class Modelling + Building the An...
 
Furniture showroom management system project.pdf
Furniture showroom management system project.pdfFurniture showroom management system project.pdf
Furniture showroom management system project.pdf
 
Online resume builder management system project report.pdf
Online resume builder management system project report.pdfOnline resume builder management system project report.pdf
Online resume builder management system project report.pdf
 
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
 
İTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering WorkshopİTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering Workshop
 
Electrostatic field in a coaxial transmission line
Electrostatic field in a coaxial transmission lineElectrostatic field in a coaxial transmission line
Electrostatic field in a coaxial transmission line
 
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptxCloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
Cloud-Computing_CSE311_Computer-Networking CSE GUB BD - Shahidul.pptx
 
Planetary Gears of automatic transmission of vehicle
Planetary Gears of automatic transmission of vehiclePlanetary Gears of automatic transmission of vehicle
Planetary Gears of automatic transmission of vehicle
 
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdfA CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
A CASE STUDY ON ONLINE TICKET BOOKING SYSTEM PROJECT.pdf
 
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdfRESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
RESORT MANAGEMENT AND RESERVATION SYSTEM PROJECT REPORT.pdf
 
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
RM&IPR M5 notes.pdfResearch Methodolgy & Intellectual Property Rights Series 5
 
Low rpm Generator for efficient energy harnessing from a two stage wind turbine
Low rpm Generator for efficient energy harnessing from a two stage wind turbineLow rpm Generator for efficient energy harnessing from a two stage wind turbine
Low rpm Generator for efficient energy harnessing from a two stage wind turbine
 
DR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdf
DR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdfDR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdf
DR PROF ING GURUDUTT SAHNI WIKIPEDIA.pdf
 
Construction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptxConstruction method of steel structure space frame .pptx
Construction method of steel structure space frame .pptx
 
Teachers record management system project report..pdf
Teachers record management system project report..pdfTeachers record management system project report..pdf
Teachers record management system project report..pdf
 
Lecture_8-Digital implementation of analog controller design.pdf
Lecture_8-Digital implementation of analog controller design.pdfLecture_8-Digital implementation of analog controller design.pdf
Lecture_8-Digital implementation of analog controller design.pdf
 
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
Complex plane, Modulus, Argument, Graphical representation of a complex numbe...
 
An improvement in the safety of big data using blockchain technology
An improvement in the safety of big data using blockchain technologyAn improvement in the safety of big data using blockchain technology
An improvement in the safety of big data using blockchain technology
 
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
NO1 Pandit Black Magic Removal in Uk kala jadu Specialist kala jadu for Love ...
 

Villar presentation.pdf

  • 1. June 8, 2022 Eugenio Villar University of Cantabria Modeling, Design and Implementation of drone-based Services
  • 2. June 8, 2022 Agenda ▪ Introduction ▪ Model-Driven Design of CPSoS ▪ Drone-based Services ▪ Design Verification and Performance Analysis ▪ Experimental Results ▪ Conclusions ▪ Demos ▪ Slides can be found at: ▪ https://www.slideshare.net/EugenioVillar/ 2
  • 3. June 8, 2022 N2 B N1 M A Introduction ▪ Model-Driven Design (MDD) ▪ High-abstraction level ▪ Mature SW engineering methodology ▪ UML ▪ Standard, any (user-defined) MoC, any language ▪ Natural way to capture system architecture 3 ▪ Semantic lacks ▪ Domain-specific profiles ▪ MetaMorph ▪ OpenSource, any (user-defined) MoC, language agnostic
  • 4. June 8, 2022 Introduction ▪ Model-Driven Design (MDD) ▪ Abstraction of the platform ▪ SW development on APIs ▪ MWs, VMs, OSs…. ▪ Simulation is not always an issue ▪ SiL & HiL Verification ▪ Performance is not key 4 M2C PCs Servers DCs HPCs Mobiles IoT compilation MWs VMs OSs Python Java C++ GO Swift…
  • 5. June 8, 2022 Introduction ▪ State-of-the-Art in Simulation-Based MDD ▪ Matlab-Simulink ▪ Proprietary ▪ only one MoC, M language ▪ Application to UAVs ▪ Autopilot + Physics ▪ ROS toolbox ▪ AMeSIM/ANSyS ▪ Proprietary, only one MoC ▪ CoFluent ▪ Proprietary ▪ a few MoCs, C/C++ language ▪ Ptolemy II ▪ Academic, any MoC, C/C++ inside a Java block ▪ HEPSYCODE ▪ Academic, several MoCs, SystemC ▪ … 5 M2C MWs VMs OSs Python Java C++ GO Swift…
  • 6. June 8, 2022 Introduction ▪ Embedded System Design (ESD) & Electronic System-Level Design (ESL) ▪ Model of the platform ▪ At different abstraction levels ▪ Platform-based HW/SW co-design ▪ Simulation is key ▪ At different abstraction levels ▪ Performance is key ▪ Cyber-Physical interaction ▪ Real-Time Systems 6 P&R C++ SystemC VHDL/Verilog… SoC FPGAs Boards NoC HW accel. I/O Busses GPUs CPUs MWs VMs OSs HLS/RTL synthesis compilation
  • 7. June 8, 2022 Introduction ▪ Services provided on computing platforms of many kind ▪ Programming the Internet of Everything ▪ In close interaction with the physical world => CPSoS-IoT ▪ Full abstraction of the computing platform is no longer possible 7
  • 8. June 8, 2022 Introduction ▪ Gap between MDD & ESD/ESL ▪ S3D: Single-Source System Design ▪ Linking MDD with ESD/ESL ▪ Simulating the PSM ▪ At different abstraction levels ▪ Estimating performance ▪ Depending on the HW Platform ▪ Automatic generation of the executable models ▪ Design-Space Exploration Python Java C++ GO Swift… SoC FPGAs Boards NoC HW accel. I/O Busses GPUs CPUs MWs VMs OSs ?? Design Gap 8
  • 9. June 8, 2022 HW/SW Platform Architectural Mappings C/ C++ Scenarios PIM (App) M2T Tools SW Synthesis (mSSYN) Simulation model Synthesis (mSSYN) VIPPE Introduction ▪ S3D: System Modeling & Simulation 9
  • 10. June 8, 2022 HW/SW Platform Architectural Mapping C/ C++ Scenarios PIM (App) M2T Tools SW Synthesis (eSSYN) SMP Nodes GPUs HW Accelerators Application SW Introduction ▪ S3D: HW/SW Synthesis 10
  • 11. June 8, 2022 Introduction ▪ S3D: Design-Space Exploration ▪ Linking MDD with ESL Python Java C++ GO Swift… SoC FPGAs Boards NoC HW accel. I/O Busses GPUs CPUs MWs VMs OSs 11
  • 12. June 8, 2022 Introduction ▪ S3D: Programming the Internet of Everything ▪ Services provided on heterogeneous computing platforms of many kind ▪ Impact on functional and non-functional properties of the execution platform 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 UML CPSoS DSL 12
  • 13. June 8, 2022 Model-Driven Design of Cyber-Physical SoS ▪ Traditional V-Cycle for Mechatronic Systems ▪ Design & Analyze ▪ Develop (Platform-Dependent) ▪ Verify 13
  • 14. June 8, 2022 Model-Driven Design of Cyber-Physical SoS ▪ New Validation/Verification V-Cycle ▪ Reusability ▪ Simulation-based Analysis & Design ▪ Design-Space Exploration ▪ Performance Analysis ▪ Architectural mapping 14
  • 15. June 8, 2022 Model-Driven Design of Cyber-Physical SoS ▪ System Design & Validation ▪ System Interface ▪ Domain & System Requirements ▪ Functional Specification ▪ Input/Output Rates and Delays ▪ Test-Bench Development ▪ Minimal Functionality ▪ System Validation 15
  • 16. June 8, 2022 ▪ 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 ▪ Close-loop behavior can be extremely difficult to model Model-Driven Design of Cyber-Physical SoS 16
  • 17. June 8, 2022 Model-Driven Design of Cyber-Physical SoS ▪ Mechanical & HW/SW Design & Validation ▪ Sub-System & Component Interface ▪ Sub-System & Component Requirements ▪ Input/Output Rates and Delays ▪ Minimal Sub-System & Component Functionality => System Validation ▪ Reusability
  • 18. June 8, 2022 Model-Driven Design of Cyber-Physical SoS ▪ ROS ▪ De-facto standard for robot applications ▪ ROS Infrastructure ▪ ROS nodes ▪ Processes that perform a certain computation ▪ ROS Master (Core) ▪ Nodes registration ▪ Communication manager 18 Client-Server (RPC) Publish-Suscriber
  • 19. June 8, 2022 Model-Driven Design of Cyber-Physical SoS ▪ Platform-Based Design ▪ POSIX API ▪ ROS API 19
  • 20. June 8, 2022 VIPPE Scheduler Host Execution Platform Ubuntu 18.04 Intel i5-34700 x86-64 Process 1 Process 2 Process 3 Model-Driven Design of Cyber-Physical SoS ▪ Platform-Based Simulation ▪ POSIX API ▪ ROS API 20
  • 21. June 8, 2022 Model-Driven Design of Cyber-Physical SoS ▪ Drone-Independent ROS Interface ▪ Extensible to robots with similar functionality 21
  • 22. June 8, 2022 Model-Driven Design of Cyber-Physical SoS ▪ Drone-Independent ROS Interface ▪ Reusable ROS code ▪ Code length reduction ▪ Decrease in simulation speed 22 Reduction in program length Drone Drone-specific code (LoCs) CoDIn (LoCs) Reduction (%) Ardupilot 343 233 32.07 Px4 357 34.73 Reduction in simulation speed Drone Drone-specific code (s/s) CoDIn (s/s) Reduction (%) Ardupilot 1.9 1,85 2,6
  • 23. June 8, 2022 ▪ S3D components in a drone-based service ▪ C++ components ▪ ROScpp components ▪ Drone and robot models Design Verification & Performance Analysis C++ ROScpp Drone models 23
  • 24. June 8, 2022 ▪ Multi-Level Simulation & Performance Analysis ▪ C++ and ROScpp components ▪ Simulation of ROScpp components without the (slow) ROS infrastructure ▪ Functional ROS ▪ Direct links among publishers and subscribers Design Verification & Performance Analysis Abstraction Levels for C++ & ROS cpp components Level Code Timing/Energy ROS infrastructure MN Minimal No Yes/No MC Minimal Constant FC Full code Constant FD Full code Data-dependent 24
  • 25. June 8, 2022 ▪ Native Simulation: Flaxibility + accuracy … 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… Design Verification & Performance Analysis 25
  • 26. June 8, 2022 Native Simulation ▪ Performance Analysis of ROScpp components ▪ Native simulation of C++ code ▪ Constant time/energy for ROS method calls ▪ Dependent on the CPU ▪ Dependent on the number of nodes and subscribers ▪ Part to be assigned to the component Design Verification & Performance Analysis 26
  • 27. June 8, 2022 ▪ Performance Analysis of ROScpp components ▪ Time/energy for ROS method calls at the component Design Verification & Performance Analysis 27
  • 28. June 8, 2022 ▪ Performance Analysis of ROScpp components ▪ Time/energy for ROS method calls at ROScore Design Verification & Performance Analysis 28
  • 29. June 8, 2022 ▪ Performance Analysis ▪ Estimation Error Design Verification & Performance Analysis 29 Frequency (MHz) Estimated Time (ms) Measured Time (ms) Estimation Error (%) Intel 1600 485.87 582.58 16.60 3000 318.62 461.46 30.95 ARM 600 521.46 904.95 42.38 1500 233.96 398.26 41.25
  • 30. June 8, 2022 ▪ Performance Analysis ▪ Error reduction ▪ Improvement increases as the ROS percentage increases Design Verification & Performance Analysis 30 Frequency (MHz) Total Application time (ms) %ROS code Impact of ROS estimation error (%) Impact of no estimation Improvement Intel 1600 22,875 2.55 0.42 2.55 83.5% 3000 22,018 2.10 0.65 2.10 69.0% ARM 600 213,446 0.42 0.18 0.42 57.1% 1500 87,688 0.45 0.19 0.45 57.8%
  • 31. June 8, 2022 ▪ Multi-Level Simulation & Performance Analysis ▪ Drone models Design Verification & Performance Analysis Abstraction Levels for drone models Level Drone model Physical model ROS infrastructure FN Functional No No FY Functional No Yes AY Autopilot Yes Yes AM Autopilot Electro-Mechanical Yes 31
  • 32. June 8, 2022 ▪ Drone and robot models ▪ Components in the S3D ‘ModelLibrary’ ▪ Instantiation in the ‘VerificationView’ ▪ Selection for synthesis of the executable model Design Verification & Performance Analysis 32
  • 33. June 8, 2022 ▪ Multi-Level Simulation & Performance Analysis ▪ Simulation Infrastructure ▪ General architecture Design Verification & Performance Analysis 33
  • 34. June 8, 2022 ▪ Multi-Level Simulation & Performance Analysis ▪ Simulation Infrastructure ▪ General architecture ▪ Real-Time (RT) simulation- simulation time = simulated time (SnT = SdT) ▪ As Fast As Possible (AFAP) simulation (SnT as greater as possible than SdT) Design Verification & Performance Analysis 34
  • 35. June 8, 2022 ▪ Multi-Level Simulation & Performance Analysis ▪ Simulation Infrastructure ▪ Functional drone modeling ▪ Without ROS (FN) ▪ Any C++ and ROScpp models (MN + MC + FC + FD) Design Verification & Performance Analysis 35
  • 36. June 8, 2022 ▪ Multi-Level Simulation & Performance Analysis ▪ Simulation Infrastructure ▪ Functional drone modeling ▪ With ROS (FY) ▪ Any C++ and ROScpp models (MN + MC + FC + FD) Design Verification & Performance Analysis 36
  • 37. June 8, 2022 ▪ Multi-Level Simulation & Performance Analysis ▪ Simulation Infrastructure ▪ Realistic drone modeling (Autopilot + Physics) ▪ With ROS (AY + AM) ▪ Any C++ and ROScpp models (MN + MC + FC + FD) ▪ With or without 3D Graphics Design Verification & Performance Analysis 37
  • 38. June 8, 2022 ▪ Multi-Level Simulation ▪ Impact of an increasing number of host CPUs (8 drones) Simulation Results 38
  • 39. June 8, 2022 ▪ Multi-Level Simulation ▪ Impact of an increasing number or realistic vs functional drones Simulation Results 150 80 39
  • 40. June 8, 2022 Simulation Results ▪ Multi-Level Simulation & Performance Analysis ▪ Impact of an increasing number of realistic drones 40
  • 41. June 8, 2022 ▪ Real-Time Simulation in seconds ▪ Impact of an increasing number of realistic drones Simulation Results 41
  • 42. June 8, 2022 Simulation Results ▪ Real-Time Simulation in % of CPU usage ▪ Impact of an increasing number of realistic drones 42
  • 43. June 8, 2022 Conclusions ▪ Services based on CPS demand new design methods and tools ▪ e.g. Drone-based Services ▪ Close interaction between the physical world and the digital electronics ▪ Model-Driven System Design is a powerful candidate ▪ HiL & SiL are not enough ▪ Model in the loop (MiL) is required ▪ Extension of the classical V-Cycle ▪ Multi-Level Simulation is key in designing drone-based services ▪ As Fast As Possible vs Real-Time ▪ Drones are just pieces inside a complex, distributed functionality ▪ S3D is a valid approach towards MDD of drone-based services 43
  • 44. June 8, 2022 Acknowledgement ▪ Last Research Results from many people ▪ Hector Posadas ▪ Javier Merino ▪ Raul Gonzalez ▪ Jose Maria Gandara ▪ … and the rest of the Microelectronics Engineering Group 44
  • 45. June 8, 2022 Any comment/question? 45