Early exploring design alterna1ves of smart sensor
so5ware with actors
Jean-‐Philippe Schneider, Zoé Drey, Jean-‐Christophe Le Lann
IWST 2013 – September, 10th 2013
Cabled Seafloor Observatory
Source: MeDON project (hKp://medon.info)
2
Sensors Servers
Large amount of generated data to handle
Smart Sensors
3
Sensing Data disseminaRon Processing
Smart Sensors
4
Sensing Data disseminaRon Processing
Embedded soUware
Prototyping
1. Enable to quickly design various alternaRves of architectures: – ComputaRon – CommunicaRon
2. Test the alternaRves and help to make a choice
5
Requirements
6
Test: debug facili1es
Quick modificaRons: modularity
Modularity
7
Composite structure
P1 P2 P3
Sensor 1
Seafloor
Sensor 2
SeparaRon of computaRon and communicaRon
Actor-‐based approach
8
Internal State
Behavior
MessageBox
Object
InteracRng
Concurrent
• Actors are easy to implement
• Good abstracRons for handling composiRon
Smalltalk for modularity
• Efficient integrated debug environment
Smalltalk for test
• Efficient integrated debug environment
• Extendable Debug faciliRes
Smalltalk for test
Biniou
Our framework
12
ComputaRon Actor 1
CommunicaRon Actor
ComputaRon Actor 2
Our framework
13
Agile architecture
SeparaRon of concerns
ComputaRon Actor 1
CommunicaRon Actor
ComputaRon Actor 2
Our framework
14
ComputaRon Actor 1
CommunicaRon Actor
ComputaRon Actor 2
Put Get
Data Ack
Smalltalk defineClass: #Message isPut ^false. isGet ^false. …
Our framework
15
Smalltalk defineClass: #Get superclass: #{Message} instanceVariableNames: 'consumer ‘ isGet ^true.
ComputaRon Actor 1
CommunicaRon Actor
ComputaRon Actor 2
Put Get
Data Ack
Our framework
16
message := messageQueue next. (message isGet) ifTrue: [ shouldConRnue := (self getReceived: message). ].
ComputaRon Actor 1
CommunicaRon Actor
ComputaRon Actor 2
Put Get
Data Ack
Our framework
17
readerMq := getMessage consumer. isPutReceived := false. [isPutReceived not] whileTrue: […]
ComputaRon Actor 1
CommunicaRon Actor
ComputaRon Actor 2
Put Get
Data Ack
Conclusion and Future Work
18
Agile architecture for quick design and test
Well-‐suited environment for fast prototyping
Conclusion and Future Work
19
Hardware emulaRon
ComposiRon of models of communicaRon for Sea floor
observatories