SlideShare a Scribd company logo
Università degli Studi dell’Aquila

Ivano Malavolta
DISIM Department, University of L’Aquila
ivano.malavolta@univaq.it
The material in these slides may be freely reproduced
and distributed, partially or totally, as far as an explicit
reference or acknowledge to the material author is
preserved.

Ivano Malavolta
Problem Definition
A4WSN
Software Architecture
Nodes Configuration
Physical Environment
Keeping Models Integrated
Exercise
WSNs consist of spatially distributed sensors that cooperate to
accomplish some tasks.
Sensors are:
• small
• battery-powered
• with limited processing capabilities
• with limited memory
They can be easily deployed to monitor different environmental
parameters such as temperature, movement, sound and
pollution.
Sensors can be distributed on roads, vehicles, hospitals,
buildings, people and enable different applications such as
medical services, battlefield operations, crisis response, disaster
relief and environmental monitoring.
From the SESENA 2012CfP:

Abstraction

“the development of WSN software is still carried out in a rather
primitive fashion, by building software directly atop the OS and by
relying on an individuals hard-earned programming skills”

“WSN developers must face not only the functional application
requirements but also a number of challenging, non-functional
requirements and constraints resulting from scarce resources”

Separation of
concerns

Model-based
Analysis
Abstraction

by masking the complexity of low-level, hardware details
Separation of
concerns

by clearly separating SW, HW, and deployment aspects of
a WSN
Model-based
Analysis

by facilitating the analysis of both functional and nonfunctional properties
in this lecture we focus on this part

Abstraction

Separation of
concerns

Model-Based
Analysis
Problem Definition
A4WSN
Software Architecture
Nodes Configuration
Physical Environment
Keeping Models Integrated
Exercise
It is composed of 3 modeling languages

Details about
WSN nodes
Software
Architecture

Physical
environment
Structure
components
ports
application data
messages

Behaviour
events
conditions
actions
Component. A unit of computation with internal state and well
defined interface. Each component can contain a behaviour
specification and a set of application data.
MessagePort. Specifies the interaction point between a
component and its external environment.

Incoming messages arrive at InMessagePorts
Outgoing messages are sent via OutMessagePorts
Connection. It is a unidirectional communication channel
between two message ports.
Application Data. Local variables declared in the scope of the
component. It is manipulated by actions defined in the
behaviour of the component.
There are two types of application data:
• Primitive
•

integer, string, real, boolean

• Structured
•
•
•
•

Enumeration
Structure
Array*
Map*

* not supported in the current version of the tool
threshold : integer = 30
temperature : real = 15,5
message : string = "hello“
found : boolean = false

status : enum{ON, OFF} = status.OFF
gender : enum{MALE, FEMALE}
person : struct{name: string, sex: gender} =
person("John", gender.MALE)
readings : array{integer} = [12, 34, 56]
rooms : map = {"key1": 5, "key2": status.OFF}

* not supported in the current version of the tool
Operations on Application Data:
• arithmetic
•

+ - / *

Assignment is done via
a dedicated Action in
the behaviour

• boolean
•

AND, OR, NOT

• relational
•

> >= < <= !=
threshold + 30

Application data reference
Structured elements reference

person.name
readings[1]
rooms[“key1”]
Each Component can contain a description of its behaviour
The behaviour is based on:
1. Events-conditions-actions
2. Modes
Each Component can perform actions:
Sense gets some data from a sensor and stores the read
value into a specific application data
ex: get current temperature
Actuate activates and actuator, optionally an application
data can be used to pass a parameter to the actuator

ex: actuate a water sprinkler
SendMessage sends a message via a specific message port
Optionally, the payload of the message can be specified by
passing an expression as parameter
Types of available messages:
Unicast to a single receiver
Multicast to a set of receivers
Broadcast to every node containing the target
component
StartTimer starts a timer which can be triggered later
cyclic: true if the timer must be periodic
delay: the time (in millisecs) that must pass before the first activation
period: the period of the timer (in millisecs), if it is a cyclic one

StopTimer stops a previously started timer
StoreData puts some expression into an application
data of the component
CallSyncService calls an external service (ex. web service)
data: optional, it is the parameters that can be passed to the service
dataRecipient: the application data which will be filled with the result

CallAsyncService calls an external service, the result of the
call will be available via a dedicated event
data: optional, it is the parameters that can be passed to the service
Fork splits the incoming behavioural flow into a set of
parallel flows
Join merges incoming behavioural flows and syncs them
into a single outgoing flow
Choice, depending on the value of the conditions in its
outgoing links, one and only one control flow is executed
ReceiveMessage is triggered when the component
receives a message
dataRecipient: the application data which will contain the payload
fromMessagePort: the port that received the message

TimerFired is triggered when a previously started timer is
activated
Each component can react to specific kinds of events:
ServiceCallback is triggered when the result of an
AsyncServiceCall is available
dataRecipient: the application data which will be filled with the result

ServiceCall is triggered when some king of external service
interacts with the component
dataRecipient: the application data which will contain the parameters
of the call
Behavioural flow is specified by means of Links
A link can exist:

1. from an event E to an action A: in this case after the event E is
triggered, A will be executed
2. from an action A1 to another action A2: in this case, A2 is
executed immediately after A1
Conditions are boolean expressions (optionally) associated to links
The execution flow goes through a link only if its condition
evaluates to true
A mode is a specific status of the component
ex. sleeping mode, energy saving mode, etc.

Initial Mode is the first mode which is active when the component
starts up
At any given time, one and only one mode can be active in a
component
The component reacts only to those events which are defined
within its currently active mode
A component can switch from a mode to another by means of
mode transitions
Mode transitions link together modes by passing...
from a special kind of action called ExitMode

to a special kind of event called EnterMode
in this way actions and events can be linked to modes entry and exit points,
creating a continuous flow among modes
Problem Definition
A4WSN
Software Architecture
Nodes Configuration
Physical Environment
Keeping Models Integrated
Exercise
Types of nodes
OS
MAC protocol
routing protocol
installed sensors
installed actuators
energy sources
communication devices
A nodes specification is composed of a set of WSN node types

Node Attributes:
• OS
• ex. TinyOS, Contiki, Mantis, LiteOS, ...

• macProtocol
• ex. T-MAC, S-MAC, WiseMAC, SIFT, ...
• routingProtocol

• ex. GEAR, LEACH, HEED, ...
Node
ADC

Microcontroller

DAC
Memory

CPU
CPU
CPUs

RF

Timer

Storage memory

Program memory

Energy Source
Energy Source
Energy Sources

Sensors
Sensors
Sensors
Memory
Additional
Memory
memories
RF
RF
RFs

Actuators
Actuators
Actuators
The following elements can be attached to a WSN node:

• energy sources (one or more)
• continuous
• degradable (initialStoredEnergy in Joule)
• harvested (initialStoredEnergy in Joule, harvestingEnergyRate in Joule)
• sensors (zero or more)
energyConsumptionPerSample (mJ), idleEnergyConsumption (mJ)

ex. light sensor, temperature sensor, radio sensor, ...
• actuators (zero or more)
energyConsumptionPerSample (mJ), idleEnergyConsumption (mJ)

ex. water sprinkler, leds, lights, heating system switch, ...
A node can contain the following elements:
• RF Communication Device (zero or more)
represents the radio device to communicate with other nodes
Attributes:
float transmissionPower in dBm
float receiveSensitivity in dBm
float[1] frequency in MHz
float antennaGain in dBd

String modulation // name of the modulation method
String encryption // name of the enc. algorithm
• Memories (one or more)
represents external storage memories of the node
Attributes:
float averageReadingEnergyConsumption in mW
float averageWritingEnergyConsumption in mW

int[1] size in Kb
Microcontroller (one)

represents the entity which performs tasks, processes data
and controls the functionality of other components in the
sensor node
Microcontroller
1_*

0_*
0_*

ADC
DAC

Memory
1_1

CPU
CPU
CPU

0_1
RF

Timer 1_*

Program memory
1_1
• ADC (zero or more)

Attributes:
int resolution // # discrete values it can produce
int bits // 8 bits, 16 bits
int channels // #channels
• DAC (zero or more)

Attributes:
int resolution // # discrete values it can produce
int bits // 8 bits, 16 bits
• Processor (one or more)

Attributes:
int[1] frequency in MHz
float[1] cpi // cycles per instruction
• Timer (one or more)
Attributes:

int bits // 8 bits, 16 bits
• RF Communication Device (0_1) – internal radio transceiver
• Memory (one) – same role as RAM memory in PCs
• Program Memory (one) – stores the program running on the node
A Node can specify a set of Power Modes
Each power mode identifies a set of node elements (such as
memory, DAC, RF comm. device, etc.) and distinguishes between
which elements are active and which elements are disabled

Mode A

Mode B
Problem Definition
A4WSN
Software Architecture
Nodes Configuration
Physical Environment
Keeping Models Integrated
Example
A 2D space with obstacles
freely positioned
with their own shape
with attenuation coefficients
The Environment represents the overall area in the 2D space in
which the WSN will be deployed
Attributes:
string name // the name of the area
float [1] width // the width of the bounding box of the area

float [1] height // the height of the bounding box of the area
imagePath // the image used as background in the editor
The environment contains a set of Obstacles and Areas
An Obstacle specifies any kind of relevant element which can be
placed in the environment
Attributes:
string material // the name of the material of the obstacle
(ex. concrete wall, wooden door, glass, ...)

float [1] attenuation // the “thickness” of the obstacle
// it ranges from 0 to 1
Coordinate [2_*] shell // the perimeter of the obstacle in the
2D space
An area is a portion of physical environment in which a type of
node can be deployed
An area has a single property:
Shape: the perimeter of the area defined as a set of
coordinates

A1

A2

A3
Problem Definition
A4WSN
Software Architecture
Nodes Configuration
Physical Environment
Keeping Models Integrated
Example
Two special models link together software
components, nodes and environment specifications
MAPML models semantically represent the classical notion of
deployment of software components onto HW nodes
Separation of Concerns
It helps in clearly separating the application layer of a WSN from
all the other lower levels
this aspect is new in the WSN domain

Architects can focus on the application from a functional point of view in
SAML, and only later they will focus on low-level aspects
Weaves together an SAML model and a NODEML model
It defines how components are deployed into each configured nodes
Types of link:
• Mapping maps a component to its corresponding node configuration

• Sensor Mapping maps a Sense action in a component to a Sensor in
a node
• Actuator Mapping similar to the Sensor Mapping, but for actuators

• Communication Device Mapping maps a Message Port in a
component to an RFCommunicationDevice in a node
• Mode Mapping maps a Mode in a component to a Power Mode in a
node
Weaves together a NODEML model and an ENVML model
It defines how node configurations are
1. instantiated, and
2. virtually deployed in the physical environment
A DEPML model presents a single type of link: Deployment Link
A deployment link considers a node configuration in the NODEML
model, and assigns it to an area within the physical environment
Each node type can be instantiated ”n” times within a specific area
this allow architects to focus on generic components and
node types in SAML and NODEML, while in DEPML we
consider the final shape of the network
Nodes can be distributed in three different ways:
Random

Grid

Custom

each node is placed

nodes are placed on a

each node can be manually

randomly within the area

grid with a certain
number of rows and

placed within the area

columns
N2
N1
N1
N3

BS
In custom distribution, each node can be
individually specified in the area by:
1. its name

N2
N1
N1

BS

N3

2. the coordinates of its position
A nodes name pattern can be given to an area independently from
the distribution type
they are used to have a way to refer to the names used as targets of Send
Message actions in SAML models

Available patterns:
name<number>, name<Letter>, name
Graphical and Tree-based editor for SAML & NODEML

tree-based
editor

models
graphical
editor
bird
view
properties

palette
ENVML: Graphical editor with background image
MAPML: Tree-based editor
DEPML: Tree-based editor
languages
refinement

code
generators

analysis
tools
Model a WSN that allows the personnel of an hospital to monitor patients’
vital sign data with the help of pulse-oximeters.
The monitoring system consists of two types of nodes:
• a monitoring station
• ten oximeter nodes
Those nodes form a star-network.

Each pulse-oximeter monitors the patient continuously and a measurement
is sent to the monitoring station every 3 seconds.
In case the oximeter reads a value other than a defined threshold, an alert
message is sent to the monitoring system, and the system goes into a
warning mode in which sensor readings are sent to the monitoring station
more frequently (i.e., once every 200 milliseconds), hence facilitating
continuous monitoring of patients and allowing real-time responses in case
of emergency conditions.

More Related Content

What's hot

A4WSN: an Architecting environment 4 Wireless Sensor Networks
A4WSN: an Architecting environment 4 Wireless Sensor NetworksA4WSN: an Architecting environment 4 Wireless Sensor Networks
A4WSN: an Architecting environment 4 Wireless Sensor Networks
Ivano Malavolta
 
Hetrogenous wireless sensor network
Hetrogenous wireless sensor networkHetrogenous wireless sensor network
Hetrogenous wireless sensor network
Chinmoy Jena
 
wireless sensor network
wireless sensor networkwireless sensor network
wireless sensor network
DeepaDasarathan
 
Introduction of Wireless Sensor Network
Introduction of Wireless Sensor NetworkIntroduction of Wireless Sensor Network
Introduction of Wireless Sensor Network
Muhammad Kaife Uddin
 
WSN IN IOT
WSN IN IOTWSN IN IOT
WSN IN IOT
skumartarget
 
Seminar report on WSN technology
Seminar report on WSN technologySeminar report on WSN technology
Seminar report on WSN technologyKapil Dev
 
seminar report on wireless Sensor network
seminar report on wireless Sensor networkseminar report on wireless Sensor network
seminar report on wireless Sensor network
Jawhar Ali
 
Report on WIRELESS SENSOR NETWORK
Report on WIRELESS SENSOR NETWORKReport on WIRELESS SENSOR NETWORK
Report on WIRELESS SENSOR NETWORK
Nishant Bhardwaj
 
An algorithm for fault node recovery of wireless sensor network
An algorithm for fault node recovery of wireless sensor networkAn algorithm for fault node recovery of wireless sensor network
An algorithm for fault node recovery of wireless sensor network
eSAT Publishing House
 
Fault Node Recovery Algorithm for a Wireless Sensor Network
Fault Node Recovery Algorithm for a Wireless Sensor NetworkFault Node Recovery Algorithm for a Wireless Sensor Network
Fault Node Recovery Algorithm for a Wireless Sensor Network
Yogesh Vk
 
Wireless sensor networks (Yogesh Chandra Fulara)
Wireless sensor networks (Yogesh Chandra Fulara)Wireless sensor networks (Yogesh Chandra Fulara)
Wireless sensor networks (Yogesh Chandra Fulara)
Yogesh Fulara
 
paper presentation _ survey of wireless sensor netwrok
paper presentation _ survey of wireless sensor netwrokpaper presentation _ survey of wireless sensor netwrok
paper presentation _ survey of wireless sensor netwrok
ejbyun77
 
Wsn ppt original
Wsn ppt originalWsn ppt original
Wsn ppt original
Deepak Kumar Dhal
 
Fault tolerance in wsn
Fault tolerance in wsnFault tolerance in wsn
Fault tolerance in wsnElham Hormozi
 
Wireless sensor network survey
Wireless sensor network surveyWireless sensor network survey
Wireless sensor network survey
915086731
 
Wsn
WsnWsn
An overview of a wireless sensor network communication ppt
An overview of a wireless sensor network communication pptAn overview of a wireless sensor network communication ppt
An overview of a wireless sensor network communication pptphbhagwat
 
MULTIPLE CHOICE QUESTIONS WITH ANSWERS ON WIRELESS SENSOR NETWORKS
MULTIPLE CHOICE QUESTIONS WITH ANSWERS ON WIRELESS SENSOR NETWORKSMULTIPLE CHOICE QUESTIONS WITH ANSWERS ON WIRELESS SENSOR NETWORKS
MULTIPLE CHOICE QUESTIONS WITH ANSWERS ON WIRELESS SENSOR NETWORKS
vtunotesbysree
 
Data Flow in Wireless Sensor Network Protocol Stack by using Bellman-Ford Rou...
Data Flow in Wireless Sensor Network Protocol Stack by using Bellman-Ford Rou...Data Flow in Wireless Sensor Network Protocol Stack by using Bellman-Ford Rou...
Data Flow in Wireless Sensor Network Protocol Stack by using Bellman-Ford Rou...
journalBEEI
 

What's hot (20)

A4WSN: an Architecting environment 4 Wireless Sensor Networks
A4WSN: an Architecting environment 4 Wireless Sensor NetworksA4WSN: an Architecting environment 4 Wireless Sensor Networks
A4WSN: an Architecting environment 4 Wireless Sensor Networks
 
Hetrogenous wireless sensor network
Hetrogenous wireless sensor networkHetrogenous wireless sensor network
Hetrogenous wireless sensor network
 
wireless sensor network
wireless sensor networkwireless sensor network
wireless sensor network
 
9345.pdf
9345.pdf9345.pdf
9345.pdf
 
Introduction of Wireless Sensor Network
Introduction of Wireless Sensor NetworkIntroduction of Wireless Sensor Network
Introduction of Wireless Sensor Network
 
WSN IN IOT
WSN IN IOTWSN IN IOT
WSN IN IOT
 
Seminar report on WSN technology
Seminar report on WSN technologySeminar report on WSN technology
Seminar report on WSN technology
 
seminar report on wireless Sensor network
seminar report on wireless Sensor networkseminar report on wireless Sensor network
seminar report on wireless Sensor network
 
Report on WIRELESS SENSOR NETWORK
Report on WIRELESS SENSOR NETWORKReport on WIRELESS SENSOR NETWORK
Report on WIRELESS SENSOR NETWORK
 
An algorithm for fault node recovery of wireless sensor network
An algorithm for fault node recovery of wireless sensor networkAn algorithm for fault node recovery of wireless sensor network
An algorithm for fault node recovery of wireless sensor network
 
Fault Node Recovery Algorithm for a Wireless Sensor Network
Fault Node Recovery Algorithm for a Wireless Sensor NetworkFault Node Recovery Algorithm for a Wireless Sensor Network
Fault Node Recovery Algorithm for a Wireless Sensor Network
 
Wireless sensor networks (Yogesh Chandra Fulara)
Wireless sensor networks (Yogesh Chandra Fulara)Wireless sensor networks (Yogesh Chandra Fulara)
Wireless sensor networks (Yogesh Chandra Fulara)
 
paper presentation _ survey of wireless sensor netwrok
paper presentation _ survey of wireless sensor netwrokpaper presentation _ survey of wireless sensor netwrok
paper presentation _ survey of wireless sensor netwrok
 
Wsn ppt original
Wsn ppt originalWsn ppt original
Wsn ppt original
 
Fault tolerance in wsn
Fault tolerance in wsnFault tolerance in wsn
Fault tolerance in wsn
 
Wireless sensor network survey
Wireless sensor network surveyWireless sensor network survey
Wireless sensor network survey
 
Wsn
WsnWsn
Wsn
 
An overview of a wireless sensor network communication ppt
An overview of a wireless sensor network communication pptAn overview of a wireless sensor network communication ppt
An overview of a wireless sensor network communication ppt
 
MULTIPLE CHOICE QUESTIONS WITH ANSWERS ON WIRELESS SENSOR NETWORKS
MULTIPLE CHOICE QUESTIONS WITH ANSWERS ON WIRELESS SENSOR NETWORKSMULTIPLE CHOICE QUESTIONS WITH ANSWERS ON WIRELESS SENSOR NETWORKS
MULTIPLE CHOICE QUESTIONS WITH ANSWERS ON WIRELESS SENSOR NETWORKS
 
Data Flow in Wireless Sensor Network Protocol Stack by using Bellman-Ford Rou...
Data Flow in Wireless Sensor Network Protocol Stack by using Bellman-Ford Rou...Data Flow in Wireless Sensor Network Protocol Stack by using Bellman-Ford Rou...
Data Flow in Wireless Sensor Network Protocol Stack by using Bellman-Ford Rou...
 

Viewers also liked

FAULT DETECTION IN WIRELESS SENSOR NETWORK
FAULT DETECTION IN WIRELESS SENSOR NETWORKFAULT DETECTION IN WIRELESS SENSOR NETWORK
FAULT DETECTION IN WIRELESS SENSOR NETWORKPavithraRShettigar
 
Wireless sensor network
Wireless sensor networkWireless sensor network
Wireless sensor network
deawoo Kim
 
Visualization of IoT data 
with minecraft
Visualization of IoT data 
with minecraftVisualization of IoT data 
with minecraft
Visualization of IoT data 
with minecraft
Lars Gregori
 
prpl: a non-profit foundation embracing IoT diversity, big data, and analytics
prpl: a non-profit foundation embracing IoT diversity, big data, and analyticsprpl: a non-profit foundation embracing IoT diversity, big data, and analytics
prpl: a non-profit foundation embracing IoT diversity, big data, and analytics
Amit Rohatgi
 
Chapter 11
Chapter 11Chapter 11
Chapter 11
Faisal Mehmood
 
Wireless sensor network security issues
Wireless sensor network security issuesWireless sensor network security issues
Wireless sensor network security issuesMaha Saad
 
Security in wireless sensor networks
Security in wireless sensor networksSecurity in wireless sensor networks
Security in wireless sensor networksPiyush Mittal
 

Viewers also liked (8)

FAULT DETECTION IN WIRELESS SENSOR NETWORK
FAULT DETECTION IN WIRELESS SENSOR NETWORKFAULT DETECTION IN WIRELESS SENSOR NETWORK
FAULT DETECTION IN WIRELESS SENSOR NETWORK
 
Wireless sensor network
Wireless sensor networkWireless sensor network
Wireless sensor network
 
Visualization of IoT data 
with minecraft
Visualization of IoT data 
with minecraftVisualization of IoT data 
with minecraft
Visualization of IoT data 
with minecraft
 
prpl: a non-profit foundation embracing IoT diversity, big data, and analytics
prpl: a non-profit foundation embracing IoT diversity, big data, and analyticsprpl: a non-profit foundation embracing IoT diversity, big data, and analytics
prpl: a non-profit foundation embracing IoT diversity, big data, and analytics
 
Coding
CodingCoding
Coding
 
Chapter 11
Chapter 11Chapter 11
Chapter 11
 
Wireless sensor network security issues
Wireless sensor network security issuesWireless sensor network security issues
Wireless sensor network security issues
 
Security in wireless sensor networks
Security in wireless sensor networksSecurity in wireless sensor networks
Security in wireless sensor networks
 

Similar to Architecture 4 Wireless Sensor Networks

A4WSN
A4WSNA4WSN
ME4AWSN - a Modeling Environment for Architecting WSNs
ME4AWSN - a Modeling Environment for Architecting WSNsME4AWSN - a Modeling Environment for Architecting WSNs
ME4AWSN - a Modeling Environment for Architecting WSNs
Ivano Malavolta
 
Module3 part1
Module3 part1Module3 part1
Module3 part1
Anuradha Shenoy
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8Dhairya Joshi
 
Wireless sensor network applications
Wireless sensor network applicationsWireless sensor network applications
Wireless sensor network applications
Deepshika Reddy
 
Unit 4 -IOT5_Domain Model refrence .pptx
Unit 4 -IOT5_Domain Model refrence .pptxUnit 4 -IOT5_Domain Model refrence .pptx
Unit 4 -IOT5_Domain Model refrence .pptx
VelmuruganTECE
 
Data Analysis In The Cloud
Data Analysis In The CloudData Analysis In The Cloud
Data Analysis In The Cloud
Monica Carter
 
Clone cloud
Clone cloudClone cloud
Clone cloud
Bhagavathi Dhass
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9Ian Sommerville
 
Annunciator for Hazard Prevention & Temperature Control
Annunciator for Hazard Prevention & Temperature ControlAnnunciator for Hazard Prevention & Temperature Control
Annunciator for Hazard Prevention & Temperature Control
IOSR Journals
 
Benchmark methods to analyze embedded processors and systems
Benchmark methods to analyze embedded processors and systemsBenchmark methods to analyze embedded processors and systems
Benchmark methods to analyze embedded processors and systems
XMOS
 
Research on Power Quality Real-Time Monitoring System For High Voltage Switch...
Research on Power Quality Real-Time Monitoring System For High Voltage Switch...Research on Power Quality Real-Time Monitoring System For High Voltage Switch...
Research on Power Quality Real-Time Monitoring System For High Voltage Switch...
IJRESJOURNAL
 
Unit 4 -IOT5.pptx
Unit 4 -IOT5.pptxUnit 4 -IOT5.pptx
Unit 4 -IOT5.pptx
071ROHETHSIT
 
Switching systems lecture2
Switching  systems lecture2Switching  systems lecture2
Switching systems lecture2
Jumaan Ally Mohamed
 
A Framework for Performance Analysis of Computing Clouds
A Framework for Performance Analysis of Computing CloudsA Framework for Performance Analysis of Computing Clouds
A Framework for Performance Analysis of Computing Clouds
ijsrd.com
 
Reactors.io
Reactors.ioReactors.io
Reactors.io
Knoldus Inc.
 
Reactive programming with cycle.js
Reactive programming with cycle.jsReactive programming with cycle.js
Reactive programming with cycle.js
luca mezzalira
 
Embedded System Real Time Operating System (ERTS) I unit by vijay
Embedded System Real Time Operating System (ERTS) I unit by vijayEmbedded System Real Time Operating System (ERTS) I unit by vijay
Embedded System Real Time Operating System (ERTS) I unit by vijay
Vijay Kumar
 
Performance monitoring for Docker - Lucerne meetup
Performance monitoring for Docker - Lucerne meetupPerformance monitoring for Docker - Lucerne meetup
Performance monitoring for Docker - Lucerne meetup
Stijn Polfliet
 

Similar to Architecture 4 Wireless Sensor Networks (20)

A4WSN
A4WSNA4WSN
A4WSN
 
ME4AWSN - a Modeling Environment for Architecting WSNs
ME4AWSN - a Modeling Environment for Architecting WSNsME4AWSN - a Modeling Environment for Architecting WSNs
ME4AWSN - a Modeling Environment for Architecting WSNs
 
Module3 part1
Module3 part1Module3 part1
Module3 part1
 
Software engg. pressman_ch-8
Software engg. pressman_ch-8Software engg. pressman_ch-8
Software engg. pressman_ch-8
 
Wireless sensor network applications
Wireless sensor network applicationsWireless sensor network applications
Wireless sensor network applications
 
Unit 4 -IOT5_Domain Model refrence .pptx
Unit 4 -IOT5_Domain Model refrence .pptxUnit 4 -IOT5_Domain Model refrence .pptx
Unit 4 -IOT5_Domain Model refrence .pptx
 
Data Analysis In The Cloud
Data Analysis In The CloudData Analysis In The Cloud
Data Analysis In The Cloud
 
Clone cloud
Clone cloudClone cloud
Clone cloud
 
Ch20-Software Engineering 9
Ch20-Software Engineering 9Ch20-Software Engineering 9
Ch20-Software Engineering 9
 
Annunciator for Hazard Prevention & Temperature Control
Annunciator for Hazard Prevention & Temperature ControlAnnunciator for Hazard Prevention & Temperature Control
Annunciator for Hazard Prevention & Temperature Control
 
Benchmark methods to analyze embedded processors and systems
Benchmark methods to analyze embedded processors and systemsBenchmark methods to analyze embedded processors and systems
Benchmark methods to analyze embedded processors and systems
 
Research on Power Quality Real-Time Monitoring System For High Voltage Switch...
Research on Power Quality Real-Time Monitoring System For High Voltage Switch...Research on Power Quality Real-Time Monitoring System For High Voltage Switch...
Research on Power Quality Real-Time Monitoring System For High Voltage Switch...
 
Ecbs2000
Ecbs2000Ecbs2000
Ecbs2000
 
Unit 4 -IOT5.pptx
Unit 4 -IOT5.pptxUnit 4 -IOT5.pptx
Unit 4 -IOT5.pptx
 
Switching systems lecture2
Switching  systems lecture2Switching  systems lecture2
Switching systems lecture2
 
A Framework for Performance Analysis of Computing Clouds
A Framework for Performance Analysis of Computing CloudsA Framework for Performance Analysis of Computing Clouds
A Framework for Performance Analysis of Computing Clouds
 
Reactors.io
Reactors.ioReactors.io
Reactors.io
 
Reactive programming with cycle.js
Reactive programming with cycle.jsReactive programming with cycle.js
Reactive programming with cycle.js
 
Embedded System Real Time Operating System (ERTS) I unit by vijay
Embedded System Real Time Operating System (ERTS) I unit by vijayEmbedded System Real Time Operating System (ERTS) I unit by vijay
Embedded System Real Time Operating System (ERTS) I unit by vijay
 
Performance monitoring for Docker - Lucerne meetup
Performance monitoring for Docker - Lucerne meetupPerformance monitoring for Docker - Lucerne meetup
Performance monitoring for Docker - Lucerne meetup
 

More from Ivano Malavolta

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Ivano Malavolta
 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experience
Ivano Malavolta
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
Ivano Malavolta
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green IT
Ivano Malavolta
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Ivano Malavolta
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
Ivano Malavolta
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Ivano Malavolta
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Ivano Malavolta
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Ivano Malavolta
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Ivano Malavolta
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Ivano Malavolta
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Ivano Malavolta
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Ivano Malavolta
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...
Ivano Malavolta
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile development
Ivano Malavolta
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architectures
Ivano Malavolta
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
Ivano Malavolta
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
Ivano Malavolta
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
Ivano Malavolta
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
Ivano Malavolta
 

More from Ivano Malavolta (20)

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experience
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green IT
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile development
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architectures
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 

Recently uploaded

To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 

Recently uploaded (20)

To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 

Architecture 4 Wireless Sensor Networks

  • 1. Università degli Studi dell’Aquila Ivano Malavolta DISIM Department, University of L’Aquila ivano.malavolta@univaq.it
  • 2. The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved. Ivano Malavolta
  • 3. Problem Definition A4WSN Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Exercise
  • 4. WSNs consist of spatially distributed sensors that cooperate to accomplish some tasks. Sensors are: • small • battery-powered • with limited processing capabilities • with limited memory They can be easily deployed to monitor different environmental parameters such as temperature, movement, sound and pollution.
  • 5. Sensors can be distributed on roads, vehicles, hospitals, buildings, people and enable different applications such as medical services, battlefield operations, crisis response, disaster relief and environmental monitoring.
  • 6. From the SESENA 2012CfP: Abstraction “the development of WSN software is still carried out in a rather primitive fashion, by building software directly atop the OS and by relying on an individuals hard-earned programming skills” “WSN developers must face not only the functional application requirements but also a number of challenging, non-functional requirements and constraints resulting from scarce resources” Separation of concerns Model-based Analysis
  • 7. Abstraction by masking the complexity of low-level, hardware details Separation of concerns by clearly separating SW, HW, and deployment aspects of a WSN Model-based Analysis by facilitating the analysis of both functional and nonfunctional properties
  • 8. in this lecture we focus on this part Abstraction Separation of concerns Model-Based Analysis
  • 9.
  • 10. Problem Definition A4WSN Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Exercise
  • 11. It is composed of 3 modeling languages Details about WSN nodes Software Architecture Physical environment
  • 13. Component. A unit of computation with internal state and well defined interface. Each component can contain a behaviour specification and a set of application data. MessagePort. Specifies the interaction point between a component and its external environment. Incoming messages arrive at InMessagePorts Outgoing messages are sent via OutMessagePorts Connection. It is a unidirectional communication channel between two message ports.
  • 14. Application Data. Local variables declared in the scope of the component. It is manipulated by actions defined in the behaviour of the component. There are two types of application data: • Primitive • integer, string, real, boolean • Structured • • • • Enumeration Structure Array* Map* * not supported in the current version of the tool
  • 15. threshold : integer = 30 temperature : real = 15,5 message : string = "hello“ found : boolean = false status : enum{ON, OFF} = status.OFF gender : enum{MALE, FEMALE} person : struct{name: string, sex: gender} = person("John", gender.MALE) readings : array{integer} = [12, 34, 56] rooms : map = {"key1": 5, "key2": status.OFF} * not supported in the current version of the tool
  • 16. Operations on Application Data: • arithmetic • + - / * Assignment is done via a dedicated Action in the behaviour • boolean • AND, OR, NOT • relational • > >= < <= != threshold + 30 Application data reference Structured elements reference person.name readings[1] rooms[“key1”]
  • 17. Each Component can contain a description of its behaviour The behaviour is based on: 1. Events-conditions-actions 2. Modes
  • 18. Each Component can perform actions: Sense gets some data from a sensor and stores the read value into a specific application data ex: get current temperature Actuate activates and actuator, optionally an application data can be used to pass a parameter to the actuator ex: actuate a water sprinkler
  • 19. SendMessage sends a message via a specific message port Optionally, the payload of the message can be specified by passing an expression as parameter Types of available messages: Unicast to a single receiver Multicast to a set of receivers Broadcast to every node containing the target component
  • 20. StartTimer starts a timer which can be triggered later cyclic: true if the timer must be periodic delay: the time (in millisecs) that must pass before the first activation period: the period of the timer (in millisecs), if it is a cyclic one StopTimer stops a previously started timer StoreData puts some expression into an application data of the component
  • 21. CallSyncService calls an external service (ex. web service) data: optional, it is the parameters that can be passed to the service dataRecipient: the application data which will be filled with the result CallAsyncService calls an external service, the result of the call will be available via a dedicated event data: optional, it is the parameters that can be passed to the service
  • 22. Fork splits the incoming behavioural flow into a set of parallel flows Join merges incoming behavioural flows and syncs them into a single outgoing flow Choice, depending on the value of the conditions in its outgoing links, one and only one control flow is executed
  • 23. ReceiveMessage is triggered when the component receives a message dataRecipient: the application data which will contain the payload fromMessagePort: the port that received the message TimerFired is triggered when a previously started timer is activated
  • 24. Each component can react to specific kinds of events: ServiceCallback is triggered when the result of an AsyncServiceCall is available dataRecipient: the application data which will be filled with the result ServiceCall is triggered when some king of external service interacts with the component dataRecipient: the application data which will contain the parameters of the call
  • 25. Behavioural flow is specified by means of Links A link can exist: 1. from an event E to an action A: in this case after the event E is triggered, A will be executed 2. from an action A1 to another action A2: in this case, A2 is executed immediately after A1 Conditions are boolean expressions (optionally) associated to links The execution flow goes through a link only if its condition evaluates to true
  • 26. A mode is a specific status of the component ex. sleeping mode, energy saving mode, etc. Initial Mode is the first mode which is active when the component starts up At any given time, one and only one mode can be active in a component The component reacts only to those events which are defined within its currently active mode
  • 27. A component can switch from a mode to another by means of mode transitions Mode transitions link together modes by passing... from a special kind of action called ExitMode to a special kind of event called EnterMode in this way actions and events can be linked to modes entry and exit points, creating a continuous flow among modes
  • 28. Problem Definition A4WSN Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Exercise
  • 29. Types of nodes OS MAC protocol routing protocol installed sensors installed actuators energy sources communication devices
  • 30. A nodes specification is composed of a set of WSN node types Node Attributes: • OS • ex. TinyOS, Contiki, Mantis, LiteOS, ... • macProtocol • ex. T-MAC, S-MAC, WiseMAC, SIFT, ... • routingProtocol • ex. GEAR, LEACH, HEED, ...
  • 31. Node ADC Microcontroller DAC Memory CPU CPU CPUs RF Timer Storage memory Program memory Energy Source Energy Source Energy Sources Sensors Sensors Sensors Memory Additional Memory memories RF RF RFs Actuators Actuators Actuators
  • 32. The following elements can be attached to a WSN node: • energy sources (one or more) • continuous • degradable (initialStoredEnergy in Joule) • harvested (initialStoredEnergy in Joule, harvestingEnergyRate in Joule) • sensors (zero or more) energyConsumptionPerSample (mJ), idleEnergyConsumption (mJ) ex. light sensor, temperature sensor, radio sensor, ... • actuators (zero or more) energyConsumptionPerSample (mJ), idleEnergyConsumption (mJ) ex. water sprinkler, leds, lights, heating system switch, ...
  • 33. A node can contain the following elements: • RF Communication Device (zero or more) represents the radio device to communicate with other nodes Attributes: float transmissionPower in dBm float receiveSensitivity in dBm float[1] frequency in MHz float antennaGain in dBd String modulation // name of the modulation method String encryption // name of the enc. algorithm
  • 34. • Memories (one or more) represents external storage memories of the node Attributes: float averageReadingEnergyConsumption in mW float averageWritingEnergyConsumption in mW int[1] size in Kb
  • 35. Microcontroller (one) represents the entity which performs tasks, processes data and controls the functionality of other components in the sensor node Microcontroller 1_* 0_* 0_* ADC DAC Memory 1_1 CPU CPU CPU 0_1 RF Timer 1_* Program memory 1_1
  • 36. • ADC (zero or more) Attributes: int resolution // # discrete values it can produce int bits // 8 bits, 16 bits int channels // #channels • DAC (zero or more) Attributes: int resolution // # discrete values it can produce int bits // 8 bits, 16 bits
  • 37. • Processor (one or more) Attributes: int[1] frequency in MHz float[1] cpi // cycles per instruction • Timer (one or more) Attributes: int bits // 8 bits, 16 bits • RF Communication Device (0_1) – internal radio transceiver • Memory (one) – same role as RAM memory in PCs • Program Memory (one) – stores the program running on the node
  • 38. A Node can specify a set of Power Modes Each power mode identifies a set of node elements (such as memory, DAC, RF comm. device, etc.) and distinguishes between which elements are active and which elements are disabled Mode A Mode B
  • 39. Problem Definition A4WSN Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Example
  • 40. A 2D space with obstacles freely positioned with their own shape with attenuation coefficients
  • 41. The Environment represents the overall area in the 2D space in which the WSN will be deployed Attributes: string name // the name of the area float [1] width // the width of the bounding box of the area float [1] height // the height of the bounding box of the area imagePath // the image used as background in the editor The environment contains a set of Obstacles and Areas
  • 42. An Obstacle specifies any kind of relevant element which can be placed in the environment Attributes: string material // the name of the material of the obstacle (ex. concrete wall, wooden door, glass, ...) float [1] attenuation // the “thickness” of the obstacle // it ranges from 0 to 1 Coordinate [2_*] shell // the perimeter of the obstacle in the 2D space
  • 43. An area is a portion of physical environment in which a type of node can be deployed An area has a single property: Shape: the perimeter of the area defined as a set of coordinates A1 A2 A3
  • 44. Problem Definition A4WSN Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Example
  • 45. Two special models link together software components, nodes and environment specifications
  • 46. MAPML models semantically represent the classical notion of deployment of software components onto HW nodes Separation of Concerns It helps in clearly separating the application layer of a WSN from all the other lower levels this aspect is new in the WSN domain Architects can focus on the application from a functional point of view in SAML, and only later they will focus on low-level aspects
  • 47. Weaves together an SAML model and a NODEML model It defines how components are deployed into each configured nodes Types of link: • Mapping maps a component to its corresponding node configuration • Sensor Mapping maps a Sense action in a component to a Sensor in a node • Actuator Mapping similar to the Sensor Mapping, but for actuators • Communication Device Mapping maps a Message Port in a component to an RFCommunicationDevice in a node • Mode Mapping maps a Mode in a component to a Power Mode in a node
  • 48. Weaves together a NODEML model and an ENVML model It defines how node configurations are 1. instantiated, and 2. virtually deployed in the physical environment A DEPML model presents a single type of link: Deployment Link A deployment link considers a node configuration in the NODEML model, and assigns it to an area within the physical environment
  • 49. Each node type can be instantiated ”n” times within a specific area this allow architects to focus on generic components and node types in SAML and NODEML, while in DEPML we consider the final shape of the network
  • 50. Nodes can be distributed in three different ways: Random Grid Custom each node is placed nodes are placed on a each node can be manually randomly within the area grid with a certain number of rows and placed within the area columns N2 N1 N1 N3 BS
  • 51. In custom distribution, each node can be individually specified in the area by: 1. its name N2 N1 N1 BS N3 2. the coordinates of its position A nodes name pattern can be given to an area independently from the distribution type they are used to have a way to refer to the names used as targets of Send Message actions in SAML models Available patterns: name<number>, name<Letter>, name
  • 52. Graphical and Tree-based editor for SAML & NODEML tree-based editor models graphical editor bird view properties palette
  • 53. ENVML: Graphical editor with background image MAPML: Tree-based editor DEPML: Tree-based editor
  • 55. Model a WSN that allows the personnel of an hospital to monitor patients’ vital sign data with the help of pulse-oximeters. The monitoring system consists of two types of nodes: • a monitoring station • ten oximeter nodes Those nodes form a star-network. Each pulse-oximeter monitors the patient continuously and a measurement is sent to the monitoring station every 3 seconds. In case the oximeter reads a value other than a defined threshold, an alert message is sent to the monitoring system, and the system goes into a warning mode in which sensor readings are sent to the monitoring station more frequently (i.e., once every 200 milliseconds), hence facilitating continuous monitoring of patients and allowing real-time responses in case of emergency conditions.