Enabling high level application development for internet of things
Enabling High-Level ApplicationDevelopment for Internet of ThingsPankesh Patel, Animesh Pathak, Damien Cassou, and Valerie IssarnyInria Paris Rocquencourt, FranceS-CUBE, 12th June, 2013
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
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
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
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
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
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
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.
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 .
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
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)
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
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
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
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.
Pankesh Patel et. al.19Target Deployment SpecificationSystemDesignerArchitectureSpecification2ApplicationLogicApplicationDeveloperFrameworkGeneratorApplicationFramework4NetworkManagerDeploymentdescriptionDomainExpertVocabularySpecification135Target deployment using deployment language.• Device region• Device properties• Type ( android, Sunspot)• Name• Mobile ( true or false)• IdentificationSpecifyInputReferOutput
Pankesh Patel et. al.20MappingApplicationDesignerArchitectureSpecification2ApplicationLogicApplicationDeveloperFrameworkGeneratorApplicationFramework34NetworkManager5NetworkdescriptionMapperMappingfiles6Decides the specific device whereeach software component will berunning.DomainExpertVocabularySpecification1SpecifyInputReferOutput
Pankesh Patel et. al.22LinkingApplicationDesignerArchitectureSpecification2ApplicationLogicApplicationDeveloperFrameworkGeneratorApplicationFramework347DeviceDeveloperDeviceDriversNetworkManager5DeploymentdescriptionMapperMappingfiles6System Linker8 Combines the generated codeinto the actual code to bedeployed on the real devices.DomainExpertVocabularySpecification1SpecifyInputReferOutput
Pankesh Patel et. al.23Application development methodologyApplicationDesignerArchitectureSpecification2ApplicationLogicApplicationDeveloperFrameworkGeneratorApplicationFramework347DeviceDeveloperDeviceDriversNetworkManager5DeploymentdescriptionMapperMappingfiles6System Linker8DomainExpertVocabularySpecification1SpecifyInputReferOutput
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
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 %
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
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.
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
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
Ongoing and future workPankesh Patel et. al.37 Evaluation Development life-cycleand future changes Change in applicationrequirements Change in deploymentinfrastructure Evolution in devicedriversDesignImplementationDeploymentFuture changes
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
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
Thanks for listening to me email@example.comPankesh Patel et. al.40