SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
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	
  
Message
Box	
  
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	
  

Contenu connexe

Similaire à Early exploring design alterna1ves of smart sensor so5ware with actors

Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialBenjamin Cabé
 
Predicting Space Weather with Docker
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with DockerDocker, Inc.
 
Telemetry Display and Archival on Linux Platform
Telemetry Display and Archival on Linux PlatformTelemetry Display and Archival on Linux Platform
Telemetry Display and Archival on Linux PlatformCristi Onofrei
 
SHOWDOWN: Threat Stack vs. Red Hat AuditD
SHOWDOWN: Threat Stack vs. Red Hat AuditDSHOWDOWN: Threat Stack vs. Red Hat AuditD
SHOWDOWN: Threat Stack vs. Red Hat AuditDThreat Stack
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBenjamin Cabé
 
Using bluemix predictive analytics service in Node-RED
Using bluemix predictive analytics service in Node-REDUsing bluemix predictive analytics service in Node-RED
Using bluemix predictive analytics service in Node-REDLionel Mommeja
 
CNCF JLM Meetup - Making Peace With the Grim Reaper
CNCF JLM Meetup  - Making Peace With the Grim ReaperCNCF JLM Meetup  - Making Peace With the Grim Reaper
CNCF JLM Meetup - Making Peace With the Grim ReaperKomodor
 
Actor, an elegant model for concurrent and distributed computation
Actor, an elegant model for concurrent and distributed computationActor, an elegant model for concurrent and distributed computation
Actor, an elegant model for concurrent and distributed computationAlessio Coltellacci
 
Protecting Financial Networks from Cyber Crime
Protecting Financial Networks from Cyber CrimeProtecting Financial Networks from Cyber Crime
Protecting Financial Networks from Cyber CrimeLancope, Inc.
 
Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618Arnaud Le Hors
 
IThome DevOps Summit - IoT、docker與DevOps
IThome DevOps Summit - IoT、docker與DevOpsIThome DevOps Summit - IoT、docker與DevOps
IThome DevOps Summit - IoT、docker與DevOpsSimon Su
 
Prometheus Training
Prometheus TrainingPrometheus Training
Prometheus TrainingTim Tyler
 
Programming The Real World
Programming The Real WorldProgramming The Real World
Programming The Real Worldpauldeng
 
Automated Cloud-Native Incident Response with Kubernetes and Service Mesh
Automated Cloud-Native Incident Response with Kubernetes and Service MeshAutomated Cloud-Native Incident Response with Kubernetes and Service Mesh
Automated Cloud-Native Incident Response with Kubernetes and Service MeshMatt Turner
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkbanq jdon
 

Similaire à Early exploring design alterna1ves of smart sensor so5ware with actors (20)

Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
 
Predicting Space Weather with Docker
Predicting Space Weather with DockerPredicting Space Weather with Docker
Predicting Space Weather with Docker
 
Telemetry Display and Archival on Linux Platform
Telemetry Display and Archival on Linux PlatformTelemetry Display and Archival on Linux Platform
Telemetry Display and Archival on Linux Platform
 
SHOWDOWN: Threat Stack vs. Red Hat AuditD
SHOWDOWN: Threat Stack vs. Red Hat AuditDSHOWDOWN: Threat Stack vs. Red Hat AuditD
SHOWDOWN: Threat Stack vs. Red Hat AuditD
 
Bitcoin Price Prediction
Bitcoin Price PredictionBitcoin Price Prediction
Bitcoin Price Prediction
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetup
 
Using bluemix predictive analytics service in Node-RED
Using bluemix predictive analytics service in Node-REDUsing bluemix predictive analytics service in Node-RED
Using bluemix predictive analytics service in Node-RED
 
CNCF JLM Meetup - Making Peace With the Grim Reaper
CNCF JLM Meetup  - Making Peace With the Grim ReaperCNCF JLM Meetup  - Making Peace With the Grim Reaper
CNCF JLM Meetup - Making Peace With the Grim Reaper
 
Actor, an elegant model for concurrent and distributed computation
Actor, an elegant model for concurrent and distributed computationActor, an elegant model for concurrent and distributed computation
Actor, an elegant model for concurrent and distributed computation
 
A docker love story
A docker love storyA docker love story
A docker love story
 
Protecting Financial Networks from Cyber Crime
Protecting Financial Networks from Cyber CrimeProtecting Financial Networks from Cyber Crime
Protecting Financial Networks from Cyber Crime
 
Dagster @ R&S MNT
Dagster @ R&S MNTDagster @ R&S MNT
Dagster @ R&S MNT
 
UDP Report
UDP ReportUDP Report
UDP Report
 
Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618Hyperledger Fabric Application Development 20190618
Hyperledger Fabric Application Development 20190618
 
IThome DevOps Summit - IoT、docker與DevOps
IThome DevOps Summit - IoT、docker與DevOpsIThome DevOps Summit - IoT、docker與DevOps
IThome DevOps Summit - IoT、docker與DevOps
 
Prometheus Training
Prometheus TrainingPrometheus Training
Prometheus Training
 
Project report,nowrin
Project report,nowrinProject report,nowrin
Project report,nowrin
 
Programming The Real World
Programming The Real WorldProgramming The Real World
Programming The Real World
 
Automated Cloud-Native Incident Response with Kubernetes and Service Mesh
Automated Cloud-Native Incident Response with Kubernetes and Service MeshAutomated Cloud-Native Incident Response with Kubernetes and Service Mesh
Automated Cloud-Native Incident Response with Kubernetes and Service Mesh
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
 

Plus de ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

Plus de ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Dernier

DONAL88 >LINK SLOT PG SOFT TERGACOR 2024
DONAL88 >LINK SLOT PG SOFT TERGACOR 2024DONAL88 >LINK SLOT PG SOFT TERGACOR 2024
DONAL88 >LINK SLOT PG SOFT TERGACOR 2024DONAL88 GACOR
 
JORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdf
JORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdfJORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdf
JORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdfArturo Pacheco Alvarez
 
JORNADA 2 LIGA MUROBASQUETBOL1 2024.docx
JORNADA 2 LIGA MUROBASQUETBOL1 2024.docxJORNADA 2 LIGA MUROBASQUETBOL1 2024.docx
JORNADA 2 LIGA MUROBASQUETBOL1 2024.docxArturo Pacheco Alvarez
 
Introduction to Basketball-PowerPoint Presentation
Introduction to Basketball-PowerPoint PresentationIntroduction to Basketball-PowerPoint Presentation
Introduction to Basketball-PowerPoint PresentationJuliusMacaballug
 
Project & Portfolio, Market Analysis: WWE
Project & Portfolio, Market Analysis: WWEProject & Portfolio, Market Analysis: WWE
Project & Portfolio, Market Analysis: WWEDeShawn Ellis
 
Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...
Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...
Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...World Wide Tickets And Hospitality
 
Italy Vs Albania Euro Cup 2024 Italy's Strategy for Success.docx
Italy Vs Albania Euro Cup 2024 Italy's Strategy for Success.docxItaly Vs Albania Euro Cup 2024 Italy's Strategy for Success.docx
Italy Vs Albania Euro Cup 2024 Italy's Strategy for Success.docxWorld Wide Tickets And Hospitality
 
Clash of Titans_ PSG vs Barcelona (1).pdf
Clash of Titans_ PSG vs Barcelona (1).pdfClash of Titans_ PSG vs Barcelona (1).pdf
Clash of Titans_ PSG vs Barcelona (1).pdfMuhammad Hashim
 
Benifits of Individual And Team Sports-Group 7.pptx
Benifits of Individual And Team Sports-Group 7.pptxBenifits of Individual And Team Sports-Group 7.pptx
Benifits of Individual And Team Sports-Group 7.pptxsherrymieg19
 
PPT on INDIA VS PAKISTAN - A Sports Rivalry
PPT on INDIA VS PAKISTAN - A Sports RivalryPPT on INDIA VS PAKISTAN - A Sports Rivalry
PPT on INDIA VS PAKISTAN - A Sports Rivalryanirbannath184
 

Dernier (11)

NATIONAL SPORTS DAY WRITTEN QUIZ by QUI9
NATIONAL SPORTS DAY WRITTEN QUIZ by QUI9NATIONAL SPORTS DAY WRITTEN QUIZ by QUI9
NATIONAL SPORTS DAY WRITTEN QUIZ by QUI9
 
DONAL88 >LINK SLOT PG SOFT TERGACOR 2024
DONAL88 >LINK SLOT PG SOFT TERGACOR 2024DONAL88 >LINK SLOT PG SOFT TERGACOR 2024
DONAL88 >LINK SLOT PG SOFT TERGACOR 2024
 
JORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdf
JORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdfJORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdf
JORNADA 3 LIGA MURO 2024GHGHGHGHGHGH.pdf
 
JORNADA 2 LIGA MUROBASQUETBOL1 2024.docx
JORNADA 2 LIGA MUROBASQUETBOL1 2024.docxJORNADA 2 LIGA MUROBASQUETBOL1 2024.docx
JORNADA 2 LIGA MUROBASQUETBOL1 2024.docx
 
Introduction to Basketball-PowerPoint Presentation
Introduction to Basketball-PowerPoint PresentationIntroduction to Basketball-PowerPoint Presentation
Introduction to Basketball-PowerPoint Presentation
 
Project & Portfolio, Market Analysis: WWE
Project & Portfolio, Market Analysis: WWEProject & Portfolio, Market Analysis: WWE
Project & Portfolio, Market Analysis: WWE
 
Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...
Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...
Spain Vs Italy Showdown Between Italy and Spain Could Determine UEFA Euro 202...
 
Italy Vs Albania Euro Cup 2024 Italy's Strategy for Success.docx
Italy Vs Albania Euro Cup 2024 Italy's Strategy for Success.docxItaly Vs Albania Euro Cup 2024 Italy's Strategy for Success.docx
Italy Vs Albania Euro Cup 2024 Italy's Strategy for Success.docx
 
Clash of Titans_ PSG vs Barcelona (1).pdf
Clash of Titans_ PSG vs Barcelona (1).pdfClash of Titans_ PSG vs Barcelona (1).pdf
Clash of Titans_ PSG vs Barcelona (1).pdf
 
Benifits of Individual And Team Sports-Group 7.pptx
Benifits of Individual And Team Sports-Group 7.pptxBenifits of Individual And Team Sports-Group 7.pptx
Benifits of Individual And Team Sports-Group 7.pptx
 
PPT on INDIA VS PAKISTAN - A Sports Rivalry
PPT on INDIA VS PAKISTAN - A Sports RivalryPPT on INDIA VS PAKISTAN - A Sports Rivalry
PPT on INDIA VS PAKISTAN - A Sports Rivalry
 

Early exploring design alterna1ves of smart sensor so5ware with actors

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