SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Design flow for the rigorous development of networked
embedded systems
Alexios Lekidis
Verimag, Universit´e Grenoble Alpes
10 December 2015
Committee:
Ahmed Lbath Professeur, Universit´e Joseph Fourier Grenoble, President du jury
Roman Obermaisser Professeur, Universit¨at Siegen, Rapporteur
Roberto Passerone Professeur, University of Trento, Rapporteur
Smail Niar Professeur, Universit´e de Valenciennes, Examinateur
Marius Bozga Ing´enieur de recherche, CNRS, Directeur de th`ese
Saddek Bensalem Professeur, Universit´e Joseph Fourier Grenoble, Co-Directeur de th`ese
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 1 / 36
Networked embedded systems
Exponential growth in the current use of
embedded devices due to:
Compact size
Low-cost
Low-power consumption
Portability
Ability of monitoring the physical
environment
Data exchange capabilities through
wired or wireless networks
Application areas include: Health-care,
transportation, agriculture, environmental
monitoring, security systems, industrial
process control, factory and building
automation and control, high-energy
physics
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 2 / 36
Networked embedded systems: Design challenges
A collection of embedded devices that are interconnected by a wired/wireless network
Network
Embedded Device Embedded Device Embedded Device Embedded Device
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 3 / 36
Networked embedded systems: Design challenges
A collection of embedded devices that are interconnected by a wired/wireless network
Network
Embedded Device Embedded Device Embedded Device Embedded Device
Considerable complexity during system design
Heterogeneity in:
Device functionalities, sensors/actuators, processing units etc
Operating systems, drivers
Network protocols
Communication mechanisms for data exchange
Limited resources
Functional and extra-functional requirements
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 3 / 36
Networked embedded systems: Design challenges
Heterogeneity in network protocols
Selection based on system specifications from:
Wired and wireless
Event- and time-triggered technologies
Affects application perfomance and functionality
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 4 / 36
Networked embedded systems: Design challenges
Resource constraints
Scarce hardware resources:
Processing power, available memory, network bandwidth, battery lifetime
Resources should not reach a critical state
Functional and extra-functional requirements
1. Functional: Correctness, robustness, deadlock-freedom
2. Extra-functional enforce bounds in:
QoS: Communication and data processing latencies
Energy consumption and maintaining the desired system temperature levels
Both types of requirements are equally important for system development
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 5 / 36
Existing development methods
Several methods for the development of
embedded systems
Extension to networked embedded
systems requires:
Knowledge of network stack
protocols
Handling more complex
Interactions with the device
drivers
No guarantee of correct functionality
makeSense project
(www.project-makesense.eu)
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 6 / 36
Thesis contribution
A model-based approach for building functional networked embedded systems
Early-stage simulation and testing, performance evaluation as well as
verification of system requirements
Progressive system implementation through novel developed tools that
automate system development
Development of components that describe faithfully the system behavior and
functionality in a higher abstraction level
Experiments on relevant case-studies for several application domains:
Automotive
Industrial automation
Wireless Sensor Network (WSN) systems
Internet of Things (IoT) systems
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 7 / 36
•Design flow for Networked Embedded Systems
Outline
Motivation
•Design flow for Networked Embedded Systems
•Background: The BIP Framework
•Overview of the proposed flow
•Insight on the flow phases
Application modeling
Code generation
System modeling
Performance evaluation
•Application and experiments
•Overview
•Case study 1: Clock synchronization in a multimedia WSN Application
•Case study 2: Smart heating IoT application
•Conclusion
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 8 / 36
•Design flow for Networked Embedded Systems •Background: The BIP Framework
The BIP Framework
A formal framework for the hierarchical construction of heterogeneous real-time systems:
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 9 / 36
•Design flow for Networked Embedded Systems •Background: The BIP Framework
The BIP Framework
A formal framework for the hierarchical construction of heterogeneous real-time systems:
s0	
  
sndPacket	
  
NB:=0	
  
s1	
  
s2	
  
s3	
  
busy	
  
6ck	
  
[t<CCA]	
  
t:=t+1	
  
elapsed	
  
[t=backoff]	
  
t:=0	
  
s5	
  
free	
  
s8	
  
endT	
  
[t=tdata]	
  
	
  startTrans
beginT	
  
[t=CCA	
  ||	
  eval=1]	
  
t:=0	
  
6ck	
  
[t<backoff]	
  
t:=t+1	
  
6ck	
  
[t<tdata]	
  
t:=t+1	
  
	
  backoff=distVal*aUnitBackoffPeriodL0
beginT	
  
nodeNum:=nodeNum+1	
  
endT	
  
nodeNum=nodeNum-­‐1	
  
sending	
  
[nodeNum	
  	
  	
  	
  1]	
  
L1
busy	
  
nodeNum:=nodeNum+1	
  
beginT	
  
busy	
  endT	
   free	
  
nodeNum	
  
L2
free	
  
nodeNum=nodeNum-­‐1	
  
newTrans	
  
[nodeNum=0]	
  
beginT	
   eval	
  
endT	
  busy	
   free	
  
6ck	
  sndPacket	
   pkt	
  
if	
  (nodeNum	
  	
  	
  	
  1)	
  then	
  eval:=1	
  else	
  eval:=0	
  
busy	
  
[eval=0]	
  
≤
≤
distVal=select(distrib,size)
Behavior: Transition systems enriched with data and functions in C/C++
Interaction: Data transfers between components
Priority: Enforcing scheduling policies amongst possible interactions
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 9 / 36
•Design flow for Networked Embedded Systems •Background: The BIP Framework
The BIP tools
1. Language Factory: Translation from other languages and programming
models
2. Verification of functional properties:
State-space exploration tool for the verification of safety requirements
D-Finder tool for compositional verification
3. Verification of performance properties: Statistical Model Checking tool
4. Code generation for target HW architectures
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 10 / 36
•Design flow for Networked Embedded Systems •Insight on the flow phases
Outline
Motivation
•Design flow for Networked Embedded Systems
•Background: The BIP Framework
•Overview of the proposed flow
•Insight on the flow phases
Application modeling
Code generation
System modeling
Performance evaluation
•Application and experiments
•Overview
•Case study 1: Clock synchronization in a multimedia WSN Application
•Case study 2: Smart heating IoT application
•Conclusion
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 11 / 36
•Design flow for Networked Embedded Systems •Insight on the flow phases
Design flow for networked embedded systems
Relies on the BIP framework and the associated tools
Implements a Y-chart approach, having as distinct inputs:
Application software
HW architecture specification
Models for the network protocols
Mapping for the application deployment
Uses BIP for the construction of system-level models at different levels of
abstraction
Applies the BIP tools for verification and performance evaluation
Uses code generation tools for rapid prototyping and application deployment
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 12 / 36
•Design flow for Networked Embedded Systems •Insight on the flow phases
Design flow for networked embedded systems
Translation Translation
Modeling
Verification
Error
(BIP)
library
Model
(BIP)
packet delivery)
(e.g. timing,
Runtime
Application
Software
HW/
OS−Network
Model
(BIP)
Code
deployment
generation/
Execution
Transformation
(BIP)
System
Model
2
calibration
Model
System
Model
Calibrated
measurements
6
OS/
Network stack
(e.g. standards)
specifications
OS−Network
(BIP)
library
Preliminary phase
(DSL)
software
Application
(XML)
Mapping
specifications
3
1
5
evaluation
Performance
4
7
Architecture
HW
(BIP)
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 13 / 36
•Design flow for Networked Embedded Systems •Insight on the flow phases
The design flow offers:
1. Description of the
application software
through a novel
programming
framework
2. Automated code
generation for several
hardware architectures
of networked
embedded systems
3. Construction of faithful
system-level models
4. System-level
performance evaluation
Translation Translation
Modeling
Verification
Error
(BIP)
library
Model
(BIP)
packet delivery)
(e.g. timing,
Runtime
Application
Software
HW/
OS−Network
Model
(BIP)
Code
deployment
generation/
Execution
Transformation
(BIP)
System
Model
2
calibration
Model
System
Model
Calibrated
measurements
6
OS/
Network stack
(e.g. standards)
specifications
OS−Network
(BIP)
library
Preliminary phase
(DSL)
Application
(XML)
Mapping
specifications
3
1
5
evaluation
Performance
4
7
Architecture
HW
(BIP)
software
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 14 / 36
•Design flow for Networked Embedded Systems •Insight on the flow phases
Pragmatic Programming Model (PPM)
A unifying computational model adapted to networked embedded systems
Describes application software as a process network, involving
communication between different processes
Application software consists of three basic entities:
Processes, shared memories, mutexed locations
Communication performed using shared objects, which are:
FIFOs, shared memories, mutexed locations
Network structure described in XML
Process behavior written in C/C++
Inspired by the DOL (Distributed Operations Layer)
framework in multiprocessor systems
synchro PLL
speaker micro
PLL
micro
SO1
SO2
SO3
SO4
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 15 / 36
•Design flow for Networked Embedded Systems •Insight on the flow phases
Automated code generation from PPM specifications
Generated code consists of:
1. Functional code:
Includes processes that are implemented
as threads
Includes shared objects tha are
implemented according to the underlying
communication protocols
Substitutes PPM read and write
primitives by read and write API calls on
the respective communication protocol
2. Glue code:
Includes the application deployment, also
used to define configuration parameters
for the communication protocols
Support of UDP, raw socket and Ethernet
Powerlink communication primitives
Generated code deployed in embedded Linux,
Ethernet Powerlink or Contiki OS architectures
(C code)
Deployable
Application Software (PPM)
Code generation
Device 1
Embedded Embedded
Device 2
Embedded
Device N
Mapping (PPM)
Behavior
(C code)
Process Network
(XML)
(C code)
Templates
HW CodeArchitecture
(XML)
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 16 / 36
•Design flow for Networked Embedded Systems •Insight on the flow phases
Modeling HW architectures
Timed models developed for:
1. Network protocols:
CAN: Synchronous communication, CAN/CAN FD protocol versions, timing
aspects follows the ISO 11898-1 and ISO 11898-2 standards, bit-stuffing
techniques, transmission offsets, (non-)abortable requests
CANopen: CANopen DS-301 communication profile, integration with CAN
and Ethernet Powerlink (EPL), event- and time-driven, synchronous and
asynchronous comommunication
WiFi: Timing aspects following of the IEEE 802.11 standard, DCF channel
access scheme, FHSS modulation technique
Contiki protocol stack: CoAP, 6LoWPAN and the IEEE 802.15.4 standard
models, compression and decompression mechanisms for the IP packet
headers, DSSS modulation technique
2. Operating systems:
Embedded Linux: Scheduling mechanisms, device hardware clocks
Contiki OS: Kernel, scheduling mechanisms, memory allocation
Overall complexity of the developed models for IoT systems approximately 16
components with 426 transitions
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 17 / 36
•Design flow for Networked Embedded Systems •Insight on the flow phases
Construction of faithful system-level models
1. Construction of an abstract system model by applying composition glue:
BIP models for the application software
BIP model for the hardware architecture
2. System model refinement with timing information obtained from
measurements on the implementation:
Process profiling techniques to instrument the generated code
Distribution fitting when observations are stochastic
Injection of the obtained observations to the system model
Example: Software processes that perform specific computations on input data
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 18 / 36
•Design flow for Networked Embedded Systems •Insight on the flow phases
System-level performance evaluation
The implemented techniques enable:
Monitoring the evolution of performance characteristics over time
Injecting additional behavior (e.g. packet losses, out-of-order deliveries) to
analyze their impact on performance aspects (i.e memory, timing)
Performance analysis through the evaluation of system requirements using
SMC
Feedback to the system designers
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 19 / 36
•Design flow for Networked Embedded Systems •Insight on the flow phases
Summary
Design flow based on a
single semantic framework
for networked embedded
systems that supports:
Layered system
composition through
resuable components
Model-based design
Separation of concerns
Tools to automate
every step of the flow
Translation Translation
Modeling
Verification
Error
(BIP)
library
Model
(BIP)
packet delivery)
(e.g. timing,
Runtime
Application
Software
HW/
OS−Network
Model
(BIP)
Code
deployment
generation/
Execution
Transformation
(BIP)
System
Model
2
calibration
Model
System
Model
Calibrated
measurements
6
OS/
Network stack
(e.g. standards)
specifications
OS−Network
(BIP)
library
Preliminary phase
(DSL)
software
Application
(XML)
Mapping
specifications
3
1
5
evaluation
Performance
4
7
Architecture
HW
(BIP)
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 20 / 36
•Application and experiments •Overview
Outline
Motivation
•Design flow for Networked Embedded Systems
•Background: The BIP Framework
•Overview of the proposed flow
•Insight on the flow phases
Application modeling
Code generation
System modeling
Performance evaluation
•Application and experiments
•Overview
•Case study 1: Clock synchronization in a multimedia WSN Application
•Case study 2: Smart heating IoT application
•Conclusion
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 21 / 36
•Application and experiments •Overview
Design flow applied to several application domains of :
1. Automotive systems
2. Industrial automation systems
3. Wireless Sensor Network (WSN) systems
4. Internet of Things (IoT) systems
The resulting design flow of each domain demonstrated through case-studies in
real-life networked embedded systems
Each domain features different:
Application-specific characteristics
Network stack protocols (e.g. CAN, CANopen, Ethernet Powerlink, WiFi,
6LoWPAN)
Operating systems (e.g. embedded Linux, Contiki OS)
Requirements to be considered (e.g. memory utilization, transmission and
processing delays)
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 22 / 36
•Application and experiments •Case study 1: Clock synchronization in a multimedia WSN Application
Case study 1: Clock synchronization in a multimedia WSN
Application
Capturing and reproduction of audio data produced by embedded devices in a base station
Advanced Linux Sound Architecture (ALSA) API for audio configuration
Periodic sender-to-receiver synchronization (T=1s)
WIreless network supported by a Snowball SDK Access Point (static ad-hoc server
configuration)
WSN with 3 UDOO platforms connected through the AP
Master Node
Slave Node
Slave Node
Access Point
(AP)
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 23 / 36
•Application and experiments •Case study 1: Clock synchronization in a multimedia WSN Application
For this case-study we described:
The Application software and the mapping in PPM
Audio capturing and playback technique using the ALSA API
Clock synchronization protocol using the PLL technique
The HW architecture through a WLAN DSL network specification
In our approach we proceeded on:
Modeling the WSN application software and the WLAN hardware architecture
Code generation for WSN systems from the PPM specifications
BIP System Model Calibration using distribution fitting techniques
Validating of functional and extra-functional requirements using SMC
Buffer utilization
Clock synchronization accuracy
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 24 / 36
•Application and experiments •Case study 1: Clock synchronization in a multimedia WSN Application
WMSN application: PPM Model
synchro PLL
speaker micro
PLL
micro
SO1
SO2
SO3
SO4
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 25 / 36
•Application and experiments •Case study 1: Clock synchronization in a multimedia WSN Application
WMSN application: Application deployment
synchro PLL
speaker micro
PLL
micro
WMSN Application
SO1
SO2
SO3
SO4
Master
WiFi
card
Sound
card
UDOO node
WLAN HW architecture
Snowball SDK
Access Point
WiFi
WiFi
card
Slave
WiFi
card
Sound
card
UDOO node
Slave
WiFi
card
Sound
card
UDOO node
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 26 / 36
•Application and experiments •Case study 1: Clock synchronization in a multimedia WSN Application
WMSN application: Experiments
Property 1: What is the probability of avoiding potential audio playback problems
in the WMSN application?
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
0 100 200 300 400 500 600 700 800 900 1000
020406080100
size(Sbuffer)
Probability(%)
Overflow avoided for maximum queue
size 400
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
q
q
q
q
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
0 160 320 480 640 800 960 1120 1280 1440 1600
020406080100
Initial playout delay (ms)
Probability(%)
Initial audio playout delay at least 1210 ms
The consumption of audio packets from
the speaker of the Master component
should not start before this time
duration has elapsedAlexios Lekidis Design flow for the rigorous development of networked embedded systems 27 / 36
•Application and experiments •Case study 1: Clock synchronization in a multimedia WSN Application
WMSN application: Experiments
Property 2: What is the probability of maintain a bounded clock synchronization
accuracy for the audio playback?
0 200 400 600 800 1000 1200
20
40
60
80
100
120
140
160
180
Synchronizationerror(usec)
Number of samples
0 200 400 600 800 1000 1200
0
20
40
60
80
100
120
140
160
180
Synchronizationerror(usec)
Number of samples
Observed accuracy in the model and the generated code is the same (equal to
76µs)
Variatibility observed in the model simulation allows better analysis
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 28 / 36
•Application and experiments •Case study 2: Smart heating IoT application
Case study 2: Smart heating IoT application
Applied to home and building automation areas
of networked embedded systems
Application includes zone-controller receiving
temperature readings from sensors
Requests from a client (zone-controller) to
multiple server devices (containing the sensors)
for temperature data
Particular focus in an apartment with two
rooms, each one having a temperature sensor
Zone-controller periodically accessed by a
smartphone or tablet device to provide control
of the indoor heating to the residents
Tmote Sky platform used as access point
providing a WPAN network
5 embedded devices (4 servers and 1 client)
Use of the Rime Contiki stack for
communication
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 29 / 36
•Application and experiments •Case study 2: Smart heating IoT application
For this case-study we described:
The application software in a DSL for Contiki OS systems
The HW architecture through a WPAN DSL network specification
In our approach we proceeded on:
Constructing models for the Contiki Kernel and the entire protocol stack
Code generation from a DSL language for IoT systems
BIP System Model Calibration using process profiling techniques
Model verification using state-space exploration
Validation of functional and extra-functional requirements using SMC
Maintaining temperature in user-defined levels inside the building
Proper sizing of the Contiki OS buffers
Achieving low collision rate in the communication medium
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 30 / 36
•Application and experiments •Case study 2: Smart heating IoT application
Smart heating IoT application: Experiments
Application simulated using:
1. The BIP simulation environment
2. A domain-specific IoT simulation environment (Cooja/MPSim)
200 250 300 350 400 450 500
11
11.5
12
12.5
13
13.5
14
14.5
Responsetime(ms)
Number of samples
SBIP Model
Cooja
Both experiments provided similar results
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 31 / 36
•Application and experiments •Case study 2: Smart heating IoT application
Smart heating IoT application: Experiments
Additional experiment on injection of error-prone behavior (e.g. packet losses)
uisng the BIP simulation environment
Cooja only supports the addition of packet losses based on user-provided
simulation values for parameters (not accurately reflecting the reality)
0 500 1000 1500
10
12
14
16
18
20
22
24
Responsetime(ms)
Number of samples
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 32 / 36
•Conclusion
Outline
•Design flow for Networked Embedded Systems
•Background: The BIP Framework
•Overview of the proposed flow
•Insight on the flow phases
Application modeling
Code generation
System modeling
Performance evaluation
•Application and experiments
•Overview
•Case study 1: Clock synchronization in a multimedia WSN Application
•Case study 2: Smart heating IoT application
•Conclusion
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 33 / 36
•Conclusion
Summary
Model-based design flow for networked embedded systems using the BIP
component framework featuring:
1. Novel languages and computational models for describing the application
software
2. Automated code generation from the application software
3. Construction of faithful and reusable system models using model calibration
techniques
4. Evaluation of the system performance through functional and extra-functional
requirements
5. Feedback for design enchacements
Application of the design flow in various areas: Demonstration through
real-life case-studies and comparison against domain-specific tools and
frameworks
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 34 / 36
•Conclusion
Perspectives
Existing limitations that should be handled in the design flow relate to:
The simulation performance when compared against other domain-specific
tools (e.g RTaW-Sim in automotive systems)
Interoperability when deployed in complex architectures, such as Multi-Core
SoC architectures
Complexity of the models, expecially for large-scale networked embedded
systems
Proper stochastic abstractions should be made
Additional extra-functional requirements
Support of power consumption in the constructed models
Analysis of security risks
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 35 / 36
•Conclusion
Thank you very much for your attention
Alexios Lekidis Design flow for the rigorous development of networked embedded systems 36 / 36

Más contenido relacionado

Similar a Thesis presentation

Educating the computer architects of tomorrow's critical systems with RISC-V
Educating the computer architects of tomorrow's critical systems with RISC-VEducating the computer architects of tomorrow's critical systems with RISC-V
Educating the computer architects of tomorrow's critical systems with RISC-VRISC-V International
 
PETRUCCI_Andrea_Research_Projects_and_Publications
PETRUCCI_Andrea_Research_Projects_and_PublicationsPETRUCCI_Andrea_Research_Projects_and_Publications
PETRUCCI_Andrea_Research_Projects_and_PublicationsAndrea PETRUCCI
 
MSIE-06-T-M2S1-Cyber-Physical-System-and-Data-Security.pptx
MSIE-06-T-M2S1-Cyber-Physical-System-and-Data-Security.pptxMSIE-06-T-M2S1-Cyber-Physical-System-and-Data-Security.pptx
MSIE-06-T-M2S1-Cyber-Physical-System-and-Data-Security.pptxMahendraShukla27
 
Principles of Reproducible Workflows (U-DAWS) nfcamp2019
Principles of Reproducible Workflows (U-DAWS) nfcamp2019Principles of Reproducible Workflows (U-DAWS) nfcamp2019
Principles of Reproducible Workflows (U-DAWS) nfcamp2019Venkat Malladi
 
Parallex - The Supercomputer
Parallex - The SupercomputerParallex - The Supercomputer
Parallex - The SupercomputerAnkit Singh
 
Re-engineering Engineering: from a cathedral to a bazaar?
Re-engineering Engineering: from a cathedral to a bazaar?Re-engineering Engineering: from a cathedral to a bazaar?
Re-engineering Engineering: from a cathedral to a bazaar?Open Networking Summits
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architectureLilia Sfaxi
 
Enabling Production Grade Containerized Applications through Policy Based Inf...
Enabling Production Grade Containerized Applications through Policy Based Inf...Enabling Production Grade Containerized Applications through Policy Based Inf...
Enabling Production Grade Containerized Applications through Policy Based Inf...Docker, Inc.
 
ch2-What are Connections?
ch2-What are Connections?ch2-What are Connections?
ch2-What are Connections?ssuser06ea42
 
Layer_arc_and_OSI_MODEL.ppt
Layer_arc_and_OSI_MODEL.pptLayer_arc_and_OSI_MODEL.ppt
Layer_arc_and_OSI_MODEL.pptBeniamTekeste
 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringHeiko Koziolek
 
Data Center of the Future v1.0.pptx
Data Center of the Future v1.0.pptxData Center of the Future v1.0.pptx
Data Center of the Future v1.0.pptxjuergenJaeckel
 
Software Define Network, a new security paradigm ?
Software Define Network, a new security paradigm ?Software Define Network, a new security paradigm ?
Software Define Network, a new security paradigm ?Jean-Marc ANDRE
 
Investigation, Design and Implementation of a Secure
Investigation, Design and Implementation of a SecureInvestigation, Design and Implementation of a Secure
Investigation, Design and Implementation of a SecureFiras Alsayied
 
Data Centre Network Optimization
Data Centre Network OptimizationData Centre Network Optimization
Data Centre Network OptimizationIJAEMSJORNAL
 
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTUtilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTPôle Systematic Paris-Region
 
Basics of Cloud Computing- 5 th semester
Basics of Cloud Computing- 5 th semesterBasics of Cloud Computing- 5 th semester
Basics of Cloud Computing- 5 th semestersadas88
 
System on Chip Design and Modelling Dr. David J Greaves
System on Chip Design and Modelling   Dr. David J GreavesSystem on Chip Design and Modelling   Dr. David J Greaves
System on Chip Design and Modelling Dr. David J GreavesSatya Harish
 

Similar a Thesis presentation (20)

Educating the computer architects of tomorrow's critical systems with RISC-V
Educating the computer architects of tomorrow's critical systems with RISC-VEducating the computer architects of tomorrow's critical systems with RISC-V
Educating the computer architects of tomorrow's critical systems with RISC-V
 
PETRUCCI_Andrea_Research_Projects_and_Publications
PETRUCCI_Andrea_Research_Projects_and_PublicationsPETRUCCI_Andrea_Research_Projects_and_Publications
PETRUCCI_Andrea_Research_Projects_and_Publications
 
SIES IoT spresentation
SIES IoT spresentationSIES IoT spresentation
SIES IoT spresentation
 
MSIE-06-T-M2S1-Cyber-Physical-System-and-Data-Security.pptx
MSIE-06-T-M2S1-Cyber-Physical-System-and-Data-Security.pptxMSIE-06-T-M2S1-Cyber-Physical-System-and-Data-Security.pptx
MSIE-06-T-M2S1-Cyber-Physical-System-and-Data-Security.pptx
 
Principles of Reproducible Workflows (U-DAWS) nfcamp2019
Principles of Reproducible Workflows (U-DAWS) nfcamp2019Principles of Reproducible Workflows (U-DAWS) nfcamp2019
Principles of Reproducible Workflows (U-DAWS) nfcamp2019
 
Parallex - The Supercomputer
Parallex - The SupercomputerParallex - The Supercomputer
Parallex - The Supercomputer
 
Re-engineering Engineering: from a cathedral to a bazaar?
Re-engineering Engineering: from a cathedral to a bazaar?Re-engineering Engineering: from a cathedral to a bazaar?
Re-engineering Engineering: from a cathedral to a bazaar?
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architecture
 
Enabling Production Grade Containerized Applications through Policy Based Inf...
Enabling Production Grade Containerized Applications through Policy Based Inf...Enabling Production Grade Containerized Applications through Policy Based Inf...
Enabling Production Grade Containerized Applications through Policy Based Inf...
 
ch2-What are Connections?
ch2-What are Connections?ch2-What are Connections?
ch2-What are Connections?
 
Layer_arc_and_OSI_MODEL.ppt
Layer_arc_and_OSI_MODEL.pptLayer_arc_and_OSI_MODEL.ppt
Layer_arc_and_OSI_MODEL.ppt
 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software Engineering
 
Data Center of the Future v1.0.pptx
Data Center of the Future v1.0.pptxData Center of the Future v1.0.pptx
Data Center of the Future v1.0.pptx
 
Software Define Network, a new security paradigm ?
Software Define Network, a new security paradigm ?Software Define Network, a new security paradigm ?
Software Define Network, a new security paradigm ?
 
Investigation, Design and Implementation of a Secure
Investigation, Design and Implementation of a SecureInvestigation, Design and Implementation of a Secure
Investigation, Design and Implementation of a Secure
 
Data Centre Network Optimization
Data Centre Network OptimizationData Centre Network Optimization
Data Centre Network Optimization
 
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoTUtilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
 
Basics of Cloud Computing- 5 th semester
Basics of Cloud Computing- 5 th semesterBasics of Cloud Computing- 5 th semester
Basics of Cloud Computing- 5 th semester
 
UIC Thesis Corbetta
UIC Thesis CorbettaUIC Thesis Corbetta
UIC Thesis Corbetta
 
System on Chip Design and Modelling Dr. David J Greaves
System on Chip Design and Modelling   Dr. David J GreavesSystem on Chip Design and Modelling   Dr. David J Greaves
System on Chip Design and Modelling Dr. David J Greaves
 

Último

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 

Último (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 

Thesis presentation

  • 1. Design flow for the rigorous development of networked embedded systems Alexios Lekidis Verimag, Universit´e Grenoble Alpes 10 December 2015 Committee: Ahmed Lbath Professeur, Universit´e Joseph Fourier Grenoble, President du jury Roman Obermaisser Professeur, Universit¨at Siegen, Rapporteur Roberto Passerone Professeur, University of Trento, Rapporteur Smail Niar Professeur, Universit´e de Valenciennes, Examinateur Marius Bozga Ing´enieur de recherche, CNRS, Directeur de th`ese Saddek Bensalem Professeur, Universit´e Joseph Fourier Grenoble, Co-Directeur de th`ese Alexios Lekidis Design flow for the rigorous development of networked embedded systems 1 / 36
  • 2. Networked embedded systems Exponential growth in the current use of embedded devices due to: Compact size Low-cost Low-power consumption Portability Ability of monitoring the physical environment Data exchange capabilities through wired or wireless networks Application areas include: Health-care, transportation, agriculture, environmental monitoring, security systems, industrial process control, factory and building automation and control, high-energy physics Alexios Lekidis Design flow for the rigorous development of networked embedded systems 2 / 36
  • 3. Networked embedded systems: Design challenges A collection of embedded devices that are interconnected by a wired/wireless network Network Embedded Device Embedded Device Embedded Device Embedded Device Alexios Lekidis Design flow for the rigorous development of networked embedded systems 3 / 36
  • 4. Networked embedded systems: Design challenges A collection of embedded devices that are interconnected by a wired/wireless network Network Embedded Device Embedded Device Embedded Device Embedded Device Considerable complexity during system design Heterogeneity in: Device functionalities, sensors/actuators, processing units etc Operating systems, drivers Network protocols Communication mechanisms for data exchange Limited resources Functional and extra-functional requirements Alexios Lekidis Design flow for the rigorous development of networked embedded systems 3 / 36
  • 5. Networked embedded systems: Design challenges Heterogeneity in network protocols Selection based on system specifications from: Wired and wireless Event- and time-triggered technologies Affects application perfomance and functionality Alexios Lekidis Design flow for the rigorous development of networked embedded systems 4 / 36
  • 6. Networked embedded systems: Design challenges Resource constraints Scarce hardware resources: Processing power, available memory, network bandwidth, battery lifetime Resources should not reach a critical state Functional and extra-functional requirements 1. Functional: Correctness, robustness, deadlock-freedom 2. Extra-functional enforce bounds in: QoS: Communication and data processing latencies Energy consumption and maintaining the desired system temperature levels Both types of requirements are equally important for system development Alexios Lekidis Design flow for the rigorous development of networked embedded systems 5 / 36
  • 7. Existing development methods Several methods for the development of embedded systems Extension to networked embedded systems requires: Knowledge of network stack protocols Handling more complex Interactions with the device drivers No guarantee of correct functionality makeSense project (www.project-makesense.eu) Alexios Lekidis Design flow for the rigorous development of networked embedded systems 6 / 36
  • 8. Thesis contribution A model-based approach for building functional networked embedded systems Early-stage simulation and testing, performance evaluation as well as verification of system requirements Progressive system implementation through novel developed tools that automate system development Development of components that describe faithfully the system behavior and functionality in a higher abstraction level Experiments on relevant case-studies for several application domains: Automotive Industrial automation Wireless Sensor Network (WSN) systems Internet of Things (IoT) systems Alexios Lekidis Design flow for the rigorous development of networked embedded systems 7 / 36
  • 9. •Design flow for Networked Embedded Systems Outline Motivation •Design flow for Networked Embedded Systems •Background: The BIP Framework •Overview of the proposed flow •Insight on the flow phases Application modeling Code generation System modeling Performance evaluation •Application and experiments •Overview •Case study 1: Clock synchronization in a multimedia WSN Application •Case study 2: Smart heating IoT application •Conclusion Alexios Lekidis Design flow for the rigorous development of networked embedded systems 8 / 36
  • 10. •Design flow for Networked Embedded Systems •Background: The BIP Framework The BIP Framework A formal framework for the hierarchical construction of heterogeneous real-time systems: Alexios Lekidis Design flow for the rigorous development of networked embedded systems 9 / 36
  • 11. •Design flow for Networked Embedded Systems •Background: The BIP Framework The BIP Framework A formal framework for the hierarchical construction of heterogeneous real-time systems: s0   sndPacket   NB:=0   s1   s2   s3   busy   6ck   [t<CCA]   t:=t+1   elapsed   [t=backoff]   t:=0   s5   free   s8   endT   [t=tdata]    startTrans beginT   [t=CCA  ||  eval=1]   t:=0   6ck   [t<backoff]   t:=t+1   6ck   [t<tdata]   t:=t+1    backoff=distVal*aUnitBackoffPeriodL0 beginT   nodeNum:=nodeNum+1   endT   nodeNum=nodeNum-­‐1   sending   [nodeNum        1]   L1 busy   nodeNum:=nodeNum+1   beginT   busy  endT   free   nodeNum   L2 free   nodeNum=nodeNum-­‐1   newTrans   [nodeNum=0]   beginT   eval   endT  busy   free   6ck  sndPacket   pkt   if  (nodeNum        1)  then  eval:=1  else  eval:=0   busy   [eval=0]   ≤ ≤ distVal=select(distrib,size) Behavior: Transition systems enriched with data and functions in C/C++ Interaction: Data transfers between components Priority: Enforcing scheduling policies amongst possible interactions Alexios Lekidis Design flow for the rigorous development of networked embedded systems 9 / 36
  • 12. •Design flow for Networked Embedded Systems •Background: The BIP Framework The BIP tools 1. Language Factory: Translation from other languages and programming models 2. Verification of functional properties: State-space exploration tool for the verification of safety requirements D-Finder tool for compositional verification 3. Verification of performance properties: Statistical Model Checking tool 4. Code generation for target HW architectures Alexios Lekidis Design flow for the rigorous development of networked embedded systems 10 / 36
  • 13. •Design flow for Networked Embedded Systems •Insight on the flow phases Outline Motivation •Design flow for Networked Embedded Systems •Background: The BIP Framework •Overview of the proposed flow •Insight on the flow phases Application modeling Code generation System modeling Performance evaluation •Application and experiments •Overview •Case study 1: Clock synchronization in a multimedia WSN Application •Case study 2: Smart heating IoT application •Conclusion Alexios Lekidis Design flow for the rigorous development of networked embedded systems 11 / 36
  • 14. •Design flow for Networked Embedded Systems •Insight on the flow phases Design flow for networked embedded systems Relies on the BIP framework and the associated tools Implements a Y-chart approach, having as distinct inputs: Application software HW architecture specification Models for the network protocols Mapping for the application deployment Uses BIP for the construction of system-level models at different levels of abstraction Applies the BIP tools for verification and performance evaluation Uses code generation tools for rapid prototyping and application deployment Alexios Lekidis Design flow for the rigorous development of networked embedded systems 12 / 36
  • 15. •Design flow for Networked Embedded Systems •Insight on the flow phases Design flow for networked embedded systems Translation Translation Modeling Verification Error (BIP) library Model (BIP) packet delivery) (e.g. timing, Runtime Application Software HW/ OS−Network Model (BIP) Code deployment generation/ Execution Transformation (BIP) System Model 2 calibration Model System Model Calibrated measurements 6 OS/ Network stack (e.g. standards) specifications OS−Network (BIP) library Preliminary phase (DSL) software Application (XML) Mapping specifications 3 1 5 evaluation Performance 4 7 Architecture HW (BIP) Alexios Lekidis Design flow for the rigorous development of networked embedded systems 13 / 36
  • 16. •Design flow for Networked Embedded Systems •Insight on the flow phases The design flow offers: 1. Description of the application software through a novel programming framework 2. Automated code generation for several hardware architectures of networked embedded systems 3. Construction of faithful system-level models 4. System-level performance evaluation Translation Translation Modeling Verification Error (BIP) library Model (BIP) packet delivery) (e.g. timing, Runtime Application Software HW/ OS−Network Model (BIP) Code deployment generation/ Execution Transformation (BIP) System Model 2 calibration Model System Model Calibrated measurements 6 OS/ Network stack (e.g. standards) specifications OS−Network (BIP) library Preliminary phase (DSL) Application (XML) Mapping specifications 3 1 5 evaluation Performance 4 7 Architecture HW (BIP) software Alexios Lekidis Design flow for the rigorous development of networked embedded systems 14 / 36
  • 17. •Design flow for Networked Embedded Systems •Insight on the flow phases Pragmatic Programming Model (PPM) A unifying computational model adapted to networked embedded systems Describes application software as a process network, involving communication between different processes Application software consists of three basic entities: Processes, shared memories, mutexed locations Communication performed using shared objects, which are: FIFOs, shared memories, mutexed locations Network structure described in XML Process behavior written in C/C++ Inspired by the DOL (Distributed Operations Layer) framework in multiprocessor systems synchro PLL speaker micro PLL micro SO1 SO2 SO3 SO4 Alexios Lekidis Design flow for the rigorous development of networked embedded systems 15 / 36
  • 18. •Design flow for Networked Embedded Systems •Insight on the flow phases Automated code generation from PPM specifications Generated code consists of: 1. Functional code: Includes processes that are implemented as threads Includes shared objects tha are implemented according to the underlying communication protocols Substitutes PPM read and write primitives by read and write API calls on the respective communication protocol 2. Glue code: Includes the application deployment, also used to define configuration parameters for the communication protocols Support of UDP, raw socket and Ethernet Powerlink communication primitives Generated code deployed in embedded Linux, Ethernet Powerlink or Contiki OS architectures (C code) Deployable Application Software (PPM) Code generation Device 1 Embedded Embedded Device 2 Embedded Device N Mapping (PPM) Behavior (C code) Process Network (XML) (C code) Templates HW CodeArchitecture (XML) Alexios Lekidis Design flow for the rigorous development of networked embedded systems 16 / 36
  • 19. •Design flow for Networked Embedded Systems •Insight on the flow phases Modeling HW architectures Timed models developed for: 1. Network protocols: CAN: Synchronous communication, CAN/CAN FD protocol versions, timing aspects follows the ISO 11898-1 and ISO 11898-2 standards, bit-stuffing techniques, transmission offsets, (non-)abortable requests CANopen: CANopen DS-301 communication profile, integration with CAN and Ethernet Powerlink (EPL), event- and time-driven, synchronous and asynchronous comommunication WiFi: Timing aspects following of the IEEE 802.11 standard, DCF channel access scheme, FHSS modulation technique Contiki protocol stack: CoAP, 6LoWPAN and the IEEE 802.15.4 standard models, compression and decompression mechanisms for the IP packet headers, DSSS modulation technique 2. Operating systems: Embedded Linux: Scheduling mechanisms, device hardware clocks Contiki OS: Kernel, scheduling mechanisms, memory allocation Overall complexity of the developed models for IoT systems approximately 16 components with 426 transitions Alexios Lekidis Design flow for the rigorous development of networked embedded systems 17 / 36
  • 20. •Design flow for Networked Embedded Systems •Insight on the flow phases Construction of faithful system-level models 1. Construction of an abstract system model by applying composition glue: BIP models for the application software BIP model for the hardware architecture 2. System model refinement with timing information obtained from measurements on the implementation: Process profiling techniques to instrument the generated code Distribution fitting when observations are stochastic Injection of the obtained observations to the system model Example: Software processes that perform specific computations on input data Alexios Lekidis Design flow for the rigorous development of networked embedded systems 18 / 36
  • 21. •Design flow for Networked Embedded Systems •Insight on the flow phases System-level performance evaluation The implemented techniques enable: Monitoring the evolution of performance characteristics over time Injecting additional behavior (e.g. packet losses, out-of-order deliveries) to analyze their impact on performance aspects (i.e memory, timing) Performance analysis through the evaluation of system requirements using SMC Feedback to the system designers Alexios Lekidis Design flow for the rigorous development of networked embedded systems 19 / 36
  • 22. •Design flow for Networked Embedded Systems •Insight on the flow phases Summary Design flow based on a single semantic framework for networked embedded systems that supports: Layered system composition through resuable components Model-based design Separation of concerns Tools to automate every step of the flow Translation Translation Modeling Verification Error (BIP) library Model (BIP) packet delivery) (e.g. timing, Runtime Application Software HW/ OS−Network Model (BIP) Code deployment generation/ Execution Transformation (BIP) System Model 2 calibration Model System Model Calibrated measurements 6 OS/ Network stack (e.g. standards) specifications OS−Network (BIP) library Preliminary phase (DSL) software Application (XML) Mapping specifications 3 1 5 evaluation Performance 4 7 Architecture HW (BIP) Alexios Lekidis Design flow for the rigorous development of networked embedded systems 20 / 36
  • 23. •Application and experiments •Overview Outline Motivation •Design flow for Networked Embedded Systems •Background: The BIP Framework •Overview of the proposed flow •Insight on the flow phases Application modeling Code generation System modeling Performance evaluation •Application and experiments •Overview •Case study 1: Clock synchronization in a multimedia WSN Application •Case study 2: Smart heating IoT application •Conclusion Alexios Lekidis Design flow for the rigorous development of networked embedded systems 21 / 36
  • 24. •Application and experiments •Overview Design flow applied to several application domains of : 1. Automotive systems 2. Industrial automation systems 3. Wireless Sensor Network (WSN) systems 4. Internet of Things (IoT) systems The resulting design flow of each domain demonstrated through case-studies in real-life networked embedded systems Each domain features different: Application-specific characteristics Network stack protocols (e.g. CAN, CANopen, Ethernet Powerlink, WiFi, 6LoWPAN) Operating systems (e.g. embedded Linux, Contiki OS) Requirements to be considered (e.g. memory utilization, transmission and processing delays) Alexios Lekidis Design flow for the rigorous development of networked embedded systems 22 / 36
  • 25. •Application and experiments •Case study 1: Clock synchronization in a multimedia WSN Application Case study 1: Clock synchronization in a multimedia WSN Application Capturing and reproduction of audio data produced by embedded devices in a base station Advanced Linux Sound Architecture (ALSA) API for audio configuration Periodic sender-to-receiver synchronization (T=1s) WIreless network supported by a Snowball SDK Access Point (static ad-hoc server configuration) WSN with 3 UDOO platforms connected through the AP Master Node Slave Node Slave Node Access Point (AP) Alexios Lekidis Design flow for the rigorous development of networked embedded systems 23 / 36
  • 26. •Application and experiments •Case study 1: Clock synchronization in a multimedia WSN Application For this case-study we described: The Application software and the mapping in PPM Audio capturing and playback technique using the ALSA API Clock synchronization protocol using the PLL technique The HW architecture through a WLAN DSL network specification In our approach we proceeded on: Modeling the WSN application software and the WLAN hardware architecture Code generation for WSN systems from the PPM specifications BIP System Model Calibration using distribution fitting techniques Validating of functional and extra-functional requirements using SMC Buffer utilization Clock synchronization accuracy Alexios Lekidis Design flow for the rigorous development of networked embedded systems 24 / 36
  • 27. •Application and experiments •Case study 1: Clock synchronization in a multimedia WSN Application WMSN application: PPM Model synchro PLL speaker micro PLL micro SO1 SO2 SO3 SO4 Alexios Lekidis Design flow for the rigorous development of networked embedded systems 25 / 36
  • 28. •Application and experiments •Case study 1: Clock synchronization in a multimedia WSN Application WMSN application: Application deployment synchro PLL speaker micro PLL micro WMSN Application SO1 SO2 SO3 SO4 Master WiFi card Sound card UDOO node WLAN HW architecture Snowball SDK Access Point WiFi WiFi card Slave WiFi card Sound card UDOO node Slave WiFi card Sound card UDOO node Alexios Lekidis Design flow for the rigorous development of networked embedded systems 26 / 36
  • 29. •Application and experiments •Case study 1: Clock synchronization in a multimedia WSN Application WMSN application: Experiments Property 1: What is the probability of avoiding potential audio playback problems in the WMSN application? qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq 0 100 200 300 400 500 600 700 800 900 1000 020406080100 size(Sbuffer) Probability(%) Overflow avoided for maximum queue size 400 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq q q q q qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq 0 160 320 480 640 800 960 1120 1280 1440 1600 020406080100 Initial playout delay (ms) Probability(%) Initial audio playout delay at least 1210 ms The consumption of audio packets from the speaker of the Master component should not start before this time duration has elapsedAlexios Lekidis Design flow for the rigorous development of networked embedded systems 27 / 36
  • 30. •Application and experiments •Case study 1: Clock synchronization in a multimedia WSN Application WMSN application: Experiments Property 2: What is the probability of maintain a bounded clock synchronization accuracy for the audio playback? 0 200 400 600 800 1000 1200 20 40 60 80 100 120 140 160 180 Synchronizationerror(usec) Number of samples 0 200 400 600 800 1000 1200 0 20 40 60 80 100 120 140 160 180 Synchronizationerror(usec) Number of samples Observed accuracy in the model and the generated code is the same (equal to 76µs) Variatibility observed in the model simulation allows better analysis Alexios Lekidis Design flow for the rigorous development of networked embedded systems 28 / 36
  • 31. •Application and experiments •Case study 2: Smart heating IoT application Case study 2: Smart heating IoT application Applied to home and building automation areas of networked embedded systems Application includes zone-controller receiving temperature readings from sensors Requests from a client (zone-controller) to multiple server devices (containing the sensors) for temperature data Particular focus in an apartment with two rooms, each one having a temperature sensor Zone-controller periodically accessed by a smartphone or tablet device to provide control of the indoor heating to the residents Tmote Sky platform used as access point providing a WPAN network 5 embedded devices (4 servers and 1 client) Use of the Rime Contiki stack for communication Alexios Lekidis Design flow for the rigorous development of networked embedded systems 29 / 36
  • 32. •Application and experiments •Case study 2: Smart heating IoT application For this case-study we described: The application software in a DSL for Contiki OS systems The HW architecture through a WPAN DSL network specification In our approach we proceeded on: Constructing models for the Contiki Kernel and the entire protocol stack Code generation from a DSL language for IoT systems BIP System Model Calibration using process profiling techniques Model verification using state-space exploration Validation of functional and extra-functional requirements using SMC Maintaining temperature in user-defined levels inside the building Proper sizing of the Contiki OS buffers Achieving low collision rate in the communication medium Alexios Lekidis Design flow for the rigorous development of networked embedded systems 30 / 36
  • 33. •Application and experiments •Case study 2: Smart heating IoT application Smart heating IoT application: Experiments Application simulated using: 1. The BIP simulation environment 2. A domain-specific IoT simulation environment (Cooja/MPSim) 200 250 300 350 400 450 500 11 11.5 12 12.5 13 13.5 14 14.5 Responsetime(ms) Number of samples SBIP Model Cooja Both experiments provided similar results Alexios Lekidis Design flow for the rigorous development of networked embedded systems 31 / 36
  • 34. •Application and experiments •Case study 2: Smart heating IoT application Smart heating IoT application: Experiments Additional experiment on injection of error-prone behavior (e.g. packet losses) uisng the BIP simulation environment Cooja only supports the addition of packet losses based on user-provided simulation values for parameters (not accurately reflecting the reality) 0 500 1000 1500 10 12 14 16 18 20 22 24 Responsetime(ms) Number of samples Alexios Lekidis Design flow for the rigorous development of networked embedded systems 32 / 36
  • 35. •Conclusion Outline •Design flow for Networked Embedded Systems •Background: The BIP Framework •Overview of the proposed flow •Insight on the flow phases Application modeling Code generation System modeling Performance evaluation •Application and experiments •Overview •Case study 1: Clock synchronization in a multimedia WSN Application •Case study 2: Smart heating IoT application •Conclusion Alexios Lekidis Design flow for the rigorous development of networked embedded systems 33 / 36
  • 36. •Conclusion Summary Model-based design flow for networked embedded systems using the BIP component framework featuring: 1. Novel languages and computational models for describing the application software 2. Automated code generation from the application software 3. Construction of faithful and reusable system models using model calibration techniques 4. Evaluation of the system performance through functional and extra-functional requirements 5. Feedback for design enchacements Application of the design flow in various areas: Demonstration through real-life case-studies and comparison against domain-specific tools and frameworks Alexios Lekidis Design flow for the rigorous development of networked embedded systems 34 / 36
  • 37. •Conclusion Perspectives Existing limitations that should be handled in the design flow relate to: The simulation performance when compared against other domain-specific tools (e.g RTaW-Sim in automotive systems) Interoperability when deployed in complex architectures, such as Multi-Core SoC architectures Complexity of the models, expecially for large-scale networked embedded systems Proper stochastic abstractions should be made Additional extra-functional requirements Support of power consumption in the constructed models Analysis of security risks Alexios Lekidis Design flow for the rigorous development of networked embedded systems 35 / 36
  • 38. •Conclusion Thank you very much for your attention Alexios Lekidis Design flow for the rigorous development of networked embedded systems 36 / 36