SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
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!

Más contenido relacionado

La actualidad más candente

Wireless sensor networks software architecture
Wireless sensor networks software architectureWireless sensor networks software architecture
Wireless sensor networks software architectureAdeel Javaid
 
Multiple Sink Positioning and Relocation for Improving Lifetime in Wireless S...
Multiple Sink Positioning and Relocation for Improving Lifetime in Wireless S...Multiple Sink Positioning and Relocation for Improving Lifetime in Wireless S...
Multiple Sink Positioning and Relocation for Improving Lifetime in Wireless S...IRJET Journal
 
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
 
Design of a Wireless Sensor Network from an Energy Management Perspective
Design of a Wireless Sensor Network from an Energy Management PerspectiveDesign of a Wireless Sensor Network from an Energy Management Perspective
Design of a Wireless Sensor Network from an Energy Management Perspective?? ?
 
Localization in WSN
Localization in WSNLocalization in WSN
Localization in WSNYara Ali
 
Real time approach of piezo actuated beam for wireless seismic measurement us...
Real time approach of piezo actuated beam for wireless seismic measurement us...Real time approach of piezo actuated beam for wireless seismic measurement us...
Real time approach of piezo actuated beam for wireless seismic measurement us...eSAT Journals
 
Hetrogenous wireless sensor network
Hetrogenous wireless sensor networkHetrogenous wireless sensor network
Hetrogenous wireless sensor networkChinmoy Jena
 
Review on an object following wireless robot
Review on an object following wireless robotReview on an object following wireless robot
Review on an object following wireless roboteSAT Publishing House
 
DESIGN ISSUES ON SOFTWARE ASPECTS AND SIMULATION TOOLS FOR WIRELESS SENSOR NE...
DESIGN ISSUES ON SOFTWARE ASPECTS AND SIMULATION TOOLS FOR WIRELESS SENSOR NE...DESIGN ISSUES ON SOFTWARE ASPECTS AND SIMULATION TOOLS FOR WIRELESS SENSOR NE...
DESIGN ISSUES ON SOFTWARE ASPECTS AND SIMULATION TOOLS FOR WIRELESS SENSOR NE...IJNSA Journal
 
Power Saving in Wireless Sensor Networks
Power Saving in Wireless Sensor NetworksPower Saving in Wireless Sensor Networks
Power Saving in Wireless Sensor NetworksMshari Alabdulkarim
 
Robust wireless reprogramming method using differential approach for wireless...
Robust wireless reprogramming method using differential approach for wireless...Robust wireless reprogramming method using differential approach for wireless...
Robust wireless reprogramming method using differential approach for wireless...IAEME Publication
 
Scheduling for interference mitigation using enhanced intercell interference ...
Scheduling for interference mitigation using enhanced intercell interference ...Scheduling for interference mitigation using enhanced intercell interference ...
Scheduling for interference mitigation using enhanced intercell interference ...eSAT Journals
 

La actualidad más candente (20)

wireless sensor network a survey
wireless sensor network a surveywireless sensor network a survey
wireless sensor network a survey
 
file4.pdf
file4.pdffile4.pdf
file4.pdf
 
Wireless sensor networks software architecture
Wireless sensor networks software architectureWireless sensor networks software architecture
Wireless sensor networks software architecture
 
wireless sensor network
wireless sensor networkwireless sensor network
wireless sensor network
 
Multiple Sink Positioning and Relocation for Improving Lifetime in Wireless S...
Multiple Sink Positioning and Relocation for Improving Lifetime in Wireless S...Multiple Sink Positioning and Relocation for Improving Lifetime in Wireless S...
Multiple Sink Positioning and Relocation for Improving Lifetime in Wireless S...
 
9345.pdf
9345.pdf9345.pdf
9345.pdf
 
MANET project
MANET projectMANET project
MANET project
 
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...
 
Design of a Wireless Sensor Network from an Energy Management Perspective
Design of a Wireless Sensor Network from an Energy Management PerspectiveDesign of a Wireless Sensor Network from an Energy Management Perspective
Design of a Wireless Sensor Network from an Energy Management Perspective
 
middleware
middlewaremiddleware
middleware
 
Localization in WSN
Localization in WSNLocalization in WSN
Localization in WSN
 
Real time approach of piezo actuated beam for wireless seismic measurement us...
Real time approach of piezo actuated beam for wireless seismic measurement us...Real time approach of piezo actuated beam for wireless seismic measurement us...
Real time approach of piezo actuated beam for wireless seismic measurement us...
 
Hetrogenous wireless sensor network
Hetrogenous wireless sensor networkHetrogenous wireless sensor network
Hetrogenous wireless sensor network
 
Review on an object following wireless robot
Review on an object following wireless robotReview on an object following wireless robot
Review on an object following wireless robot
 
DESIGN ISSUES ON SOFTWARE ASPECTS AND SIMULATION TOOLS FOR WIRELESS SENSOR NE...
DESIGN ISSUES ON SOFTWARE ASPECTS AND SIMULATION TOOLS FOR WIRELESS SENSOR NE...DESIGN ISSUES ON SOFTWARE ASPECTS AND SIMULATION TOOLS FOR WIRELESS SENSOR NE...
DESIGN ISSUES ON SOFTWARE ASPECTS AND SIMULATION TOOLS FOR WIRELESS SENSOR NE...
 
Power Saving in Wireless Sensor Networks
Power Saving in Wireless Sensor NetworksPower Saving in Wireless Sensor Networks
Power Saving in Wireless Sensor Networks
 
Robust wireless reprogramming method using differential approach for wireless...
Robust wireless reprogramming method using differential approach for wireless...Robust wireless reprogramming method using differential approach for wireless...
Robust wireless reprogramming method using differential approach for wireless...
 
Bm32410415
Bm32410415Bm32410415
Bm32410415
 
Unit1
Unit1Unit1
Unit1
 
Scheduling for interference mitigation using enhanced intercell interference ...
Scheduling for interference mitigation using enhanced intercell interference ...Scheduling for interference mitigation using enhanced intercell interference ...
Scheduling for interference mitigation using enhanced intercell interference ...
 

Similar a A4WSN: an Architecting environment 4 Wireless Sensor Networks

Wireless Sensor Networks ,Middleware and Programming abstractions
Wireless Sensor Networks ,Middleware and Programming abstractionsWireless Sensor Networks ,Middleware and Programming abstractions
Wireless Sensor Networks ,Middleware and Programming abstractionsBudwell Masaiti
 
51679421-Wireless-Sensor-Networks-PPT.pptx
51679421-Wireless-Sensor-Networks-PPT.pptx51679421-Wireless-Sensor-Networks-PPT.pptx
51679421-Wireless-Sensor-Networks-PPT.pptxGeetha982072
 
Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)Affan Syed
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionLuca Berardinelli
 
NetSim Technology Library- Iot wsn
NetSim Technology Library- Iot wsnNetSim Technology Library- Iot wsn
NetSim Technology Library- Iot wsnVishal Sharma
 
Network Management in WSN
Network Management in WSNNetwork Management in WSN
Network Management in WSNsashar86
 
Keynote Address - SDN A path to programmable, elastic and optimized networks
Keynote Address - SDN A path to programmable, elastic and optimized networksKeynote Address - SDN A path to programmable, elastic and optimized networks
Keynote Address - SDN A path to programmable, elastic and optimized networksSanjay Kapoor
 
[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 LanguageIvano Malavolta
 
Application scenarios in streaming oriented embedded-system design
Application scenarios in streaming oriented embedded-system designApplication scenarios in streaming oriented embedded-system design
Application scenarios in streaming oriented embedded-system designMr. Chanuwan
 
Presentation seminar shubham
Presentation seminar shubhamPresentation seminar shubham
Presentation seminar shubhamShubhamPal80
 
gcettb presentation on sensor network
gcettb presentation on sensor networkgcettb presentation on sensor network
gcettb presentation on sensor networkrahulkumargiri
 
Relate: Architecture, Systems and Tools for Relative Positioning
Relate: Architecture, Systems and Tools for Relative PositioningRelate: Architecture, Systems and Tools for Relative Positioning
Relate: Architecture, Systems and Tools for Relative PositioningTill Riedel
 

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

Sensor Network
Sensor NetworkSensor Network
Sensor Network
 
Wireless Sensor Networks ,Middleware and Programming abstractions
Wireless Sensor Networks ,Middleware and Programming abstractionsWireless Sensor Networks ,Middleware and Programming abstractions
Wireless Sensor Networks ,Middleware and Programming abstractions
 
middleware
middlewaremiddleware
middleware
 
51679421-Wireless-Sensor-Networks-PPT.pptx
51679421-Wireless-Sensor-Networks-PPT.pptx51679421-Wireless-Sensor-Networks-PPT.pptx
51679421-Wireless-Sensor-Networks-PPT.pptx
 
Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)
 
MICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context EvolutionMICE: Monitoring and modelIng of Context Evolution
MICE: Monitoring and modelIng of Context Evolution
 
WIRELESS SENSOR NETWORK
WIRELESS SENSOR NETWORKWIRELESS SENSOR NETWORK
WIRELESS SENSOR NETWORK
 
Energy aware routing for wireless sensor networks
Energy aware routing for wireless sensor networksEnergy aware routing for wireless sensor networks
Energy aware routing for wireless sensor networks
 
NetSim Technology Library- Iot wsn
NetSim Technology Library- Iot wsnNetSim Technology Library- Iot wsn
NetSim Technology Library- Iot wsn
 
Final PPT.pptx
Final PPT.pptxFinal PPT.pptx
Final PPT.pptx
 
Nos Windows
Nos WindowsNos Windows
Nos Windows
 
Network Management in WSN
Network Management in WSNNetwork Management in WSN
Network Management in WSN
 
Keynote Address - SDN A path to programmable, elastic and optimized networks
Keynote Address - SDN A path to programmable, elastic and optimized networksKeynote Address - SDN A path to programmable, elastic and optimized networks
Keynote Address - SDN A path to programmable, elastic and optimized networks
 
[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
 
Project-FINAL
Project-FINALProject-FINAL
Project-FINAL
 
Application scenarios in streaming oriented embedded-system design
Application scenarios in streaming oriented embedded-system designApplication scenarios in streaming oriented embedded-system design
Application scenarios in streaming oriented embedded-system design
 
Contiki wsn
Contiki wsnContiki wsn
Contiki wsn
 
Presentation seminar shubham
Presentation seminar shubhamPresentation seminar shubham
Presentation seminar shubham
 
gcettb presentation on sensor network
gcettb presentation on sensor networkgcettb presentation on sensor network
gcettb presentation on sensor network
 
Relate: Architecture, Systems and Tools for Relative Positioning
Relate: Architecture, Systems and Tools for Relative PositioningRelate: Architecture, Systems and Tools for Relative Positioning
Relate: Architecture, Systems and Tools for Relative Positioning
 

Más de 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 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 ITIvano 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 developmentIvano Malavolta
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architecturesIvano Malavolta
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languagesIvano Malavolta
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineeringIvano Malavolta
 
Mobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionMobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionIvano Malavolta
 

Más de 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] 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
 
Mobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionMobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perception
 

Último

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Último (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

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!