際際滷

際際滷Share a Scribd company logo
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
 際際滷s can be found at:
 /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

More Related Content

Similar to Villar presentation.pdf (20)

PPTX
Mirabilis_Presentation_DAC_June_2024.pptx
Deepak Shankar
PPTX
Introduction to architecture exploration
Deepak Shankar
PDF
Automotive engineering design - Model Based Design
Vinayagam Mariappan
PDF
Calibration of Deployment Simulation Models - A Multi-Paradigm Modelling Appr...
Daniele Gianni
PDF
The Internet of Simulations and the agile development of Cyber-physical systems
Simware
PDF
SERENE 2014 School: Resilience in Cyber-Physical Systems: Challenges and Oppo...
SERENEWorkshop
PDF
SERENE 2014 School: Gabor karsai serene2014_school
Henry Muccini
PDF
main
Jonah Caplan
PPT
Hairong Qi V Swaminathan
FNian
PDF
High-Performance Timing Simulation of Embedded Software
Mr. Chanuwan
PPTX
Exploration of Radars and Software Defined Radios using VisualSim
Deepak Shankar
PDF
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
Sebastiano Panichella
PDF
Research Proposal on Visual Computing and Robotics | PhD Research Proposal As...
PhD Assistance
PDF
jc_thesis_final
Jonah Caplan
PPTX
Develop High-bandwidth/low latency electronic systems for AI/ML application
Deepak Shankar
PDF
SERENE 2014 School: Challenges in Cyber-Physical Systems
SERENEWorkshop
PDF
SERENE 2014 School:Andras pataricza serene2014_school
Henry Muccini
PDF
SERENE 2014 School: Andras pataricza serene2014_school
Henry Muccini
PDF
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
enriquealbabaena6868
PPTX
Space Rovers and Surgical Robots: System Architecture Lessons from Mars
Real-Time Innovations (RTI)
Mirabilis_Presentation_DAC_June_2024.pptx
Deepak Shankar
Introduction to architecture exploration
Deepak Shankar
Automotive engineering design - Model Based Design
Vinayagam Mariappan
Calibration of Deployment Simulation Models - A Multi-Paradigm Modelling Appr...
Daniele Gianni
The Internet of Simulations and the agile development of Cyber-physical systems
Simware
SERENE 2014 School: Resilience in Cyber-Physical Systems: Challenges and Oppo...
SERENEWorkshop
SERENE 2014 School: Gabor karsai serene2014_school
Henry Muccini
Hairong Qi V Swaminathan
FNian
High-Performance Timing Simulation of Embedded Software
Mr. Chanuwan
Exploration of Radars and Software Defined Radios using VisualSim
Deepak Shankar
An Empirical Characterization of Software Bugs in Open-Source Cyber-Physical ...
Sebastiano Panichella
Research Proposal on Visual Computing and Robotics | PhD Research Proposal As...
PhD Assistance
jc_thesis_final
Jonah Caplan
Develop High-bandwidth/low latency electronic systems for AI/ML application
Deepak Shankar
SERENE 2014 School: Challenges in Cyber-Physical Systems
SERENEWorkshop
SERENE 2014 School:Andras pataricza serene2014_school
Henry Muccini
SERENE 2014 School: Andras pataricza serene2014_school
Henry Muccini
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
enriquealbabaena6868
Space Rovers and Surgical Robots: System Architecture Lessons from Mars
Real-Time Innovations (RTI)

Recently uploaded (20)

PPTX
Alan Turing - life and importance for all of us now
Pedro Concejero
PDF
WD2(I)-RFQ-GW-1415_ Shifting and Filling of Sand in the Pond at the WD5 Area_...
ShahadathHossain23
PDF
Module - 4 Machine Learning -22ISE62.pdf
Dr. Shivashankar
PPTX
UNIT 1 - INTRODUCTION TO AI and AI tools and basic concept
gokuld13012005
PDF
Tesia Dobrydnia - An Avid Hiker And Backpacker
Tesia Dobrydnia
PPTX
darshai cross section and river section analysis
muk7971
PPTX
Fundamentals of Quantitative Design and Analysis.pptx
aliali240367
PPTX
Biosensors, BioDevices, Biomediccal.pptx
AsimovRiyaz
PDF
NFPA 10 - Estandar para extintores de incendios portatiles (ed.22 ENG).pdf
Oscar Orozco
PDF
Module - 5 Machine Learning-22ISE62.pdf
Dr. Shivashankar
PPT
FINAL plumbing code for board exam passer
MattKristopherDiaz
PDF
3rd International Conference on Machine Learning and IoT (MLIoT 2025)
ClaraZara1
PDF
William Stallings - Foundations of Modern Networking_ SDN, NFV, QoE, IoT, and...
lavanya896395
PDF
Pictorial Guide To Checks On Tankers' IG system
Mahmoud Moghtaderi
PDF
Artificial Neural Network-Types,Perceptron,Problems
Sharmila Chidaravalli
PPTX
Numerical-Solutions-of-Ordinary-Differential-Equations.pptx
SAMUKTHAARM
PDF
bs-en-12390-3 testing hardened concrete.pdf
ADVANCEDCONSTRUCTION
PDF
13th International Conference of Security, Privacy and Trust Management (SPTM...
ijcisjournal
PPT
Footbinding.pptmnmkjkjkknmnnjkkkkkkkkkkkkkk
mamadoundiaye42742
PPTX
Introduction to Internal Combustion Engines - Types, Working and Camparison.pptx
UtkarshPatil98
Alan Turing - life and importance for all of us now
Pedro Concejero
WD2(I)-RFQ-GW-1415_ Shifting and Filling of Sand in the Pond at the WD5 Area_...
ShahadathHossain23
Module - 4 Machine Learning -22ISE62.pdf
Dr. Shivashankar
UNIT 1 - INTRODUCTION TO AI and AI tools and basic concept
gokuld13012005
Tesia Dobrydnia - An Avid Hiker And Backpacker
Tesia Dobrydnia
darshai cross section and river section analysis
muk7971
Fundamentals of Quantitative Design and Analysis.pptx
aliali240367
Biosensors, BioDevices, Biomediccal.pptx
AsimovRiyaz
NFPA 10 - Estandar para extintores de incendios portatiles (ed.22 ENG).pdf
Oscar Orozco
Module - 5 Machine Learning-22ISE62.pdf
Dr. Shivashankar
FINAL plumbing code for board exam passer
MattKristopherDiaz
3rd International Conference on Machine Learning and IoT (MLIoT 2025)
ClaraZara1
William Stallings - Foundations of Modern Networking_ SDN, NFV, QoE, IoT, and...
lavanya896395
Pictorial Guide To Checks On Tankers' IG system
Mahmoud Moghtaderi
Artificial Neural Network-Types,Perceptron,Problems
Sharmila Chidaravalli
Numerical-Solutions-of-Ordinary-Differential-Equations.pptx
SAMUKTHAARM
bs-en-12390-3 testing hardened concrete.pdf
ADVANCEDCONSTRUCTION
13th International Conference of Security, Privacy and Trust Management (SPTM...
ijcisjournal
Footbinding.pptmnmkjkjkknmnnjkkkkkkkkkkkkkk
mamadoundiaye42742
Introduction to Internal Combustion Engines - Types, Working and Camparison.pptx
UtkarshPatil98
Ad

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 際際滷s can be found at: /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