Enabling High-Level ApplicationDevelopment for Internet of ThingsPankesh Patel, Animesh Pathak, Damien Cassou, and Valerie...
Outline Characteristics of Internet of Things Application development challenges Related work Our approach Overview ...
Characteristics of ``things’’ May have sensorsattached May have actuatorsattached Can communicate withother things Can...
Internet of Things A networked infrastructure that connects physicaland virtual things.[CASAGRAS project] http://www.grif...
Marriage of sensor network and pervasivecomputingPankesh Patel et. al.5Internet of thingsSensor network Pervasive computin...
Multiple application domainsPankesh Patel et. al.6BuildingAutomationTraffic Controland Management Health-careInternet of t...
Outline Characteristics of Internet of Things Application development challenges Related work Our approach Overview ...
Application Development Challenges Heterogeneity Types (e.g., sensor, actuator,storage). Implementations (e.g., android...
Application Development Challenges Heterogeneity Large Scale Hundreds to thousandsof devices equipped withsensors, actu...
Application Development Challenges Heterogeneity Large Scale Multiple expertiseApplication domainSoftware designProgram...
Application Development Challenges Heterogeneity Large Scale Multiple Expertise Poor Automation Interface hardware an...
Outline Characteristics of IoT Application development challenges Related work Our approach Overview A simple exampl...
Related workApproaches Motivation Examples DisadvantagesDatabase • Provide SQL-likeinterface• Address scale for data-colle...
Outline Characteristics of IoT Application development challenges Related work Our approach Overview A simple exampl...
Application development methodologyPankesh Patel et. al.15Research Challenges SolutionMultiple expertise Clear division of...
Pankesh Patel et. al.16DomainExpertDomainSpecificationSpecifyInputReferOutput1 Application domain specification usingvocab...
Pankesh Patel et. al.17Architecture SpecificationApplicationDesignerArchitectureSpecification2DomainExpertVocabularySpecif...
Pankesh Patel et. al.18Implementing Software ComponentSystemDesignerArchitectureSpecification2ApplicationLogicApplicationD...
Pankesh Patel et. al.19Target Deployment SpecificationSystemDesignerArchitectureSpecification2ApplicationLogicApplicationD...
Pankesh Patel et. al.20MappingApplicationDesignerArchitectureSpecification2ApplicationLogicApplicationDeveloperFrameworkGe...
Pankesh Patel et. al.21Writing Device-DriversApplicationDesignerArchitectureSpecification2ApplicationLogicApplicationDevel...
Pankesh Patel et. al.22LinkingApplicationDesignerArchitectureSpecification2ApplicationLogicApplicationDeveloperFrameworkGe...
Pankesh Patel et. al.23Application development methodologyApplicationDesignerArchitectureSpecification2ApplicationLogicApp...
Example:Smart Buildings
Smart BuildingsBuilding 1Alarm25 Pankesh Patel et. al.Building 2Building 3
Smart BuildingsBuilding 1Smoke detector Temperature sensorFire ComputationFire ComputationFire ComputationAlarmTemperature...
Domain Specification: Information sourcesTemperatureSensorSmokeDetectorFireComputationFireStateFireDetectAlarmRoomBuilding...
Domain Specification: ActuatorsTemperatureSensorSmokeDetectorFireComputationFireStateFireDetectAlarmRoomBuildingFloorInfor...
Architecture Specification:computational componentsTemperatureSensorSmokeDetectorFireComputationFireStateFireDetectAlarmRo...
Generating framework and implementingapplication logicFireComputationconsume tempMeasurement from hops : 0 : Room;consume ...
Evaluation of our approach (1/2)31Goal of our evaluation:• To demonstrate the advantage of our approach over manualapplica...
Evaluation of our approach (2/2)32*Lines of code using Metrics 1.3.6 Eclipse plugin, ** Code coverage using EclEmma Eclips...
Outline Characteristics of IoT Application development challenges Related work Our approach Overview A simple exampl...
ConclusionChallenges Solved in our approachAbstractingHeterogeneity• Vocabulary language (Different types of resources ,Di...
Outline Characteristics of IoT Application development challenges Related work Our approach Overview A simple exampl...
Ongoing and future workPankesh Patel et. al.36 Evaluation Current evaluation ispreliminary. Need to look at Reusabilit...
Ongoing and future workPankesh Patel et. al.37 Evaluation Development life-cycleand future changes Change in applicatio...
Ongoing and future workPankesh Patel38 Evaluation Development life-cycleand future changes End-user applications Origi...
Ongoing and future workPankesh Patel et. al.39 Evaluation Development life-cycleand future changes End-user application...
Thanks for listening to me pankesh.patel@inria.frPankesh Patel et. al.40
Upcoming SlideShare
Loading in …5
×

Enabling high level application development for internet of things

719 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
719
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Enabling high level application development for internet of things

  1. 1. Enabling High-Level ApplicationDevelopment for Internet of ThingsPankesh Patel, Animesh Pathak, Damien Cassou, and Valerie IssarnyInria Paris Rocquencourt, FranceS-CUBE, 12th June, 2013
  2. 2. Outline Characteristics of Internet of Things Application development challenges Related work Our approach Overview A simple example Evaluation Conclusions Ongoing and future workPankesh Patel et. al.2
  3. 3. Characteristics of ``things’’ May have sensorsattached May have actuatorsattached Can communicate withother things Can be involved ininformation exchangebetween physical andvirtual worldPankesh Patel et. al.3
  4. 4. Internet of Things A networked infrastructure that connects physicaland virtual things.[CASAGRAS project] http://www.grifs-project.eu/data/File/CASAGRAS%20FinalReport%20(2).pdfPankesh Patel et. al.4
  5. 5. Marriage of sensor network and pervasivecomputingPankesh Patel et. al.5Internet of thingsSensor network Pervasive computingLargeScaleHeterogeneity[IoTRoadMap] Antoine de Saint-Exupery, Internet of Things Strategic Research Roadmap,2009
  6. 6. Multiple application domainsPankesh Patel et. al.6BuildingAutomationTraffic Controland Management Health-careInternet of things[IoTSurvey] Luigi Atzori, Antonio lera, Giacomo Morabito, The internet of Things Survey,2010
  7. 7. Outline Characteristics of Internet of Things Application development challenges Related work Our approach Overview A simple example Evaluation Conclusion Ongoing and future workPankesh Patel et. al.7
  8. 8. Application Development Challenges Heterogeneity Types (e.g., sensor, actuator,storage). Implementations (e.g., android,iOS). Unit of measurement (e.g., C,F). Interaction modes(e.g., publish/subscribe,request/response, command).8 Pankesh Patel et. al.Ideally, it should not be the developers responsibilityto handle this heterogeneity.
  9. 9. Application Development Challenges Heterogeneity Large Scale Hundreds to thousandsof devices equipped withsensors, actuators,storages.9 Pankesh Patel et. al.Need of adequate abstractions to present the largescale in suitable manner .
  10. 10. Application Development Challenges Heterogeneity Large Scale Multiple expertiseApplication domainSoftware designProgrammingLanguageDistributed systemDevice-specificknowledge10 Pankesh Patel et. al.Need of separating all development concernsaccording to the stakeholders expertise and skills
  11. 11. Application Development Challenges Heterogeneity Large Scale Multiple Expertise Poor Automation Interface hardware andsoftware components Interface software andmiddleware components Deployment11 Pankesh Patel et. al.Ideally, the glue code should be generated, allowingthe stakeholders to focus only on the applicationlogic.Distributed Systems(i.e., middleware)Application logic(e.g., calculating avg.temperature)Device drivers(e.g. code for accessing sensordata from android device)Application logic(e.g., calculating avg.temperature)
  12. 12. Outline Characteristics of IoT Application development challenges Related work Our approach Overview A simple example Evaluation Conclusion Ongoing and future workPankesh Patel et. al.12
  13. 13. Related workApproaches Motivation Examples DisadvantagesDatabase • Provide SQL-likeinterface• Address scale for data-collecting application• TinyDB• Cougar• SINA• Largely for homogeneousdevices• Missing development life-cycleLibrary- ortoolkit based• Offer abstractions toimplement applications• Address heterogeneitypartially• Gaia with Olympus• Context toolkit• Lots of glue code• Poor automation atdeployment• No separation of concernsfor stakeholders• Missing development life-cycleModel-driven • Raise the level ofabstractions in programspecifications (inUML/textual language)and transforms intoworking implementations• ATaG• DiaSuite• PervML• Only cover a limitedsubset of requirementsPankesh Patel et. al.13
  14. 14. Outline Characteristics of IoT Application development challenges Related work Our approach Overview A simple example Evaluation Conclusion Ongoing and future workPankesh Patel et. al.14
  15. 15. Application development methodologyPankesh Patel et. al.15Research Challenges SolutionMultiple expertise Clear division of roles of stakeholders.Poor Automation Code generators and deployment modules(mapper and linker).Heterogeneity Abstractions in modeling languages.Scale Abstractions in modeling language.
  16. 16. Pankesh Patel et. al.16DomainExpertDomainSpecificationSpecifyInputReferOutput1 Application domain specification usingvocabulary language• Regions (e.g., room, floor, building)• Sensors (e.g. temp. sensor, smokedetector)• Actuators (e.g., heater, alarm)• StoragesDomain Specification
  17. 17. Pankesh Patel et. al.17Architecture SpecificationApplicationDesignerArchitectureSpecification2DomainExpertVocabularySpecification1Architecture specification using architecturelanguage.• Computational components (e.g., calculatingavg. temp, detecting fire)• Interactions among computationalcomponentsSpecifyInputReferOutput
  18. 18. Pankesh Patel et. al.18Implementing Software ComponentSystemDesignerArchitectureSpecification2ApplicationLogicApplicationDeveloperFrameworkGeneratorApplicationFramework34DomainExpertVocabularySpecification1Generated application framework ingeneral purpose language.Application developers writes application logic(e.g. Java code for calculating avg. temp. ) ontop of programming framework.SpecifyInputReferOutput
  19. 19. Pankesh Patel et. al.19Target Deployment SpecificationSystemDesignerArchitectureSpecification2ApplicationLogicApplicationDeveloperFrameworkGeneratorApplicationFramework4NetworkManagerDeploymentdescriptionDomainExpertVocabularySpecification135Target deployment using deployment language.• Device region• Device properties• Type ( android, Sunspot)• Name• Mobile ( true or false)• IdentificationSpecifyInputReferOutput
  20. 20. Pankesh Patel et. al.20MappingApplicationDesignerArchitectureSpecification2ApplicationLogicApplicationDeveloperFrameworkGeneratorApplicationFramework34NetworkManager5NetworkdescriptionMapperMappingfiles6Decides the specific device whereeach software component will berunning.DomainExpertVocabularySpecification1SpecifyInputReferOutput
  21. 21. Pankesh Patel et. al.21Writing Device-DriversApplicationDesignerArchitectureSpecification2ApplicationLogicApplicationDeveloperFrameworkGeneratorApplicationFramework34NetworkManager5DeploymentdescriptionMapperMappingfiles6DomainExpertVocabularySpecification1DeviceDeveloperDeviceDrivers7Writes device drivers• sensor driver• actuator driver• storage driverSpecifyInputReferOutput
  22. 22. Pankesh Patel et. al.22LinkingApplicationDesignerArchitectureSpecification2ApplicationLogicApplicationDeveloperFrameworkGeneratorApplicationFramework347DeviceDeveloperDeviceDriversNetworkManager5DeploymentdescriptionMapperMappingfiles6System Linker8 Combines the generated codeinto the actual code to bedeployed on the real devices.DomainExpertVocabularySpecification1SpecifyInputReferOutput
  23. 23. Pankesh Patel et. al.23Application development methodologyApplicationDesignerArchitectureSpecification2ApplicationLogicApplicationDeveloperFrameworkGeneratorApplicationFramework347DeviceDeveloperDeviceDriversNetworkManager5DeploymentdescriptionMapperMappingfiles6System Linker8DomainExpertVocabularySpecification1SpecifyInputReferOutput
  24. 24. Example:Smart Buildings
  25. 25. Smart BuildingsBuilding 1Alarm25 Pankesh Patel et. al.Building 2Building 3
  26. 26. Smart BuildingsBuilding 1Smoke detector Temperature sensorFire ComputationFire ComputationFire ComputationAlarmTemperatureSensorSmokeDetectorFireStateFireStateFireStateFireComputationFireStateFireDetectFireDetectAlarmRoomFloorInformationSources(E.g., Sensor, Storage)ComputationalcomponentsOn( )tempMeasurementSmokePresence26 Pankesh Patel et. al.Actuators(e.g., alarm, twitter )Building
  27. 27. Domain Specification: Information sourcesTemperatureSensorSmokeDetectorFireComputationFireStateFireDetectAlarmRoomBuildingFloorInformationSources(E.g., Sensor, Storage)ComputationalcomponentsOn( )tempMeasurementSmokePresenceTempStructtempValue : double ;unitOfMeasurement : String ;TemperatureSensorgenerate tempMeasurement: TempStruct;• One entity description for manyimplementations (e.g., Android, SunSpot).• One entity description for many instances.27 Pankesh Patel et. al.Actuators(e.g., alarm, twitter )
  28. 28. Domain Specification: ActuatorsTemperatureSensorSmokeDetectorFireComputationFireStateFireDetectAlarmRoomBuildingFloorInformationSources(E.g., Sensor, Storage)ComputationalcomponentsOn( )tempMeasurementSmokePresenceAlarmaction On();28 Pankesh Patel et. al.Actuators(e.g., alarm, twitter )
  29. 29. Architecture Specification:computational componentsTemperatureSensorSmokeDetectorFireComputationFireStateFireDetectAlarmRoomBuildingFloorInformationSources(E.g., Sensor, Storage)ComputationalcomponentsOn( )tempMeasurementSmokePresenceFireComputationconsume tempMeasurement from hops : 0 : Room;consume smokePresence from hops : 0 : Room;generate FireComputation : FireStruct ;in-region : RoomScope of consumingdata.Scope ofDeploymentScope of consuming and scope of deploymentenables hierarchical clustering.29 Pankesh Patel et. al.Actuators(e.g., alarm, twitter )
  30. 30. Generating framework and implementingapplication logicFireComputationconsume tempMeasurement from hops : 0 : Room;consume smokePresence from hops : 0 : Room;generate FireComputation : FireStruct ;in-region : Roompublic void notifiedReceived (String event Name, Object arg,Device deviceInfo) {if (eventName.equals(“tempMeasurement”) {onNewSmokePresence ((TempStruct) arg) ;}}public abstract void onNewSmokePresence(TempStruct arg);CompilergeneratesProgrammerimplementsapplicationlogic30 Pankesh Patel et. al.
  31. 31. Evaluation of our approach (1/2)31Goal of our evaluation:• To demonstrate the advantage of our approach over manualapplication development approach.Pankesh Patel et. al.ComponentTypeOffice environmentapplicationFireDetectSensing Temperature Sensor,BadgeReaderTemperature SensorSmoke DetectorActuating HeaterMonitorDoor, Alarm,SprinklerSystem,LightStorage ProfileDB -Computational RoomAvgTemp,FloorAvgTemp,BuildingAvgTemp,Proximity,RegulateTemp,DisplayTempHouseFireComputation,HouseFireComputation,HcFireComputation,HouseFireControllerHcFireController
  32. 32. Evaluation of our approach (2/2)32*Lines of code using Metrics 1.3.6 Eclipse plugin, ** Code coverage using EclEmma Eclipse plugin.Development efforts:• It is directly proportional to the lines of code.• The more hand-written lines of code there is, the efforts required todevelop application is longer.Pankesh Patel et. al.Specification7%Applicationlogic10%DeviceDrivers9%Generatedcode*74%Lines of CodeOffice environmentmanagementExecuted code**90.7 %Fire DetectSpecification7% Applicationlogic9%Devicedrivers12%Generatedcode72%Lines of codeExecuted code**93.7 %
  33. 33. Outline Characteristics of IoT Application development challenges Related work Our approach Overview A simple example Evaluation Conclusion Ongoing and future workPankesh Patel et. al.33
  34. 34. ConclusionChallenges Solved in our approachAbstractingHeterogeneity• Vocabulary language (Different types of resources ,Different types of implementations)• Architecture language (different types of interactions)Abstracting Scale • Architecture and vocabulary language ( Scope constructs)Multiple Expertise • Separation of concernPoor Automation • Compiler generates Programming framework, mapper andlinker module34 Pankesh Patel et. al.
  35. 35. Outline Characteristics of IoT Application development challenges Related work Our approach Overview A simple example Evaluation Conclusion Ongoing and future workPankesh Patel et. al.35
  36. 36. Ongoing and future workPankesh Patel et. al.36 Evaluation Current evaluation ispreliminary. Need to look at Reusability Expressiveness of ourmodeling languages. Development efforts onreal devices and realmiddleware
  37. 37. Ongoing and future workPankesh Patel et. al.37 Evaluation Development life-cycleand future changes Change in applicationrequirements Change in deploymentinfrastructure Evolution in devicedriversDesignImplementationDeploymentFuture changes
  38. 38. Ongoing and future workPankesh Patel38 Evaluation Development life-cycleand future changes End-user applications Originator: an usertriggers an event orquery to the application. Recipient: an user isnotified a final results bythe application. Abstractions forspecifying end-userinterfaces. Possible User interfacedescription languages(UIDLs) to look UIML UsiXML XUL Others
  39. 39. Ongoing and future workPankesh Patel et. al.39 Evaluation Development life-cycleand future changes End-user applications Integrated Toolkit Eclipse plugin for thestakeholders involved inapplication developmentprocess
  40. 40. Thanks for listening to me pankesh.patel@inria.frPankesh Patel et. al.40

×