HAL Id: hal-01319974
https://hal.inria.fr/hal-01319974
Submitted on 23 May 2016
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Orchestrating Masses of Sensors; A Design-Driven Development Approach
Milan Kabáč, Charles Consel
To cite this version:
Milan Kabáč, Charles Consel. Orchestrating Masses of Sensors; A Design-Driven Development Ap- proach. ACM SIGPLAN conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH), Oct 2015, Pittsburgh, Pennsylvania, United States. �hal-01319974�
O O r r c c h h e e s s t t r r a a t t i i n n g g M M a a s s s s e e s s o o f f S S e e n n s s o o r r s s : :
A A D D e e s s i i g g n n - - D D r r i i v v e e n n D D e e v v e e l l o o p p m m e e n n t t A A p p p p r r o o a a c c h h
M M i i l l a a n n K K a a b b á á č č
P P h h o o e e n n i i x x R R e e s s e e a a r r c c h h G G r r o o u u p p I I n n r r i i a a B B o o r r d d e e a a u u x x
C C h h a a r r l l e e s s C C o o n n s s e e l l
P P h h o o e e n n i i x x R R e e s s e e a a r r c c h h G G r r o o u u p p I I n n r r i i a a B B o o r r d d e e a a u u x x
Propose a software development approach to taming the many dimensions of the orchestration of masses of objects.
Goal
HOME AUTOMATION
AGRICULTURE SMART CITIES HEALTH CARE
TRANSPORT SECURITY
INTERNET of THINGS
Data Gathering
Service Discovery
DiaSwarm
Data Processing Actuating
How do we proceed when selecting objects of interest among myriad of objects?
Scaling Up
Designers Testers Developers
Compiler
Implementation support Application
design Execution platform back-end Programming framework Simulation Application Control
Sense Compute
Devices Environment
Controllers Contexts
context data
orders
raw data
Actions Sources
act on
sensed by
Domain-specific design language
The DiaSwarm design language allows the developer to declare what an application does, prior to programming it. It provides high-level constructs to declare delivery models of sensors at design time and revolves around the Sense/Compute/Control paradigm.
Data Processing
How do we proceed when processing large amounts of data?
What support is needed for actuating devices?
What are the models used by sensors to deliver data to applications?
Context
Network Retargetability References
[1 ] Charles Consel, Milan Kabac. Internet of Things: A Challenge for Software Engineering, ERCIM News, Smart Cities,, 201 4, Smart Cities, [2] D. Miorandi et al.: Internet ofthings: Vision, applications and research challenges, Ad Hoc Networks, vol. 1 0, no. 7, 201 2
[3] D. Cassou, et al., Towards A Tool- Based Development Methodology for Pervasive
Computing Applications, IEEE Transactions on Software Engineering, 201 1
Large-Scale Orchestration with DiaSwarm
• Domain-specific design language, which builds upon DiaSpec
• Provides high-level declarative constructs dedicated to manipulating objects at a large scale
• Revolves around the Sense/Compute/Control paradigm
Design-Specific Programming Frameworks
context
ParkingAvailabilityas
Availability[] {when periodic
presencefrom
PresenceSensor <1 0min
>grouped by
parkingLotwith map as Boolean reduce as Integer always publish
;}
• A compiler produces programming support customized with respect to a given DiaSwarm design
By assessing the new requirements induced by scaling to city-wide sensor networks, we can extend DiaSpec to improve orchestration, specifically by:
• Introducing periodicity for gathering data from sensors
• Grouping sensors using application-tailored high-level constructs
• Exposing structural parallelism for data processing
Parking Availability
24 hr
Average
Occupancy 1 0 min
SensorCO2
level Presence
Sensor
presence
Parking State
Alarm
Batch
Micro-batch Stream