Advanced Software Engineering course - Guest Lecture
A4WSN- Architecture 4 Wireless Sensor Networks
Here you can find the research paper presenting the concepts described in this lecture: http://goo.gl/XBB4k
This presentation has been developed in the context of the Advanced Software Engineering course at the DISIM Department of the University of L’Aquila (Italy).
http://www.di.univaq.it/malavolta
Wireless Sensor Networks (WSNs) are distributed and independent sensors that are connected and worked together to measure quantities such as temperature, humidity, pressure, noise levels or vibrations. WSNs can measure vehicular movement (velocity, location, etc.) and monitor conditions such as lightning condition, soil makeup and motion. Nowadays, WSNs are utilized in many common applications such as vehicle applications. Some of vehicle applications are: vehicle tracking and detection, tire pressure monitoring, vehicle speed detection, vehicle direction indicator, traffic control, reversing aid sensors etc. Such applications can be divided in major categories such as safety, security, environment and logistics. To implement WSN in an application and have an efficient system, we need to consider about WSN technology, and its components. This paper is aimed at providing reliable software architecture of WSN that could be implemented for better performance and working.
in this paper authors made the study of basic clustering algorithm Leach. A comparison is made between Leach and Leach.wireless sensor network advantages, and wireless sensor network dataset
In this thesis work, firstly an attempt have been made to evaluate the performance of DSR and OLSR routing protocol in mobile and static environments using Random Waypoint model, and also investigate how well these selected protocols performs on WSNs. energy efficient routing in wireless sensor networks thesis
Wireless Sensor Networks (WSNs) are distributed and independent sensors that are connected and worked together to measure quantities such as temperature, humidity, pressure, noise levels or vibrations. WSNs can measure vehicular movement (velocity, location, etc.) and monitor conditions such as lightning condition, soil makeup and motion. Nowadays, WSNs are utilized in many common applications such as vehicle applications. Some of vehicle applications are: vehicle tracking and detection, tire pressure monitoring, vehicle speed detection, vehicle direction indicator, traffic control, reversing aid sensors etc. Such applications can be divided in major categories such as safety, security, environment and logistics. To implement WSN in an application and have an efficient system, we need to consider about WSN technology, and its components. This paper is aimed at providing reliable software architecture of WSN that could be implemented for better performance and working.
in this paper authors made the study of basic clustering algorithm Leach. A comparison is made between Leach and Leach.wireless sensor network advantages, and wireless sensor network dataset
In this thesis work, firstly an attempt have been made to evaluate the performance of DSR and OLSR routing protocol in mobile and static environments using Random Waypoint model, and also investigate how well these selected protocols performs on WSNs. energy efficient routing in wireless sensor networks thesis
To analyze the efficiency of heterogeneous wireless sensor network over homogenous wireless sensor network.
To analyze the stability, life time ,through put.
An algorithm for fault node recovery of wireless sensor networkeSAT Publishing House
IJRET : International Journal of Research in Engineering and Technology is an international peer reviewed, online journal published by eSAT Publishing House for the enhancement of research in various disciplines of Engineering and Technology. The aim and scope of the journal is to provide an academic medium and an important reference for the advancement and dissemination of research results that support high-level learning, teaching and research in the fields of Engineering and Technology. We bring together Scientists, Academician, Field Engineers, Scholars and Students of related fields of Engineering and Technology
Fault Node Recovery Algorithm for a Wireless Sensor NetworkYogesh Vk
The WSN is made of nodes from a few to several hundred, where each node is connected to one or several sensors.
The basic components of a node are
o Sensor and actuator - an interface to the physical world designed to sense the environmental parameters like pressure and temperature.
o Controller - is to control different modes of operation for processing of data
o Memory - storage for programming data.
o Communication - a device like antenna for sending and receiving data over a wireless channel.
o Power Supply- supply of energy for smooth operation of a node like battery.
Data Flow in Wireless Sensor Network Protocol Stack by using Bellman-Ford Rou...journalBEEI
Wireless sensor network consists various sensor nodes that are used to monitor any target area like forest fire detection by our army person and monitoring any industrial activity by industry manager. Wireless sensor networks have been deployed in several cities to monitor the concentration of dangerous gases for citizens. In wireless sensor network when sensor nodes communicate from each other then routing protocol are used for communication between protocol layers. Wireless sensor network protocol stack consist five layers such as Application layer, Transport layer, Network layer, MAC Layer, Physical layer. In this paper we study and analysis Bellman-Ford routing algorithm and check the flow of data between these protocol layers. For simulation purpose we are using Qualnet 5.0.2 simulator tool.
This slides about Wireless sensor network MAC protocol,
There are bunch of MAC protocol in research field.
It classify the MAC protocol and summarize the feature of typical sensor network MAC protcol
To analyze the efficiency of heterogeneous wireless sensor network over homogenous wireless sensor network.
To analyze the stability, life time ,through put.
An algorithm for fault node recovery of wireless sensor networkeSAT Publishing House
IJRET : International Journal of Research in Engineering and Technology is an international peer reviewed, online journal published by eSAT Publishing House for the enhancement of research in various disciplines of Engineering and Technology. The aim and scope of the journal is to provide an academic medium and an important reference for the advancement and dissemination of research results that support high-level learning, teaching and research in the fields of Engineering and Technology. We bring together Scientists, Academician, Field Engineers, Scholars and Students of related fields of Engineering and Technology
Fault Node Recovery Algorithm for a Wireless Sensor NetworkYogesh Vk
The WSN is made of nodes from a few to several hundred, where each node is connected to one or several sensors.
The basic components of a node are
o Sensor and actuator - an interface to the physical world designed to sense the environmental parameters like pressure and temperature.
o Controller - is to control different modes of operation for processing of data
o Memory - storage for programming data.
o Communication - a device like antenna for sending and receiving data over a wireless channel.
o Power Supply- supply of energy for smooth operation of a node like battery.
Data Flow in Wireless Sensor Network Protocol Stack by using Bellman-Ford Rou...journalBEEI
Wireless sensor network consists various sensor nodes that are used to monitor any target area like forest fire detection by our army person and monitoring any industrial activity by industry manager. Wireless sensor networks have been deployed in several cities to monitor the concentration of dangerous gases for citizens. In wireless sensor network when sensor nodes communicate from each other then routing protocol are used for communication between protocol layers. Wireless sensor network protocol stack consist five layers such as Application layer, Transport layer, Network layer, MAC Layer, Physical layer. In this paper we study and analysis Bellman-Ford routing algorithm and check the flow of data between these protocol layers. For simulation purpose we are using Qualnet 5.0.2 simulator tool.
This slides about Wireless sensor network MAC protocol,
There are bunch of MAC protocol in research field.
It classify the MAC protocol and summarize the feature of typical sensor network MAC protcol
Visualization of IoT data with minecraftLars Gregori
Slides for Devoxx 2015 in Belgium about IoT Data, HANA and Minecraft. Source code for these slides are available here: https://github.com/choas/IoT-Minecraft
Advanced Software Engineering course - Guest Lecture
A4WSN- Architecture 4 Wireless Sensor Networks
This presentation has been developed in the context of the Advanced Software Engineering course at the DISIM Department of the University of L’Aquila (Italy).
http://www.ivanomalavolta.com
ME4AWSN - a Modeling Environment for Architecting WSNsIvano Malavolta
Advanced Software Engineering course - Guest Lecture
ME4AWSN - a Modeling Environment for Architecting WSNs
Here you can find the research paper presenting the concepts described in this lecture: http://goo.gl/XBB4k
This presentation has been developed in the context of the Advanced Software Engineering course at the DISIM Department of the University of L’Aquila (Italy).
http://www.di.univaq.it/malavolta
Benchmark methods to analyze embedded processors and systemsXMOS
xCORE multicore microcontrollers are 100x more responsive than traditional micros. The unparalleled responsiveness of the xCORE I/O ports is rooted in some fundamental features:
- Single cycle instruction execution
- No interrupts
- No cache
- Multiple cores allow concurrent independent task execution
- Hardware scheduler performs 'RTOS-like' functions
Research on Power Quality Real-Time Monitoring System For High Voltage Switch...IJRESJOURNAL
ABSTRACT: As an important equipment of high voltage switch cabinet distribution plays a key role in the power system of power generation, transmission and distribution of electricity, and monitoring the operation of electrical parameters, based on virtual instrument technology, make full use of the data processing, data analysis, data expression and network function and other advantages, build a set based on the LabVIEW real-time power quality monitoring system innovatively applied in high-voltage switch cabinet. Through building a power quality monitoring platform based on high voltage switchgear in the laboratory, the accuracy of the system measurement is verified. The experimental results show that the design of power quality real-time monitoring system has good performance, high accuracy, friendly interface, and has a good market prospect.
A Framework for Performance Analysis of Computing Cloudsijsrd.com
Cloud Computing provides data storage capacity and use of Cloud Computing have increased scalability, availability, security and simplicity. As more use of cloud computing environments increases, it is more difficult to deal with the performance of this environments. We have presented Some virtualization and network related communication issues and finally we have designed and implemented modified load balancing algorithm for performance increase. In market use of cloud many issues occurred like as security, privacy, reliability, legal issues, open standard, compliance. so, we have stated to solve these issues such algorithm to assess increase performance of computing clouds. Secondly, i.e. 'Modified Weighted Active Monitoring Load Balancing Algorithm' on cloud, for the balancer on Cloud Controller to effectively balance load requests between the available Node Controller, in order to achieve better performance parameters such as load on server and current performance on the server. By Existing Algorithm like in RRA (Round Robin Algorithm) load balance sequentially, we have designed this proposed algorithm on cloud and how to balance load randomly and display by existing algorithm and proposed algorithm comparison.
Reactors.io fuses the best parts of functional reactive programming and the Actor Model. Reactors are the basic units of concurrent execution which can perform computations as well. They allow you to create concurrent and distributed applications more easily, by providing correct, robust and composable programming abstractions.
Performance monitoring for Docker - Lucerne meetupStijn Polfliet
Performance monitoring for Docker
Challenges - Anomaly detection - CoScale demo
For more info about how to use CoScale Docker monitoring, some reading material here: http://www.coscale.com/blog/how-to-monitor-docker-containers-with-coscale and http://www.coscale.com/blog/how-to-monitor-your-kubernetes-cluster
A summary of CoScale Docker performance monitoring can be found here: http://www.coscale.com/docker-monitoring
Similar to Architecture 4 Wireless Sensor Networks (20)
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Ivano Malavolta
Slides of my invited talk at the 2nd workshop on Quality and Reliability Assessment of Robotic Software Architectures and Components (QRARSAC), co-located with the International Conference on Robotics and Automation (ICRA 2023).
Abstract of the talk. Today robotic systems are central to many industrial sectors, such as logistics, autonomous warehousing, and healthcare. If on one side ROS is helping roboticists by providing a standardized communication platform for robotic systems, on the other side ROSsystems are getting more and more large and complex, thus making it extremely difficult to ensure their level of quality, e.g., in terms of performance, security, energy efficiency, testability, maintainability. Improving the quality of robotic systems is not a new activity, but in this talk, we tackle it from a different perspective: we look at them from a software architecture perspective. In this talk, I will walk you through a series of experiments we conducted at the Vrije Universiteit Amsterdam targeting the architecture of ROS systems, we will discuss some architectural tactics for ROS systems, and will close with an overview of our open-source tool for automatically executing experiments on robotics software.
The slides of a short presentation I gave about my experience about working in the context of EU grants. It contains tips and tricks for the before/during/after phases of a EU project.
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)Ivano Malavolta
The slides of my presentation about the Green Lab at the event called Research Cocktail (October 2020). The event is organized by the Computer Science Department of the Vrije Universiteit Amsterdam.
The source code of our tools and the replication package of our experiments performed in the Green Lab can be found here: https://github.com/S2-group
For further details about the Green Lab and all our activities around it, you can contact me at i.malavolta@vu.nl
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Ivano Malavolta
Slides of my presentation at the NIER track of the 41th International Conference on Software Engineering (ICSE 2019).
The paper is available here: http://www.ivanomalavolta.com/files/papers/ICSE_2019_NAPPA.pdf
How Maintainability Issues of Android Apps Evolve [ICSME 2018]Ivano Malavolta
Slides of my presentation at the Research track of the 34th International Conference on Software Maintenance and Evolution (ICSME 2018).
The full paper is available here: http://www.ivanomalavolta.com/files/papers/ICSME_2018.pdf
Collaborative Model-Driven Software Engineering: a Classification Framework a...Ivano Malavolta
Slides of my presentation at the Journal first track of the 40th International Conference on Software Engineering (ICSE 2018).
The accompanying extended abstract is available here: http://www.ivanomalavolta.com/files/papers/ICSE_2018_JournalFirst.pdf
The original TSE paper is available here: http://www.ivanomalavolta.com/files/papers/TSE_2017.pdf
This presentation is about a lecture I gave within the "Software Design" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
Modeling behaviour via UML state machines [Software Design] [Computer Science...Ivano Malavolta
This presentation is about a lecture I gave within the "Software Design" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software Design" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software Design" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Ivano Malavolta
This presentation is about a lecture I gave within the "Software Design" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
Modeling and abstraction, software development process [Software Design] [Com...Ivano Malavolta
This presentation is about a lecture I gave within the "Software Design" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
[2017/2018] AADL - Architecture Analysis and Design LanguageIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.it/.
http://www.ivanomalavolta.com
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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
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
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
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
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
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
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.