SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Università degli Studi dell’Aquila




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



                           Ivano Malavolta
Problem Definition
ME4AWSN
     Software Architecture
     Nodes Configuration
     Physical Environment
     Keeping Models Integrated
Example
What is a Modeling Environment?

A software application that provides comprehensive
facilities for developing models
• model creation, deletion
• model editing (graphical, textual, ...)
• syntax rules enforcing                    ... what about
                                            modeling frameworks?
• ...
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
Abstraction

by masking the complexity of low-level, hardware details

 Separation of
   concerns
by clearly separating SW, HW, and deployment aspects of
a WSN
  Model-based
   Analysis
by facilitating the analysis of both functional and non-
functional properties
in this lecture we focus on this part




              Separation of       Model-Based
Abstraction
                concerns           Analysis
Problem Definition
ME4AWSN
     Software Architecture
     Nodes Configuration
     Physical Environment
     Keeping Models Integrated
Example
It is composed of 3 modeling languages




                                        Physical
                      Details about   environment
                       WSN nodes
 Software
Architecture
Structure
  components
  ports
  application data
  messages
Behaviour
  events
  conditions
  actions
Component. A unit of computation with internal state and well
defined interface. Each component can contain a behaviour
specification and a set of application data.


MessagePort. Specifies the interaction point between a
component and its external environment.
      Incoming messages arrive at InMessagePorts
      Outgoing messages are sent via OutMessagePorts


Connection. It is a unidirectional communication channel
between two message ports.
Application Data. Local variables declared in the scope of the
component. It is manipulated by actions defined in the
behaviour of the component.


There are two types of application data:
• Primitive
  •   integer, string, real, boolean
• Structured
  •   Enumeration
  •   Structure
Operations on Application Data:
• arithmetic
  •   + - / *                     Assignment is done via
• boolean                          a dedicated Action in
  •   AND, OR, NOT                    the behaviour
• relational
  •   > >= < <= !=


Application data reference


Structure Member reference
Each Component can contain a description of its behaviour
The behaviour is based on:
1. Events-conditions-actions
2. Modes
Each Component can perform actions:


      Sense gets some data from a sensor and stores the read
      value into a specific application data
             ex: get current temperature


      Actuate activates and actuator, optionally an application
      data can be used to pass a parameter to the actuator
             ex: actuate a water sprinkler
SendMessage sends a message via a specific message port


Optionally, the payload of the message can be specified by
passing an application data as parameter


Types of available messages:
       Unicast to a single receiver
       Multicast to a set of receivers
       Broadcast to every node containing the target
       component
StartTimer starts a timer which can be triggered later
cyclic: true if the timer must be periodic
delay: the time (in millisecs) that must pass before the first activation
period: the period of the timer (in millisecs), if it is a cyclic one


StopTimer stops a previously started timer


StoreData puts some (manipulated) data into an
application data of the component
SyncServiceCall calls an external service (ex. web service)
data: optional, it is the parameters that can be passed to the service
dataRecipient: the application data which will be filled with the result


AsyncServiceCall calls an external service, the result of the
call will be available via a dedicated event
data: optional, it is the parameters that can be passed to the service



Fork and Join are used to sync the control flow
Each component can react to specific kinds of events:
       ServiceCallback is triggered when the result of an
       AsyncServiceCall is available
       dataRecipient: the application data which will be filled with the result



       ReceiveMessage is triggered when the component
       receives a message
       dataRecipient: the application data which will contain the payload
       fromMessagePort: the port that received the message


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


A link can exist:
1. from an event E to an action A: in this case after the event E is
   triggered, A will be executed
2. from an action A1 to another action A2: in this case, A2 is
   executed immediately after A1


Conditions are boolean expressions (optionally) associated to links


The execution flow goes through a link only if its condition
   evaluates to true
A mode is a specific status of the component
       ex. sleeping mode, energy saving mode, etc.


Initial Mode is the first mode which is active when the component
starts up

At any given time, one and only one mode can be active in a
component


The component reacts only to those events which are defined
within its currently active mode
A component can switch from a mode to another by means of
mode transitions

Mode transitions link together modes by passing...
        from a special kind of action called ExitMode
        to a special kind of event called EnterMode


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




Node Attributes:
• OS
   • ex. TinyOS, Contiki, Mantis, LiteOS, ...
• macProtocol
   • ex. T-MAC, S-MAC, WiseMAC, SIFT, ...
• routingProtocol
   • ex. GEAR, LEACH, HEED, ...
Node
                                           Sensors
                                            Sensors
      Microcontroller                        Sensors
                                Memory
                        RF       Memory
ADC                               Memory
         CPU                               Actuators
          CPU
           CPU                              Actuators
DAC                                          Actuators
                    Timer
                                  RF
Memory     Program memory          RF
                                    RF


            Energy Source
             Energy Source
               Energy Sources
The following elements can be attached to a WSN node:
• energy sources (one or more)
    • continuous
    • degradable (initialStoredEnergy in Joule)
    • harvested (initialStoredEnergy in Joule, harvestingEnergyRate in Joule)
• sensors (zero or more)
        energyConsumptionPerSample (mJ), idleEnergyConsumption (mJ)
    ex. light sensor, temperature sensor, radio sensor, ...
• actuators (zero or more)
        energyConsumptionPerSample (mJ), idleEnergyConsumption (mJ)
    ex. water sprinkler, leds, lights, heating system switch, ...
A node can contain the following elements:


• RF Communication Device (zero or more)
       represents the radio device to communicate with other nodes
       Attributes:
               float transmissionPower in dBm
               float receiveSensitivity in dBm
               float[1] frequency in MHz
               float antennaGain in dBd
               String modulation // name of the modulation method
               String encryption // name of the enc. algorithm
A node can contain the following elements:


• Memories (one or more)
       represents external storage memories of the node
       Attributes:
               float averageReadingEnergyConsumption in mW
               float averageWritingEnergyConsumption in mW
               int[1] size in Kb
Microcontroller (one)
       represents the entity which performs tasks, processes data
       and controls the functionality of other components in the
       sensor node

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

              Memory        Program memory
                 1_1              1_1
• ADC (zero or more)
       Attributes:
              int resolution // # discrete values it can produce
              int bits // 8 bits, 16 bits
              int channels // #channels
• DAC (zero or more)
       Attributes:
              int resolution // # discrete values it can produce
              int bits // 8 bits, 16 bits
• Processor (one or more)
       Attributes:
              int[1] frequency in MHz
              float[1] cpi // cycles per instruction
• Timer (one or more)
       Attributes:
              int bits // 8 bits, 16 bits
• RF Communication Device (0_1) – internal radio transceiver
• Memory (one) – same role as RAM memory in PCs
• Program Memory (one) – stores the program running on the node
A Node can specify a set of Power Modes


Each power mode identifies a set of node elements (such as
memory, DAC, RF comm. device, etc.) and distinguishes between
which elements are active and which elements are disabled

        Mode A                            Mode B
Problem Definition
ME4AWSN
     Software Architecture
     Nodes Configuration
     Physical Environment
     Keeping Models Integrated
Example
A 2D space with obstacles

  freely positioned
  with their own shape
  with attenuation coefficients
The Environment represents the overall area in the 2D space in
which the WSN will be deployed


Attributes:
       string name // the name of the area
       float [1] width // the width of the bounding box of the area
       float [1] height // the height of the bounding box of the area
       imagePath // the image used as background in the editor


The environment contains a set of Obstacles
An Obstacle specifies any kind of relevant element which can be
placed in the environment


Attributes:
       string material // the name of the material of the obstacle
              (ex. concrete wall, wooden door, glass, ...)
       float [1] attenuation // the “thickness” of the obstacle
                            // it ranges from 0 to 1
       Coordinate [2_*] shell // the perimeter of the obstacle in the
                                     2D space
Problem Definition
ME4AWSN
     Software Architecture
     Nodes Configuration
     Physical Environment
     Keeping Models Integrated
Example
Two special models that link together SA, nodes and
environment specifications
Weaves together an SAML model and a NODEML model


It defines how components are deployed into each configured nodes


Types of link:
• Mapping maps a component to its corresponding node configuration
• Sensor Mapping maps a Sense action in a component to a Sensor in
a node
• Actuator Mapping similar to the Sensor Mapping, but for actuators
• Communication Device Mapping maps a Message Port in a
component to an RFCommunicationDevice in a node
• Mode Mapping maps a Mode in a component to a Power Mode in a
node
MAPML models semantically represent the classical notion of
deployment of software components onto HW nodes


Separation of Concerns
It helps in clearly separating the application layer of a WSN from
all the other lower levels
         this aspect is new in the WSN domain


Architects can focus on the application from a functional point of view in
SAML, and only later they will focus on low-level aspects
Weaves together a NODEML model and an ENVML model


It defines how node configuration are
1. instantiated, and
2. virtually deployed in the physical environment


A DEPML model presents a single type of link: Deployment Link


A deployment link considers a node configuration in the NODEML
model, and assigns it to an area within the physical environment
An area is a portion of physical environment (i.e., the environment
element defined in the ENVML 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


An area has two properties:
1. Shape: the perimeter of the area defined as a set of coordinates
2. NodesDistribution: how the “n”nodes are positioned in the area
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
In custom distribution, each node can be                                N2
                                                                N1
individually specified in the area by:                           N1
                                                                        BS
1. its name                                                        N3

2. the coordinates of its position


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


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




models
                                       graphical
                                        editor     palette

 bird
 view

              properties
NODEML: Graphical and Tree-based editor
DEPML: Graphical editor with background image


MAPML: Tree-based editor
DEPML: Tree-based editor
languages                    programming
    refinement                framework definition




modeling           code
                 generators          model-based
 editors                             analysis tools
The fire alarm system considered is composed of two types of sensors that
are temperature and smoke sensors. There are also sprinkler actuators that
are used to enable the water flow in case of fire.
Temperature sensors monitor the temperature at regular intervals (every 30
seconds). When a temperature sensor reads a value that exceeds a specified
threshold, it sends an alert message to the base station.
Each smoke sensor receives the alert and checks for smoke. When a smoke
sensor detects smoke it sends an alarm message to the sprinklers to activate
the water flow.
The automatic heating system is composed of the same temperature sensors
of the fire alarm system, a base station and various heaters.
Temperature sensors send readings every 30 seconds to a base station. This
is placed at the centre forming a star topology.
The base station averages the readings and decides whether or not the
central heating system should be on.

Contenu connexe

En vedette

Mobile Apps Development: Technological strategies and Monetization
Mobile Apps Development: Technological strategies and MonetizationMobile Apps Development: Technological strategies and Monetization
Mobile Apps Development: Technological strategies and MonetizationIvano Malavolta
 
The Mobile ecosystem, Context & Strategies
The Mobile ecosystem, Context & StrategiesThe Mobile ecosystem, Context & Strategies
The Mobile ecosystem, Context & StrategiesIvano Malavolta
 
End Users’ Perception of Hybrid Mobile Apps in the Google Play Store
End Users’ Perception of Hybrid Mobile Apps in the Google Play StoreEnd Users’ Perception of Hybrid Mobile Apps in the Google Play Store
End Users’ Perception of Hybrid Mobile Apps in the Google Play StoreIvano Malavolta
 
PhoneGap: Accessing Device Capabilities
PhoneGap: Accessing Device CapabilitiesPhoneGap: Accessing Device Capabilities
PhoneGap: Accessing Device CapabilitiesIvano Malavolta
 
Web RTC: Nato per comunicare
Web RTC: Nato per comunicareWeb RTC: Nato per comunicare
Web RTC: Nato per comunicareIvano Malavolta
 

En vedette (7)

PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Mobile Apps Development: Technological strategies and Monetization
Mobile Apps Development: Technological strategies and MonetizationMobile Apps Development: Technological strategies and Monetization
Mobile Apps Development: Technological strategies and Monetization
 
The Mobile ecosystem, Context & Strategies
The Mobile ecosystem, Context & StrategiesThe Mobile ecosystem, Context & Strategies
The Mobile ecosystem, Context & Strategies
 
End Users’ Perception of Hybrid Mobile Apps in the Google Play Store
End Users’ Perception of Hybrid Mobile Apps in the Google Play StoreEnd Users’ Perception of Hybrid Mobile Apps in the Google Play Store
End Users’ Perception of Hybrid Mobile Apps in the Google Play Store
 
PhoneGap: Accessing Device Capabilities
PhoneGap: Accessing Device CapabilitiesPhoneGap: Accessing Device Capabilities
PhoneGap: Accessing Device Capabilities
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Web RTC: Nato per comunicare
Web RTC: Nato per comunicareWeb RTC: Nato per comunicare
Web RTC: Nato per comunicare
 

Similaire à ME4AWSN - a Modeling Environment for Architecting WSNs

A4WSN: an Architecting environment 4 Wireless Sensor Networks
A4WSN: an Architecting environment 4 Wireless Sensor NetworksA4WSN: an Architecting environment 4 Wireless Sensor Networks
A4WSN: an Architecting environment 4 Wireless Sensor NetworksIvano Malavolta
 
Architecture 4 Wireless Sensor Networks
Architecture 4 Wireless Sensor NetworksArchitecture 4 Wireless Sensor Networks
Architecture 4 Wireless Sensor NetworksIvano Malavolta
 
Combining out - of - band monitoring with AI and big data for datacenter aut...
Combining out - of - band monitoring with AI and big data  for datacenter aut...Combining out - of - band monitoring with AI and big data  for datacenter aut...
Combining out - of - band monitoring with AI and big data for datacenter aut...Ganesan Narayanasamy
 
The Case for a Signal Oriented Data Stream Management System
The Case for a Signal Oriented Data Stream Management SystemThe Case for a Signal Oriented Data Stream Management System
The Case for a Signal Oriented Data Stream Management SystemReza Rahimi
 
Disadvantages Of Robotium
Disadvantages Of RobotiumDisadvantages Of Robotium
Disadvantages Of RobotiumSusan Tullis
 
Low cost embedded system
Low cost embedded systemLow cost embedded system
Low cost embedded systemece svit
 
Radio relay network auto discovery
Radio relay network auto discoveryRadio relay network auto discovery
Radio relay network auto discoveryDmitriy Suraev
 
4239213.ppt
4239213.ppt4239213.ppt
4239213.pptyibe5
 

Similaire à ME4AWSN - a Modeling Environment for Architecting WSNs (20)

A4WSN: an Architecting environment 4 Wireless Sensor Networks
A4WSN: an Architecting environment 4 Wireless Sensor NetworksA4WSN: an Architecting environment 4 Wireless Sensor Networks
A4WSN: an Architecting environment 4 Wireless Sensor Networks
 
Architecture 4 Wireless Sensor Networks
Architecture 4 Wireless Sensor NetworksArchitecture 4 Wireless Sensor Networks
Architecture 4 Wireless Sensor Networks
 
A4WSN
A4WSNA4WSN
A4WSN
 
Tos tutorial
Tos tutorialTos tutorial
Tos tutorial
 
Combining out - of - band monitoring with AI and big data for datacenter aut...
Combining out - of - band monitoring with AI and big data  for datacenter aut...Combining out - of - band monitoring with AI and big data  for datacenter aut...
Combining out - of - band monitoring with AI and big data for datacenter aut...
 
wireless sensor network a survey
wireless sensor network a surveywireless sensor network a survey
wireless sensor network a survey
 
The Case for a Signal Oriented Data Stream Management System
The Case for a Signal Oriented Data Stream Management SystemThe Case for a Signal Oriented Data Stream Management System
The Case for a Signal Oriented Data Stream Management System
 
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
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Embeddedsystem
EmbeddedsystemEmbeddedsystem
Embeddedsystem
 
Contiki wsn
Contiki wsnContiki wsn
Contiki wsn
 
WIRELESS SENSOR NETWORK
WIRELESS SENSOR NETWORKWIRELESS SENSOR NETWORK
WIRELESS SENSOR NETWORK
 
Disadvantages Of Robotium
Disadvantages Of RobotiumDisadvantages Of Robotium
Disadvantages Of Robotium
 
Low cost embedded system
Low cost embedded systemLow cost embedded system
Low cost embedded system
 
Radio relay network auto discovery
Radio relay network auto discoveryRadio relay network auto discovery
Radio relay network auto discovery
 
Reactors.io
Reactors.ioReactors.io
Reactors.io
 
Majorppt
MajorpptMajorppt
Majorppt
 
4239213.ppt
4239213.ppt4239213.ppt
4239213.ppt
 
wireless sensor network
wireless sensor networkwireless sensor network
wireless sensor network
 
unit-iv-wireless-sensor-networks-wsns-and-mac-protocols
unit-iv-wireless-sensor-networks-wsns-and-mac-protocols unit-iv-wireless-sensor-networks-wsns-and-mac-protocols
unit-iv-wireless-sensor-networks-wsns-and-mac-protocols
 

Plus 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] 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
 
[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
 

Plus 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] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 

Dernier

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Dernier (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

ME4AWSN - a Modeling Environment for Architecting WSNs

  • 1. Università degli Studi dell’Aquila ME4AWSN Ivano Malavolta DISIM Department, University of L’Aquila ivano.malavolta@univaq.it
  • 2. The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved. Ivano Malavolta
  • 3. Problem Definition ME4AWSN Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Example
  • 4. What is a Modeling Environment? A software application that provides comprehensive facilities for developing models • model creation, deletion • model editing (graphical, textual, ...) • syntax rules enforcing ... what about modeling frameworks? • ...
  • 5. 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
  • 6. Abstraction by masking the complexity of low-level, hardware details Separation of concerns by clearly separating SW, HW, and deployment aspects of a WSN Model-based Analysis by facilitating the analysis of both functional and non- functional properties
  • 7. in this lecture we focus on this part Separation of Model-Based Abstraction concerns Analysis
  • 8.
  • 9. Problem Definition ME4AWSN Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Example
  • 10. It is composed of 3 modeling languages Physical Details about environment WSN nodes Software Architecture
  • 11. Structure components ports application data messages Behaviour events conditions actions
  • 12. Component. A unit of computation with internal state and well defined interface. Each component can contain a behaviour specification and a set of application data. MessagePort. Specifies the interaction point between a component and its external environment. Incoming messages arrive at InMessagePorts Outgoing messages are sent via OutMessagePorts Connection. It is a unidirectional communication channel between two message ports.
  • 13. Application Data. Local variables declared in the scope of the component. It is manipulated by actions defined in the behaviour of the component. There are two types of application data: • Primitive • integer, string, real, boolean • Structured • Enumeration • Structure
  • 14. Operations on Application Data: • arithmetic • + - / * Assignment is done via • boolean a dedicated Action in • AND, OR, NOT the behaviour • relational • > >= < <= != Application data reference Structure Member reference
  • 15. Each Component can contain a description of its behaviour The behaviour is based on: 1. Events-conditions-actions 2. Modes
  • 16. Each Component can perform actions: Sense gets some data from a sensor and stores the read value into a specific application data ex: get current temperature Actuate activates and actuator, optionally an application data can be used to pass a parameter to the actuator ex: actuate a water sprinkler
  • 17. SendMessage sends a message via a specific message port Optionally, the payload of the message can be specified by passing an application data as parameter Types of available messages: Unicast to a single receiver Multicast to a set of receivers Broadcast to every node containing the target component
  • 18. StartTimer starts a timer which can be triggered later cyclic: true if the timer must be periodic delay: the time (in millisecs) that must pass before the first activation period: the period of the timer (in millisecs), if it is a cyclic one StopTimer stops a previously started timer StoreData puts some (manipulated) data into an application data of the component
  • 19. SyncServiceCall calls an external service (ex. web service) data: optional, it is the parameters that can be passed to the service dataRecipient: the application data which will be filled with the result AsyncServiceCall calls an external service, the result of the call will be available via a dedicated event data: optional, it is the parameters that can be passed to the service Fork and Join are used to sync the control flow
  • 20. Each component can react to specific kinds of events: ServiceCallback is triggered when the result of an AsyncServiceCall is available dataRecipient: the application data which will be filled with the result ReceiveMessage is triggered when the component receives a message dataRecipient: the application data which will contain the payload fromMessagePort: the port that received the message TimerFired is triggered when a previously started timer is activated
  • 21. Behavioural flow is specified by means of Links A link can exist: 1. from an event E to an action A: in this case after the event E is triggered, A will be executed 2. from an action A1 to another action A2: in this case, A2 is executed immediately after A1 Conditions are boolean expressions (optionally) associated to links The execution flow goes through a link only if its condition evaluates to true
  • 22. A mode is a specific status of the component ex. sleeping mode, energy saving mode, etc. Initial Mode is the first mode which is active when the component starts up At any given time, one and only one mode can be active in a component The component reacts only to those events which are defined within its currently active mode
  • 23. A component can switch from a mode to another by means of mode transitions Mode transitions link together modes by passing... from a special kind of action called ExitMode to a special kind of event called EnterMode in this way actions and events can be linked to modes entry and exit points, creating a continuous flow among modes
  • 24. Problem Definition ME4AWSN Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Example
  • 25. Types of nodes OS MAC protocol routing protocol installed sensors installed actuators energy sources communication devices
  • 26. 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, ...
  • 27. Node Sensors Sensors Microcontroller Sensors Memory RF Memory ADC Memory CPU Actuators CPU CPU Actuators DAC Actuators Timer RF Memory Program memory RF RF Energy Source Energy Source Energy Sources
  • 28. The following elements can be attached to a WSN node: • energy sources (one or more) • continuous • degradable (initialStoredEnergy in Joule) • harvested (initialStoredEnergy in Joule, harvestingEnergyRate in Joule) • sensors (zero or more) energyConsumptionPerSample (mJ), idleEnergyConsumption (mJ) ex. light sensor, temperature sensor, radio sensor, ... • actuators (zero or more) energyConsumptionPerSample (mJ), idleEnergyConsumption (mJ) ex. water sprinkler, leds, lights, heating system switch, ...
  • 29. A node can contain the following elements: • RF Communication Device (zero or more) represents the radio device to communicate with other nodes Attributes: float transmissionPower in dBm float receiveSensitivity in dBm float[1] frequency in MHz float antennaGain in dBd String modulation // name of the modulation method String encryption // name of the enc. algorithm
  • 30. A node can contain the following elements: • Memories (one or more) represents external storage memories of the node Attributes: float averageReadingEnergyConsumption in mW float averageWritingEnergyConsumption in mW int[1] size in Kb
  • 31. Microcontroller (one) represents the entity which performs tasks, processes data and controls the functionality of other components in the sensor node Microcontroller 0_1 1_* 0_* ADC RF CPU CPU 0_* DAC CPU Timer 1_* Memory Program memory 1_1 1_1
  • 32. • ADC (zero or more) Attributes: int resolution // # discrete values it can produce int bits // 8 bits, 16 bits int channels // #channels • DAC (zero or more) Attributes: int resolution // # discrete values it can produce int bits // 8 bits, 16 bits
  • 33. • Processor (one or more) Attributes: int[1] frequency in MHz float[1] cpi // cycles per instruction • Timer (one or more) Attributes: int bits // 8 bits, 16 bits • RF Communication Device (0_1) – internal radio transceiver • Memory (one) – same role as RAM memory in PCs • Program Memory (one) – stores the program running on the node
  • 34. A Node can specify a set of Power Modes Each power mode identifies a set of node elements (such as memory, DAC, RF comm. device, etc.) and distinguishes between which elements are active and which elements are disabled Mode A Mode B
  • 35. Problem Definition ME4AWSN Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Example
  • 36. A 2D space with obstacles freely positioned with their own shape with attenuation coefficients
  • 37. The Environment represents the overall area in the 2D space in which the WSN will be deployed Attributes: string name // the name of the area float [1] width // the width of the bounding box of the area float [1] height // the height of the bounding box of the area imagePath // the image used as background in the editor The environment contains a set of Obstacles
  • 38. An Obstacle specifies any kind of relevant element which can be placed in the environment Attributes: string material // the name of the material of the obstacle (ex. concrete wall, wooden door, glass, ...) float [1] attenuation // the “thickness” of the obstacle // it ranges from 0 to 1 Coordinate [2_*] shell // the perimeter of the obstacle in the 2D space
  • 39. Problem Definition ME4AWSN Software Architecture Nodes Configuration Physical Environment Keeping Models Integrated Example
  • 40. Two special models that link together SA, nodes and environment specifications
  • 41. Weaves together an SAML model and a NODEML model It defines how components are deployed into each configured nodes Types of link: • Mapping maps a component to its corresponding node configuration • Sensor Mapping maps a Sense action in a component to a Sensor in a node • Actuator Mapping similar to the Sensor Mapping, but for actuators • Communication Device Mapping maps a Message Port in a component to an RFCommunicationDevice in a node • Mode Mapping maps a Mode in a component to a Power Mode in a node
  • 42. MAPML models semantically represent the classical notion of deployment of software components onto HW nodes Separation of Concerns It helps in clearly separating the application layer of a WSN from all the other lower levels this aspect is new in the WSN domain Architects can focus on the application from a functional point of view in SAML, and only later they will focus on low-level aspects
  • 43. Weaves together a NODEML model and an ENVML model It defines how node configuration are 1. instantiated, and 2. virtually deployed in the physical environment A DEPML model presents a single type of link: Deployment Link A deployment link considers a node configuration in the NODEML model, and assigns it to an area within the physical environment
  • 44. An area is a portion of physical environment (i.e., the environment element defined in the ENVML 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 An area has two properties: 1. Shape: the perimeter of the area defined as a set of coordinates 2. NodesDistribution: how the “n”nodes are positioned in the area
  • 45. 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
  • 46. In custom distribution, each node can be N2 N1 individually specified in the area by: N1 BS 1. its name N3 2. the coordinates of its position A nodes name pattern cane be given to an area independently from the distribution type they are used to have a way to refer to the names used as targets of Send Message actions in SAML models Available patterns: name<number>, name<Letter>, name
  • 47. Graphical and Tree-based editor for SAML models graphical editor palette bird view properties
  • 48. NODEML: Graphical and Tree-based editor DEPML: Graphical editor with background image MAPML: Tree-based editor DEPML: Tree-based editor
  • 49. languages programming refinement framework definition modeling code generators model-based editors analysis tools
  • 50.
  • 51. The fire alarm system considered is composed of two types of sensors that are temperature and smoke sensors. There are also sprinkler actuators that are used to enable the water flow in case of fire. Temperature sensors monitor the temperature at regular intervals (every 30 seconds). When a temperature sensor reads a value that exceeds a specified threshold, it sends an alert message to the base station. Each smoke sensor receives the alert and checks for smoke. When a smoke sensor detects smoke it sends an alarm message to the sprinklers to activate the water flow. The automatic heating system is composed of the same temperature sensors of the fire alarm system, a base station and various heaters. Temperature sensors send readings every 30 seconds to a base station. This is placed at the centre forming a star topology. The base station averages the readings and decides whether or not the central heating system should be on.