Your SlideShare is downloading. ×
0
Università degli Studi dell’Aquila                              Ivano MalavoltaDISIM Department, University of L’Aquila   ...
Who is Ivano?       If you think good architecture is expensive,                             try bad architecture.        ...
RoadmapProblem DefinitionA4WSNModeling Environment      Software Architecture      Nodes Configuration      Physical Envir...
* International Workshop on Software                                   Engineering for Sensor Network Applications Problem...
Main Drivers of A4WSNAbstractionby masking the complexity of low-level, hardware details Separation of   concernsby clearl...
RoadmapProblem DefinitionA4WSNModeling Environment      Software Architecture      Nodes Configuration      Physical Envir...
The A4WSN Framework            third-parties can contribute                                 with code generation or       ...
RoadmapProblem DefinitionA4WSNModeling Environment      Software Architecture      Nodes Configuration      Physical Envir...
A4WSN                 3 modeling languages                                             Physical                           ...
Software Architecture                        Structure                          components                          ports ...
SA: StructureComponents. Units of computation with internal state and well defined interfacePorts. Interaction points with...
SA: BehaviourEach Component can contain a description of its behaviourThe behaviour is based on:1. Events-conditions-actio...
SA: Actions    Sense gets some data from a sensor and stores the read    value into a specific application data           ...
SA: Actions    StartTimer starts a timer which can be triggered later.    Cyclyc, delay and period properties supported   ...
SA: Events    ServiceCallback is triggered when the result of an    AsyncServiceCall is available    ReceiveMessage is tri...
SA: Behavioural FlowBehavioural flow is specified by means of LinksA link can exist:                  E        A1. from an...
SA: ModesA specific status of the component       ex. sleeping mode, energy saving mode, etc.At any given time, one and on...
Example**This example is taken from our journal paper...
RoadmapProblem DefinitionA4WSNModeling Environment      Software Architecture      Nodes Configuration      Physical Envir...
Nodes Configuration                  Types of nodes                  OS                  MAC protocol                  rou...
NodeA nodes specification is composed of a set of WSN node typesNode Attributes:• OS   • ex. TinyOS, Contiki, Mantis, Lite...
ex. light sensor,Node                                    temperature sensor,                                        smoke ...
MicrocontrollerRepresents the entity which performs tasks, processes data andcontrols the functionality of other component...
Power ModesA Node can specify a set of Power ModesEach power mode identifies a set of node elements (such asmemory, DAC, R...
Example**This example is taken from our journal paper...
RoadmapProblem DefinitionA4WSNModeling Environment      Software Architecture      Nodes Configuration      Physical Envir...
Physical Environment                A 2D space with:                • obstacles                  freely positioned        ...
Example*                                                   As                                               Am*This exampl...
RoadmapProblem DefinitionA4WSNModeling Environment     Software Architecture     Nodes Configuration     Physical Environm...
Keeping Models IntegratedTwo special models weave together SA, nodes andenvironment specifications                    Actu...
The Mapping ModelLinks together an SAML model and a NODEML modelIt defines how components are deployed into each configure...
The Deployment ModelWeaves together a NODEML model and an ENVML modelIt defines how node types are1. instantiated, and2. v...
Area and Nodes DistributionNodes can be distributed in three different ways:       Random                      Grid       ...
The Deployment ModelEach node type can be instantiated ”n” times within a specific area       this allow architects to foc...
Example*                                           custom distributed nodes       NODEML                          DEPML   ...
RoadmapProblem DefinitionA4WSNModeling Environment     Software Architecture     Nodes Configuration     Physical Environm...
Programming Framework          C1         Cn             A1       An                     Programming   Code Generation    ...
Programming FrameworkCode Generation ManagerDefines the extension point for code generation enginesIt checks which plugins...
Programming FrameworkModelsStores all the WSN models developed by architects and designersModels can be stored:- in the fi...
Programming FrameworkValidationExecutes all the operations to validate A4WSN models:- predefined checks- user-defined chec...
Programming FrameworkUI ManagerResponsible for the main facilities interacting with the userinterface:- Code Generation En...
Programming FrameworkParameter ProviderManages the additional parameters that a code generation oranalysis plugin may requ...
Anatomy of a PluginTo contribute to A4WSN, each plugin must adhere to thefollowing “signature”, A4WSN will take care of th...
Anatomy of a Plugin                            Code generation-specific        Analysis-specific
Anatomy of a Plugin
RoadmapProblem DefinitionA4WSNModeling Environment      Software Architecture      Nodes Configuration      Physical Envir...
Tool SupportSAML – NODEML – ENVML:      Dedicated Graphical and Tree-based editors models                                 ...
Work-in-Progress ComponentsMAPML: Tree-based editorDEPML: Tree-based editorProgramming Framework as Eclipse pluginswith de...
Conclusions & Future Work        languages                     programming       refinement                framework devel...
We are looking for Plugin Contributions!
Upcoming SlideShare
Loading in...5
×

A4WSN: an Architecting environment 4 Wireless Sensor Networks

797

Published on

These are the slides of the talk I gave the 17th of January at the Communications Group of the Middlesex University, London.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
797
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "A4WSN: an Architecting environment 4 Wireless Sensor Networks"

  1. 1. Università degli Studi dell’Aquila Ivano MalavoltaDISIM Department, University of L’Aquila ivano.malavolta@univaq.it
  2. 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. 3. RoadmapProblem DefinitionA4WSNModeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models IntegratedProgramming FrameworkTool Support
  4. 4. * International Workshop on Software Engineering for Sensor Network Applications Problem DefinitionFrom the SESENA* 2012CfP: Abstraction“the development of WSN software is still carried out in a ratherprimitive fashion, by building software directly atop the OS and byrelying on an individuals hard-earned programming skills”“WSN developers must face not only the functional applicationrequirements but also a number of challenging, non-functionalrequirements and constraints resulting from scarce resources” Separation of Model-based concerns Analysis
  5. 5. Main Drivers of A4WSNAbstractionby masking the complexity of low-level, hardware details Separation of concernsby clearly separating application, HW, and deploymentaspects of a WSN Model-based Analysisby facilitating the analysis of both functional and non-functional properties
  6. 6. RoadmapProblem DefinitionA4WSNModeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models IntegratedProgramming FrameworkTool Support
  7. 7. The A4WSN Framework third-parties can contribute with code generation or analysis plugins Separation of Model-BasedAbstraction concerns Analysis
  8. 8. RoadmapProblem DefinitionA4WSNModeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models IntegratedProgramming FrameworkTool Support
  9. 9. A4WSN 3 modeling languages Physical WSN nodes environment configurations Software Architecture
  10. 10. Software Architecture Structure components ports application data messages Behaviour events conditions actions
  11. 11. SA: StructureComponents. Units of computation with internal state and well defined interfacePorts. Interaction points with the external environmentConnections. Message-based communication channels between portsApplication data. Variables in the scope of the component
  12. 12. SA: BehaviourEach Component can contain a description of its behaviourThe behaviour is based on:1. Events-conditions-actions2. Modes
  13. 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. 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. 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. 16. SA: Behavioural FlowBehavioural flow is specified by means of LinksA link can exist: E A1. from an event E to an action A: in this case after the event E is triggered, A will be executed2. from an action A1 to another action A2: in this case, A2 is executed immediately after A1 A1 A2Conditions are boolean expressions (optionally) associated to links E t > 30 AThe execution flow goes through a link only if its condition evaluates to true
  17. 17. SA: ModesA 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 acomponentThe component reacts only to those events which are definedwithin its currently active mode
  18. 18. Example**This example is taken from our journal paper...
  19. 19. RoadmapProblem DefinitionA4WSNModeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models IntegratedProgramming FrameworkTool Support
  20. 20. Nodes Configuration Types of nodes OS MAC protocol routing protocol installed sensors installed actuators energy sources communication devices
  21. 21. NodeA nodes specification is composed of a set of WSN node typesNode Attributes:• OS • ex. TinyOS, Contiki, Mantis, LiteOS, ...• macProtocol • ex. T-MAC, S-MAC, WiseMAC, SIFT, ...• routingProtocol • ex. GEAR, LEACH, HEED, ...
  22. 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 Sourcescan be either continuous, degradable, or harvested
  23. 23. MicrocontrollerRepresents the entity which performs tasks, processes data andcontrols 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. 24. Power ModesA Node can specify a set of Power ModesEach power mode identifies a set of node elements (such asmemory, DAC, RF comm. device, etc.) and distinguishes betweenwhich elements are active and which elements are disabled Communication Mode Sensing Mode
  25. 25. Example**This example is taken from our journal paper...
  26. 26. RoadmapProblem DefinitionA4WSNModeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models IntegratedProgramming FrameworkTool Support
  27. 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. 28. Example* As Am*This example is taken from our journal paper...
  29. 29. RoadmapProblem DefinitionA4WSNModeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models IntegratedProgramming FrameworkTool Support
  30. 30. Keeping Models IntegratedTwo special models weave together SA, nodes andenvironment specifications Actually, they are WEAVING MODELS
  31. 31. The Mapping ModelLinks together an SAML model and a NODEML modelIt defines how components are deployed into each configurednodesSeparation of ConcernsIt helps in clearly separating the application layer of a WSN fromall the other lower levels this aspect is new in the WSN domainArchitects can focus on the application from a functional point of view inSAML, and only later they will focus on low-level aspects
  32. 32. The Deployment ModelWeaves together a NODEML model and an ENVML modelIt defines how node types are1. instantiated, and2. virtually deployed in the physical environmentA DEPML model presents a single type of link: Deployment LinkA deployment link considers a node in the NODEML model, andassigns it to an area in the ENVML model
  33. 33. Area and Nodes DistributionNodes 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 certainrandomly within the area placed within the area number of rows and columns N2 N1 N1 BS N3
  34. 34. The Deployment ModelEach 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 networkDEPML models are the only place in which we reason about the finalnode instances, in the other models we reason about types
  35. 35. Example* custom distributed nodes NODEML DEPML ENVML oxymeter As Am monitor*This example is taken from our journal paper...
  36. 36. RoadmapProblem DefinitionA4WSNModeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models IntegratedProgramming FrameworkTool Support
  37. 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. 38. Programming FrameworkCode Generation ManagerDefines the extension point for code generation enginesIt checks which plugins are currently extending its extension pointand makes their facilities available to the end userExposes a common Java API to plugindevelopers, so that they can easilyinteract with all the other components ofA4WSN (validation, model adapters, etc.)Analysis Manager acts similarly, but it is for analysis engines
  39. 39. Programming FrameworkModelsStores all the WSN models developed by architects and designersModels can be stored:- in the file system*- in some server in the cloud- in some in-memory representationModel AdapterExposes a common interface to the other components of A4WSNto access the models in an homogeneous way*currently, this is the only available solution in the A4WSN prototype
  40. 40. Programming FrameworkValidationExecutes all the operations to validate A4WSN models:- predefined checks- user-defined checks (via a plugin)Messages ManagerGraphically shows informative messages to the user.Supports three kind of informative messages: information warning error
  41. 41. Programming FrameworkUI ManagerResponsible for the main facilities interacting with the userinterface:- Code Generation Engines View- Analysis Engines View- Code Generation Contextual Menu- Analysis Contextual Menu- Validation Trigger- Progress Feedback- Additional Parameters View
  42. 42. Programming FrameworkParameter ProviderManages the additional parameters that a code generation oranalysis plugin may requireMakes user-provided parameters available and easily accessibleto the plugin requiring themSupported types:string, integer, float, boolean, local resource,remote resource accessible over HTTP
  43. 43. Anatomy of a PluginTo contribute to A4WSN, each plugin must adhere to thefollowing “signature”, A4WSN will take care of the rest
  44. 44. Anatomy of a Plugin Code generation-specific Analysis-specific
  45. 45. Anatomy of a Plugin
  46. 46. RoadmapProblem DefinitionA4WSNModeling Environment Software Architecture Nodes Configuration Physical Environment Keeping Models IntegratedProgramming FrameworkTool Support
  47. 47. Tool SupportSAML – NODEML – ENVML: Dedicated Graphical and Tree-based editors models graphical editor palette bird view properties
  48. 48. Work-in-Progress ComponentsMAPML: Tree-based editorDEPML: Tree-based editorProgramming Framework as Eclipse pluginswith defined extension pointsFirst version of prototype available athttp://www.di.univaq.it/malavolta/files/ME4AWSN_v0.1.zip
  49. 49. Conclusions & Future Work languages programming refinement framework development nodeconfigurationsmarketplace? code generators analysis engines
  50. 50. We are looking for Plugin Contributions!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×