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




                              Ivano Malavolta
DISIM Department, University of L’Aquila
      ivano.malavolta@univaq.it
Who is Ivano?

       If you think good architecture is expensive,
                             try bad architecture.

                           ... Brian Foote and Joseph Yoder


 Software Architecture & Model-Driven Engineering
                     applied to
             Wireless Sensor Networks
                Mobile Applications
             Autonomous Quadrotors
Roadmap
Problem Definition
A4WSN
Modeling Environment
      Software Architecture
      Nodes Configuration
      Physical Environment
      Keeping Models Integrated
Programming Framework
Tool Support
* International Workshop on Software
                                   Engineering for Sensor Network Applications
 Problem Definition

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                                    Model-based
     concerns                                        Analysis
Main Drivers of A4WSN

Abstraction

by masking the complexity of low-level, hardware details

 Separation of
   concerns
by clearly separating application, HW, and deployment
aspects of a WSN
  Model-based
   Analysis
by facilitating the analysis of both functional and non-
functional properties
Roadmap
Problem Definition
A4WSN
Modeling Environment
      Software Architecture
      Nodes Configuration
      Physical Environment
      Keeping Models Integrated
Programming Framework
Tool Support
The A4WSN Framework            third-parties can contribute
                                 with code generation or
                                     analysis plugins




              Separation of   Model-Based
Abstraction
                concerns       Analysis
Roadmap
Problem Definition
A4WSN
Modeling Environment
      Software Architecture
      Nodes Configuration
      Physical Environment
      Keeping Models Integrated
Programming Framework
Tool Support
A4WSN

                 3 modeling languages




                                             Physical
                           WSN nodes       environment
                          configurations
   Software
  Architecture
Software Architecture

                        Structure
                          components
                          ports
                          application data
                          messages
                        Behaviour
                          events
                          conditions
                          actions
SA: Structure




Components. Units of computation with internal state and
 well defined interface
Ports. Interaction points with the external environment
Connections. Message-based communication channels
 between ports
Application data. Variables in the scope of the component
SA: Behaviour
Each Component can contain a description of its behaviour
The behaviour is based on:
1. Events-conditions-actions
2. Modes
SA: 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
    Unicast, Multicast and broadcast supported
SA: Actions

    StartTimer starts a timer which can be triggered later.
    Cyclyc, delay and period properties supported
    StopTimer stops a previously started timer
    StoreData puts some (manipulated) data into an
    application data of the component
    SyncServiceCall calls an external service (ex. web service)
    AsyncServiceCall calls an external service, the result of the
    call will be available via a dedicated event
     Fork and Join are used to sync the control flow
SA: Events


    ServiceCallback is triggered when the result of an
    AsyncServiceCall is available


    ReceiveMessage is triggered when the component
    receives a message


    TimerFired is triggered when a previously started timer is
    activated
SA: Behavioural Flow
Behavioural flow is specified by means of Links


A link can exist:                  E        A
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
                                 A1          A2

Conditions are boolean expressions (optionally) associated to links

                     E    t > 30       A
The execution flow goes through a link only if its condition
   evaluates to true
SA: Modes
A specific status of the component
       ex. sleeping mode, energy saving mode, etc.


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
Example*




*This example is taken from our journal paper...
Roadmap
Problem Definition
A4WSN
Modeling Environment
      Software Architecture
      Nodes Configuration
      Physical Environment
      Keeping Models Integrated
Programming Framework
Tool Support
Nodes Configuration


                  Types of nodes
                  OS
                  MAC protocol
                  routing protocol
                  installed sensors
                  installed actuators
                  energy sources
                  communication devices
Node
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, ...
ex. light sensor,
Node                                    temperature sensor,
                                        smoke sensor...
                    Node
                                                     Sensors
                                                      Sensors
                                                       Sensors
                                   Memory
                                    Additional
                                    Memory
                                    memories     Actuators
        Microcontroller                           Actuators
                                                   Actuators

                                       RF
                                        RF            ex.
                                         RFs
                                                      sprinklers,
                                                      leds, lights,
               Energy Source
                Energy Source                         switches...
                  Energy Sources

can be either continuous, degradable, or harvested
Microcontroller

Represents the entity which performs tasks, processes data and
controls the functionality of other components in the sensor node



                       Microcontroller
                                               0_1
          0_*   ADC               1_* RF
                          CPU
          0_*              CPU
                DAC         CPUs       Timer   1_*

                             Storage memory    1_1
          1_1    Memory
                            Program memory 1_1
Power Modes

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

 Communication Mode                       Sensing Mode
Example*




*This example is taken from our journal paper...
Roadmap
Problem Definition
A4WSN
Modeling Environment
      Software Architecture
      Nodes Configuration
      Physical Environment
      Keeping Models Integrated
Programming Framework
Tool Support
Physical Environment

                A 2D space with:

                • obstacles
                  freely positioned
                  with their own shape
                  with attenuation coefficients
                • deployment areas
                  freely positioned
                  with their own shape
Example*

                                                   As


                                               Am




*This example is taken from our journal paper...
Roadmap
Problem Definition
A4WSN
Modeling Environment
     Software Architecture
     Nodes Configuration
     Physical Environment
     Keeping Models Integrated
Programming Framework
Tool Support
Keeping Models Integrated
Two special models weave together SA, nodes and
environment specifications




                    Actually, they are WEAVING MODELS
The Mapping Model
Links together an SAML model and a NODEML model
It defines how components are deployed into each configured
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
The Deployment Model
Weaves together a NODEML model and an ENVML model


It defines how node types 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 in the NODEML model, and
assigns it to an area in the ENVML model
Area and Nodes Distribution
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
                            grid with a certain
randomly within the area                             placed within the area
                           number of rows and
                                 columns

                                                                    N2
                                                           N1
                                                            N1
                                                                    BS
                                                               N3
The Deployment Model

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


DEPML models are the only place in which we reason about the final
node instances, in the other models we reason about types
Example*                                           custom distributed nodes


       NODEML                          DEPML                    ENVML

                                       oxymeter
                                                                   As


                                                                  Am
                                        monitor




*This example is taken from our journal paper...
Roadmap
Problem Definition
A4WSN
Modeling Environment
     Software Architecture
     Nodes Configuration
     Physical Environment
     Keeping Models Integrated
Programming Framework
Tool Support
Programming Framework

          C1         Cn             A1       An



                     Programming
   Code Generation    Framework          Analysis
      Manager                            Manager

                                               UI
  Validation
                                             Manager
                           Model
                          Adapter

    Messages              Models         Parameters
    Manager                               Provider
Programming Framework
Code Generation Manager
Defines the extension point for code generation engines


It checks which plugins are currently extending its extension point
and makes their facilities available to the end user


Exposes a common Java API to plugin
developers, so that they can easily
interact with all the other components of
A4WSN (validation, model adapters, etc.)


Analysis Manager acts similarly, but it is for analysis engines
Programming Framework
Models
Stores all the WSN models developed by architects and designers
Models can be stored:
- in the file system*
- in some server in the cloud
- in some in-memory representation

Model Adapter
Exposes a common interface to the other components of A4WSN
to access the models in an homogeneous way
*currently, this is the only available solution in the A4WSN prototype
Programming Framework
Validation
Executes all the operations to validate A4WSN models:
- predefined checks
- user-defined checks (via a plugin)



Messages Manager
Graphically shows informative messages to the user.
Supports three kind of informative messages:    information
                                                 warning
                                                 error
Programming Framework
UI Manager
Responsible for the main facilities interacting with the user
interface:
- Code Generation Engines View
- Analysis Engines View
- Code Generation Contextual Menu
- Analysis Contextual Menu
- Validation Trigger
- Progress Feedback
- Additional Parameters View
Programming Framework
Parameter Provider
Manages the additional parameters that a code generation or
analysis plugin may require


Makes user-provided parameters available and easily accessible
to the plugin requiring them




Supported types:
string, integer, float, boolean, local resource,
remote resource accessible over HTTP
Anatomy of a Plugin
To contribute to A4WSN, each plugin must adhere to the
following “signature”, A4WSN will take care of the rest
Anatomy of a Plugin
                            Code generation-specific




        Analysis-specific
Anatomy of a Plugin
Roadmap
Problem Definition
A4WSN
Modeling Environment
      Software Architecture
      Nodes Configuration
      Physical Environment
      Keeping Models Integrated
Programming Framework
Tool Support
Tool Support
SAML – NODEML – ENVML:
      Dedicated Graphical and Tree-based editors




 models
                                          graphical
                                           editor     palette

  bird
  view

               properties
Work-in-Progress Components
MAPML: Tree-based editor
DEPML: Tree-based editor


Programming Framework as Eclipse plugins
with defined extension points




First version of prototype available at
http://www.di.univaq.it/malavolta/files/ME4AWSN_v0.1.zip
Conclusions & Future Work
        languages                     programming
       refinement                framework development




    node
configurations
marketplace?          code
                    generators          analysis engines
We are looking for Plugin Contributions!

More Related Content

PDF
Architecture 4 Wireless Sensor Networks
PDF
ME4AWSN - a Modeling Environment for Architecting WSNs
PDF
J0525460
DOC
Basic Architecture of Wireless Sensor Network
DOCX
Wireless sensor network report
PDF
Wireless Sensor Network Simulators: A Survey and Comparisons
PDF
Comparison of Routing protocols in Wireless Sensor Networks: A Detailed Survey
PDF
Ijnsa050204
Architecture 4 Wireless Sensor Networks
ME4AWSN - a Modeling Environment for Architecting WSNs
J0525460
Basic Architecture of Wireless Sensor Network
Wireless sensor network report
Wireless Sensor Network Simulators: A Survey and Comparisons
Comparison of Routing protocols in Wireless Sensor Networks: A Detailed Survey
Ijnsa050204

What's hot (20)

PDF
wireless sensor network a survey
PDF
file4.pdf
PDF
Wireless sensor networks software architecture
PPTX
wireless sensor network
PDF
Multiple Sink Positioning and Relocation for Improving Lifetime in Wireless S...
PDF
9345.pdf
PDF
MANET project
PDF
Data Flow in Wireless Sensor Network Protocol Stack by using Bellman-Ford Rou...
PDF
Design of a Wireless Sensor Network from an Energy Management Perspective
PPT
middleware
PPT
Localization in WSN
PDF
Real time approach of piezo actuated beam for wireless seismic measurement us...
PPTX
Hetrogenous wireless sensor network
PDF
Review on an object following wireless robot
PDF
DESIGN ISSUES ON SOFTWARE ASPECTS AND SIMULATION TOOLS FOR WIRELESS SENSOR NE...
PPSX
Power Saving in Wireless Sensor Networks
PDF
Robust wireless reprogramming method using differential approach for wireless...
PDF
Bm32410415
PDF
Scheduling for interference mitigation using enhanced intercell interference ...
wireless sensor network a survey
file4.pdf
Wireless sensor networks software architecture
wireless sensor network
Multiple Sink Positioning and Relocation for Improving Lifetime in Wireless S...
9345.pdf
MANET project
Data Flow in Wireless Sensor Network Protocol Stack by using Bellman-Ford Rou...
Design of a Wireless Sensor Network from an Energy Management Perspective
middleware
Localization in WSN
Real time approach of piezo actuated beam for wireless seismic measurement us...
Hetrogenous wireless sensor network
Review on an object following wireless robot
DESIGN ISSUES ON SOFTWARE ASPECTS AND SIMULATION TOOLS FOR WIRELESS SENSOR NE...
Power Saving in Wireless Sensor Networks
Robust wireless reprogramming method using differential approach for wireless...
Bm32410415
Scheduling for interference mitigation using enhanced intercell interference ...
Ad

Similar to A4WSN: an Architecting environment 4 Wireless Sensor Networks (20)

PDF
Developing a Component-based Simulator for Wireless Sensor Network
PDF
PPTX
Sensor node hardware and network architecture
PPTX
Linked Sensor Data 101 (FIS2011)
PDF
SRCenabling application development for the internet of things
PPTX
Sensor Based Network
PPT
L26.B.FA20.ppt
PPT
Adhoc wireless sensor network unit 5 notes
PPT
4239213.ppt
PDF
Towards application development for the internet of things
PDF
Sa past-future
PPTX
Advanced Integrated Model-Driven Development Tool for USN Applications in Per...
PPTX
Wireless Sensor Networks ,Middleware and Programming abstractions
PDF
From Physical to Virtual Wireless Sensor Networks using Cloud Computing
PDF
Senslab - open hardware - fossa2010
ODP
A Process Oriented Development Flow for Wireless System Networks by Bernard P...
PPT
Mobile Web Services in Health Care and Sensor Networks
PPT
Pluggable Realworld Interfaces
PPT
Data Modelling and Knowledge Engineering for the Internet of Things
PDF
TinyOS programming 1st Edition Philip Levis
Developing a Component-based Simulator for Wireless Sensor Network
Sensor node hardware and network architecture
Linked Sensor Data 101 (FIS2011)
SRCenabling application development for the internet of things
Sensor Based Network
L26.B.FA20.ppt
Adhoc wireless sensor network unit 5 notes
4239213.ppt
Towards application development for the internet of things
Sa past-future
Advanced Integrated Model-Driven Development Tool for USN Applications in Per...
Wireless Sensor Networks ,Middleware and Programming abstractions
From Physical to Virtual Wireless Sensor Networks using Cloud Computing
Senslab - open hardware - fossa2010
A Process Oriented Development Flow for Wireless System Networks by Bernard P...
Mobile Web Services in Health Care and Sensor Networks
Pluggable Realworld Interfaces
Data Modelling and Knowledge Engineering for the Internet of Things
TinyOS programming 1st Edition Philip Levis
Ad

More from Ivano Malavolta (20)

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

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
cuic standard and advanced reporting.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Approach and Philosophy of On baking technology
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Electronic commerce courselecture one. Pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Unlocking AI with Model Context Protocol (MCP)
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Per capita expenditure prediction using model stacking based on satellite ima...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation_ Review paper, used for researhc scholars
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Advanced methodologies resolving dimensionality complications for autism neur...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Spectral efficient network and resource selection model in 5G networks
cuic standard and advanced reporting.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Chapter 3 Spatial Domain Image Processing.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Approach and Philosophy of On baking technology
Reach Out and Touch Someone: Haptics and Empathic Computing
Electronic commerce courselecture one. Pdf
sap open course for s4hana steps from ECC to s4
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

A4WSN: an Architecting environment 4 Wireless Sensor Networks

  • 1. Università degli Studi dell’Aquila Ivano Malavolta DISIM Department, University of L’Aquila ivano.malavolta@univaq.it
  • 2. Who is Ivano? If you think good architecture is expensive, try bad architecture. ... Brian Foote and Joseph Yoder Software Architecture & Model-Driven Engineering applied to Wireless Sensor Networks Mobile Applications Autonomous Quadrotors
  • 3. Roadmap Problem Definition A4WSN Modeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Programming Framework Tool Support
  • 4. * International Workshop on Software Engineering for Sensor Network Applications Problem Definition 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 Model-based concerns Analysis
  • 5. Main Drivers of A4WSN Abstraction by masking the complexity of low-level, hardware details Separation of concerns by clearly separating application, HW, and deployment aspects of a WSN Model-based Analysis by facilitating the analysis of both functional and non- functional properties
  • 6. Roadmap Problem Definition A4WSN Modeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Programming Framework Tool Support
  • 7. The A4WSN Framework third-parties can contribute with code generation or analysis plugins Separation of Model-Based Abstraction concerns Analysis
  • 8. Roadmap Problem Definition A4WSN Modeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Programming Framework Tool Support
  • 9. A4WSN 3 modeling languages Physical WSN nodes environment configurations Software Architecture
  • 10. Software Architecture Structure components ports application data messages Behaviour events conditions actions
  • 11. SA: Structure Components. Units of computation with internal state and well defined interface Ports. Interaction points with the external environment Connections. Message-based communication channels between ports Application data. Variables in the scope of the component
  • 12. SA: Behaviour Each Component can contain a description of its behaviour The behaviour is based on: 1. Events-conditions-actions 2. Modes
  • 13. SA: 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 Unicast, Multicast and broadcast supported
  • 14. SA: Actions StartTimer starts a timer which can be triggered later. Cyclyc, delay and period properties supported StopTimer stops a previously started timer StoreData puts some (manipulated) data into an application data of the component SyncServiceCall calls an external service (ex. web service) AsyncServiceCall calls an external service, the result of the call will be available via a dedicated event Fork and Join are used to sync the control flow
  • 15. SA: Events ServiceCallback is triggered when the result of an AsyncServiceCall is available ReceiveMessage is triggered when the component receives a message TimerFired is triggered when a previously started timer is activated
  • 16. SA: Behavioural Flow Behavioural flow is specified by means of Links A link can exist: E A 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 A1 A2 Conditions are boolean expressions (optionally) associated to links E t > 30 A The execution flow goes through a link only if its condition evaluates to true
  • 17. SA: Modes A specific status of the component ex. sleeping mode, energy saving mode, etc. 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
  • 18. Example* *This example is taken from our journal paper...
  • 19. Roadmap Problem Definition A4WSN Modeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Programming Framework Tool Support
  • 20. Nodes Configuration Types of nodes OS MAC protocol routing protocol installed sensors installed actuators energy sources communication devices
  • 21. Node 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, ...
  • 22. ex. light sensor, Node temperature sensor, smoke sensor... Node Sensors Sensors Sensors Memory Additional Memory memories Actuators Microcontroller Actuators Actuators RF RF ex. RFs sprinklers, leds, lights, Energy Source Energy Source switches... Energy Sources can be either continuous, degradable, or harvested
  • 23. Microcontroller Represents the entity which performs tasks, processes data and controls the functionality of other components in the sensor node Microcontroller 0_1 0_* ADC 1_* RF CPU 0_* CPU DAC CPUs Timer 1_* Storage memory 1_1 1_1 Memory Program memory 1_1
  • 24. Power Modes 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 Communication Mode Sensing Mode
  • 25. Example* *This example is taken from our journal paper...
  • 26. Roadmap Problem Definition A4WSN Modeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Programming Framework Tool Support
  • 27. Physical Environment A 2D space with: • obstacles freely positioned with their own shape with attenuation coefficients • deployment areas freely positioned with their own shape
  • 28. Example* As Am *This example is taken from our journal paper...
  • 29. Roadmap Problem Definition A4WSN Modeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Programming Framework Tool Support
  • 30. Keeping Models Integrated Two special models weave together SA, nodes and environment specifications Actually, they are WEAVING MODELS
  • 31. The Mapping Model Links together an SAML model and a NODEML model It defines how components are deployed into each configured 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
  • 32. The Deployment Model Weaves together a NODEML model and an ENVML model It defines how node types 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 in the NODEML model, and assigns it to an area in the ENVML model
  • 33. Area and Nodes Distribution 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 grid with a certain randomly within the area placed within the area number of rows and columns N2 N1 N1 BS N3
  • 34. The Deployment Model 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 DEPML models are the only place in which we reason about the final node instances, in the other models we reason about types
  • 35. Example* custom distributed nodes NODEML DEPML ENVML oxymeter As Am monitor *This example is taken from our journal paper...
  • 36. Roadmap Problem Definition A4WSN Modeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Programming Framework Tool Support
  • 37. Programming Framework C1 Cn A1 An Programming Code Generation Framework Analysis Manager Manager UI Validation Manager Model Adapter Messages Models Parameters Manager Provider
  • 38. Programming Framework Code Generation Manager Defines the extension point for code generation engines It checks which plugins are currently extending its extension point and makes their facilities available to the end user Exposes a common Java API to plugin developers, so that they can easily interact with all the other components of A4WSN (validation, model adapters, etc.) Analysis Manager acts similarly, but it is for analysis engines
  • 39. Programming Framework Models Stores all the WSN models developed by architects and designers Models can be stored: - in the file system* - in some server in the cloud - in some in-memory representation Model Adapter Exposes a common interface to the other components of A4WSN to access the models in an homogeneous way *currently, this is the only available solution in the A4WSN prototype
  • 40. Programming Framework Validation Executes all the operations to validate A4WSN models: - predefined checks - user-defined checks (via a plugin) Messages Manager Graphically shows informative messages to the user. Supports three kind of informative messages: information warning error
  • 41. Programming Framework UI Manager Responsible for the main facilities interacting with the user interface: - Code Generation Engines View - Analysis Engines View - Code Generation Contextual Menu - Analysis Contextual Menu - Validation Trigger - Progress Feedback - Additional Parameters View
  • 42. Programming Framework Parameter Provider Manages the additional parameters that a code generation or analysis plugin may require Makes user-provided parameters available and easily accessible to the plugin requiring them Supported types: string, integer, float, boolean, local resource, remote resource accessible over HTTP
  • 43. Anatomy of a Plugin To contribute to A4WSN, each plugin must adhere to the following “signature”, A4WSN will take care of the rest
  • 44. Anatomy of a Plugin Code generation-specific Analysis-specific
  • 45. Anatomy of a Plugin
  • 46. Roadmap Problem Definition A4WSN Modeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Programming Framework Tool Support
  • 47. Tool Support SAML – NODEML – ENVML: Dedicated Graphical and Tree-based editors models graphical editor palette bird view properties
  • 48. Work-in-Progress Components MAPML: Tree-based editor DEPML: Tree-based editor Programming Framework as Eclipse plugins with defined extension points First version of prototype available at http://www.di.univaq.it/malavolta/files/ME4AWSN_v0.1.zip
  • 49. Conclusions & Future Work languages programming refinement framework development node configurations marketplace? code generators analysis engines
  • 50. We are looking for Plugin Contributions!