Design and implementation of a platform for hyperconnected cyber physical systems
Ian Thomas
c, Shinji Kikuchi
d, Emmanuel Baccelli
b, Kaspar Schleiser
b, Joerg Doerr
a,∗, Andreas Morgenstern
aaFraunhofer IESE, Fraunhofer-Platz 1, 67663 Kaiserslautern, Germany
bInria, 1 rue Honoré d’Estienne d’Orves, 91120 Palaiseau, France
cFUJITSU RunMyProcess, 3 Rue de Gramont, 75002 Paris, France
dFUJITSU LABORATORIES LTD. 1-1, Kamikodanaka 4-chrome, 211-8588 Kawasaki, Japan
a r t i c l e i n f o
Article history:
Received 30 August 2018 Accepted 31 August 2018 Available online 15 September 2018
a b s t r a c t
TheInternetofThings(IoT)isanareaofgrowingimportanceasmoreandmorecomput- ingcapabilitybecomesembedded intorealworldobjectsand environments. Butatthe sametimeIoT isjust one componentofawidespread shifttowardsanew ageoffed- eration,combiningwithothertrendssuchascloud computing,blockchain andautoma- tiontocreateanewhyperconnectedinfrastructure.Thisinfrastructurewillemergefromthe convergenceoftraditional,cloudandIoT-basedmodelsofcomputing,creatingamorede- centralised,secureanddemocraticcomputingplatformforthefuture.Butwhilebringing significantbenefits,federation alsobringssignificantproblems– in particularthe com- plexityofbuilding,integratingand managingsystemsbuiltusinghighlydistributedand heterogeneousplatforms.Inthispaperwediscussourworkonmodelling,deploymentand managementforthisnewconvergedcomputingenvironment,leveragingpreviousworkon domainlanguages,cloudcomputingandtheWebofThingstoaccelerateanddemocratize thedevelopmentofrealworldhyperconnectedsystems.
© 2018ElsevierB.V.Allrightsreserved.
1. Introduction
TheInternet ofThings(IoT), isan emerging computingparadigmin whicha wide rangeofphysicalobjects -such as machines, vehicles, appliances, wearables etc. - are equippedwith sensing, processingand connectivity features. Analyst firmGartner predicts thatthenumberofdeployedIoT deviceswillgrowfrom5Billionin2015 to25Billionin2020[2], makingIoToneofthemostimportanttrendsinthefieldofcomputerscience[27].
Atthesametime we anticipatethat IoT willcombinewiththecloudto createa newhyperconnectedinfrastructure- a distributedcomputingfabric consistingofmultiplecloud platforms andbillionsofsmartdevices [14,30].Today,however, theseenvironmentsarelargelyviewedasseparate,withdistincttechnologies,toolsandmanagementapproachesappliedto each.Beyondthecollectionofdevice datainthe cloudforfurtheranalysisthereis typicallyvery littlefunctionaloverlap betweenthetwoworldsintoday’spioneeringdeployments,limitingtheutilityofthewhole.
∗ Corresponding author.
E-mail addresses: [email protected] (I. Thomas), [email protected] (S. Kikuchi), [email protected] (E. Baccelli), [email protected] (K. Schleiser), [email protected] (J. Doerr),[email protected] (A. Morgenstern).
https://doi.org/10.1016/j.iot.2018.08.012
2542-6605/© 2018 Elsevier B.V. All rights reserved.
Fig. 1. Bringing the best of web and cloud to the IoT via fast cycles and efficient deployment.
Butaswe drivetowardsincreasinglydistributedinfrastructures,today’scentralizedcloud-basedprocessingmodelswill needtoevolve;realworlddataissimplytoomassive,complexandtimesensitivetoalwayssendtothecloudforprocessing.
Beingableto quicklybuild,test andevolve systemsdeployedacrossthefull rangeofcloud andIoT infrastructurewill thereforebecomecriticaltoplacingintelligenceintherightplaceandmeetingtheneedsofnextgenerationdigitalsystems.
Buttoday’sIoTisnotwellsuitedtofastiterationandrapid,continualdeployment,whilethedivergenceintools,practices andskillsbetweenthecloudandIoTisoftenabarriertomainstreamadoption.Furthermorecurrentworkon‘fog’computing oftenfocusesonrelativelypowerfulin-networkinfrastructureortheuseofhigh-capabilitydevicessuchastheRaspberryPi, buttheseapproachescannotreachallthewaytothefurthestedgesofthenetworkwhereweexpecttoseehugenumbers ofvery lowcost buthighlyconstraineddevicesdeployedover thenext fewyears asIoTpenetrates moredeeplyintothe fabricofsociety.
Inthispaper,wethereforeoutlineourworktoextendtherapiddevelopment,deploymentandevolutioncharacteristics of the cloud into the most constrained corners of the IoT, enablingfast and iterative development of converged hyper- connected solutions in line withcloud best-practices such as modelling,continuous deployment [22], micro-services and serverlessexecution[12].Inthiswayourworkaimstoreducethesignificanttechnicalandskills-basedbarrierstocreating hyperconnected systems,unifythe toolsandpracticesnecessary todeliver themandcreatea moreagile,responsive and configurableIoT– encompassingeverykindofnodefromthemostpowerfultothemostconstrained.
2. FromapassivetoanactiveIoT
In previous work we described our vision to enable composite business ecosystems, a new kind of organizational paradigmin which people co-create value by connecting resources [28]. As partof thiswork we introduced RunMyPro- cess [9], a platform that simplifies the creation of complex,cloud-based applications. By offering users a way to easily model,integrateanddeployprocessesinthecloud,RunMyProcesssimplifiesthedeploymentandmanagementofbusiness functionalityfororganizationsaroundtheworld.
Duringthisprevious workwewere primarilyfocused onextendingthe abilityofourplatform toeasilyconnect tore- sourceswithintheWebofThings[29]andonenablingtheuseofIoT-baseddatawithinreal-timebusinessprocessesaspart ofourvisionofcomposition.Duringreal-worldtesting[32,33],however,wediscoveredthatcollectingdatawasnotenough;
infactwefounda rangeofusecasesinwhichweneededtomovemoreoftheintelligenceoutofthecloudandintothe nodesthemselves.Withoutthisabilitywefoundourselvesunabletodealwithissuesinrealtimeandoftenoverloadedwith thecostsofprocessingworthlessdata.
Intryingtoaddresstheseissues,however,wequicklyranintoseveralproblemsduetothedifferinglifecyclesofcloud andIoT basedsystems.Changestotheoverall systemthatseemedtrivialcouldbeaddressedonthecloudside inminutes butwouldoftencausesignificantdelaysaswecustomizedfirmwareonthedeviceside.Rollingoutupdateswouldbeinstant forthecloud elementsbutbefarmorecomplex forthedevice side.Finding skillsfortheIoTaspects ofthedevelopment wasachallenge,withdeepexpertiseinhardwareandlowlevelprogramminglanguagesapre-requisite forcustomization.
Andthefragmentationoftheenvironment– withdifferenttools,practicesandapproaches– madeitverydifficulttoruna combinedlifecyclewithcommontestinganddeployment; oftenwecould onlytest afteralongandpainfulupdateonthe IoTside.
Forthesereasons wedecided to extendourvision ofcomposition out ofthecloud andintothe IoT, aimingto finda wayofbringing thesamebenefitsoffastdelivery,continuousdeployment andsimplemanagementintothewholehyper- connectedenvironment(Fig.1).
Fig. 2. Top level conceptual architecture.
3. Creatingaconvergedplatformforhyperconnectedsystems
Inconsideringthegoalsforourextendedplatformresearchwethereforesetourselvesfourmajorgoals:
(1)Simplifieddevelopment:Non-specialiseddevelopersshouldbeabletobuild,deployandtestIoTapplications.Giventhat accessibilityofskillsisamajorbarriertothegrowthoftheIoT,preservingthesimplicityandaccessibilityofanestab- lished,model-basedapproachwasakeygoalinextendingthescopeofourplatformtoencompassthedirectdeployment ofIoTdevicebehaviour.
(2)Flexible deployment: Logicshould be ableto be deployed seamlessly to both the cloud andthe IoT.We believe that wemustsimplifyusers’viewoftheworld,enablingthemtofocusonthebusinesslogictheyrequirewithoutworrying aboutthewiderangeofnodes,topologies,protocolsandothertechnicalchallengesthatexistattheintersectionofcloud andIoT.
(3)Easyintegration:Whenmodellingfunctionalityusersshouldbeabletoeasilyconnectresourceswhethertheyphysically exist within thecloud ortheIoT.We wantto reduce unnecessaryfriction betweencloud andIoT systemsinorder to simplifydevelopmentofcomplexdistributedsystemsandencourageinnovation.
(4)Power optimized: Theapproach shouldnot requireexpensivefirmware updatesanddistribution. Workingwithcheap, lowcostdevicesmeanslimitingthepower,energyandbandwidthburdensourapproachplacesontotheIoThardware.
4. Designingaconvergedenvironment
Tomap the capabilities we needed to generate IoT solutions, we began by building a conceptual architecture of the environmentwewishedtorealize.Thisledtoourintendedfunctionalarchitecture,asdescribedinFig.2:
Tomeetour goals we hadsome particularrequirements basedon ourprior experiences. Firstly we wanted toenable lessskilledpeopletomodelthedevice functionalitytheyneededanddeployiteasilyandimmediatelyalongsidetheother cloud-basedcomponentsthatmadeuptheiroverallsolution.Thesecomponentswereassignedtoourcloudplatformlayer.
Attheopposite end- toenablethis-we alsowantedtoeliminate thepainfulcustomizationoffirmware byrelying ona device ‘operatingsystem’ that could hide thedifferences ina broadrangeof standard devicesandcould be extended to offeranexecutioncontainer forprocess definitions.Thesecomponentswereassignedtoourdevicelayer.Buttomakethe twolayersworktogetherweneededtocreateasharedmeta-model.
Oneofthemostimportantelementsofthisarchitecturewasthereforethedomainmeta-modelofconcepts neededto satisfyourimplementationgoals(Fig.3).
Byusingarangeofrealworldusecasesprovided byenterprises– spanningretail,utilities,facilities managementand manufacturing-wewereabletoidentifythecoreconceptsthatneededtobeexpressedwithinourmodelsandsupported byourexecutionenvironment– fromstepswithina processthroughto timers,sensorthresholdsandexternalcommuni- cation.Inaddition weused IPSOsmart objectdefinitionsto capturetheIoT specific informationaboutthecapabilitiesof eachobject.Bybuildingup andusingthismeta-modelwewereableto visualizerequirementsacrossthewholearchitec- ture,fromtheelementsthatneededtobe modelledwithinourcloud environmentto thecapabilitiesourdevice runtime containerneededtointerpretandexecutethemodelledfunctionality(Fig.4).
Fig. 3. Meta-model of solution space.
Fig. 4. Transforming inputs into components via a meta-model.
5. Platformimplementation
TogetherwithourresearchpartnersweimplementedthecapabilitiesoutlinedinFig.2,creatinganenvironmentinwhich isitpossibletomodelanddeployfunctionalitytotheIoTinasimple,fastanditerativeway(Fig.5)
Theimplementedplatformconsistsofthreemainelements– thecloudmodellingandexecutionenvironment,thecom- municationmodelandtheopenIoTplatform.Wewilldescribeeachinturn.
5.1. Cloudmodellingandexecution
The cloud modelling and executionenvironment is the main working environment forpeople using the platform. It provides themodelling,registry,deploymentandmanagement capabilitiesnecessaryforthecreation ofconvergedcloud- IoTsolutions.
Fig. 5. End to end modelling and deployment for IoT.
Fig. 6. IoT functionality modelled as BPMN.
(1)Cloudbasedmodelling:UsingRunMyProcess webuiltan IoTmodellingcanvaswhichenablesuserstographicallymodel and deploy functionalityto be executed in the smart IoT node. It enablesusers to browse the available device types in the registry together with the configurations andavailable resources for each. We considered a range of different modellingtechniquesforbuildingthisfunctionality,inparticular statemachines, butaftertestingdifferentapproaches we concluded thatBPMN 2.0models providedthe bestmatchbetweenthe concepts wehad discoveredin themeta- model andoureaseof userequirements.Inparticular we appreciatedthefact that (i) BPMN2.0isa language which reflects the waythat non-ITusers are accustomedto think and that (ii) ituses an XML-notationwhich wasverbose enough to facilitatetransformationinto other assetssuch ascode,increasing ourarchitecturaloptions. We alsonoted studies whichsuggestedthatBPMNisamoreIoT-awaremodellingapproachwhencomparedwithalternatives suchas eEPC (extendedEPC) orUMLactivitydiagrams[21].Ascreenshot oftheprocess modelledforthe examplescenarioin sectionVIispresentedinFig.6.
(2) Open LWM2Mregistry: Inorder to keeptrack ofthedevices that we wish tomanage andupdate we neededto inte- gratearepository intoourexisting cloudenvironment.Unlikewithcloud deploymentthereisnocentral,homogenous runtimeforthefunctionalitybeingdeveloped,sowe needtounderstandthecapabilitiesofeachdevice andbeableto choosewhichonesshouldreceiveanynewbehaviour.ForIoTdevicemanagementwechosetousetheOMALighweight M2Mstandard [11],givingusastandardsbasedmodelforinteractingwithdevices.Toimplementthiscomponentwe integratedEclipseLeshan,anopensourceimplementationofLWM2MwritteninJava[1].ItreliesonCaliforniumtopro- videCoAPandDTLSsupportandprovidesasimplewebinterfaceforviewingandinteractingwiththelistofconnected LWM2M clients.By integratingLeshan intoour environment we haveenabled peopleto choose the device type they wishtotargetnewfunctionalitytowards.
(3) Javascriptgenerationanddeployment:Oncemodellingiscompleteweneedtodeploythefunctionalitytotheunderlying devices.Weconsideredarangeofapproachesforthisbutfinally decidedtotransformtheBPMNmodelintoJavaScript, duetoitswidespreaduseandtheavailabilityofinterpretersonalargenumberofdeviceplatforms.Inordertoachieve thisthecloudenvironmentdispatches theBPMNmodeltoadomainspecificlanguage(DSL)server.Usingtheconcepts fromthemeta-modeltheDSLserverisabletotransformthemodelintoJavascriptcompatiblewiththedeviceexecution engineanditsenablingAPIs.WeconsideredseverallanguageworkbenchesforthecreationoftheDSLserver,including Xtext,MPS, spoofax,Rascal andANTLR-an excellent comparisonofthedifferentfeatures ofthesepopular DSLwork- benchescanbe foundin[41]– butfinallydecided toadopttheeclipse-basedXtext.We madethisdecisionduetoits wideuseacrossindustry,easeofaccessthroughopensource andthefactthat itcanbeusedtocompiletoanytarget language.
OncetheBPMNmodelistransformedintoJavascriptitisthendeployedtothechosendevicesusingCoAP.
5.2. Cloud-IoTcommunication
Over thelast few years therehas beensignificant andgrowing interest inthe useof internetprotocols to bridgethe traditionally separate worldsof the Web andembeddeddevices inorder to createan Internet of Things. One benefitof suchanapproachistheabilitytoenhancethediscretefunctionalityofindividualdeviceswithadditionallogicinthecloud, using thespeed andscale ofcloud developmentto build more intelligent systems.While ithas beendemonstrated that existing Webarchitecturesandprotocolscan successfullybe usedfortheintegrationofconstraineddevices[34],itisun- likely that such an approach will be suitable for the types of limitedcapability devices we intended to support in this project.
ForthisreasonweadoptedtheConstrainedApplicationProtocol(CoAP)[26].CoAPattemptstocreateabalancebetween consistencyon theone handandrecognitionofthelimitedpower, reliabilityandbandwidth availableto constrainedde- vices on theother.When combined withthewider efforts oftheIETF in creating6LoWPAN[35] we can clearlyseethe foundationsemergingfora WebofThings[36].SupportforCoAPwithin RunMyProcesswasthesubjectofprevious work [29].
In particular while CoAP is not a compression of HTTP it does offer a consistent interaction model along with best practicesformapping[37].UsingCoAP,individualresourcescontinuetobeidentifiedandaddressedviaUniversalResource Identifiers(URIs),representedusingarbitraryformats(suchasJSON orXML)andmanipulatedusingthesamemethodsas HTTP.Thisuseofafamiliarapproachwillreduce thecomplexityofmanaging,integratingandupdatingdistributeddevices fromourcloudplatform.
5.3. OpenIoTplatform
As already discussed the use of an IoT “operating system” was a key enabler to our overall requirements, shielding developersfromthecomplexities andcost oflowleveldevelopment. AnumberofIoToperatingsystems areavailable for the type of hardwareand scenarios we wanted to enable [38]. In thisproject we chose to use RIOT [13,8] as the basic layer of our IoT device platform, an open source operatingsystem witha low memoryfootprint, high modularity,good interoperabilityandsupportforawidevarietyoflow-endIoTdevices.
Inordertomeetthegoalsofourproject,however,weneededtoaddsignificantnewfunctionalitytotheRIOTenviron- ment,includingregistration,deploymentandexecutionsupportforourmodelledcode.
(1) DeviceRegistration:AsdiscussedIoTdeviceregistrationisimplementedusingEclipseLeshan,whichprovidesaLWM2M serverimplementationwritteninJava[1].Tofacilitatethecloudtodeviceinteractions,wehaveimplementedaminimal LWM2MclientwithintheRIOTenvironmenttoregisterwiththeserver.Toexpediteourresearch,thebootstrapprocess usessimplepre-sharedkeys.Asanexampleoftheregistrationdataexchanged atbootstrap,theLWM2MclientinRIOT registers the resources <3/0>, <9/0>, <3303/0> and <3315/0> forthe example scenario discussed in section VI, whichmap respectivelyto theIoT device,the JavaScriptcontainer, thelight sensorandthe sound-levelsensor,asper theOMAstandard[24].
(2) Javascriptcodedeployment:The codedeploymentcomponentreceivesJavascriptfilesandsafelyinstallsthemintothe memoryofthedevice.DeploymentmessagesaresentusingCoAP.Thisapproachisusedasanalternativetothedistri- butionof binaries,allowing smallscripts tobe dynamically updated andexecuted.This isan attractive approachasa
Fig. 7. Test scenario.
Listing 1. Example RIOT Javascript APIs.
resultoftheemergenceofsmallfootprintinterpreterssuchasMicroPython[39]andJerryScript[40].Inthisproject,we havebuiltupon asmallfootprint interpreter(JerryScript,asdescribedbelow),anddynamically loadscriptstorollout andupdatebusinesslogiconlow-endIoTdevices.
(3)Javascriptcodeexecution:Inordertosupporttheexecutionofthemodelledprocesses,theRIOTOShasbeenextended with a framework that interfacesbetweenthe Javascript logic andtheunderlying OS.This isolates the business logic from theunderlying hardwareandlow level interfacesandprovides a local executionenvironment forthe generated Javascript.Thisenvironmentenablese.g.:
(4)interactionwithsensorsandactuators;
(5)receiptofreliable,pre-processeddataandeventsextractedfromsensors,and
(6)remote interactionwiththecloudorotherdevicesinordertoexhangeinformationandtriggerwiderapplicationcom- ponents.
Forthescriptengine,wechosetocreateaRIOTpackageforJerryScript[3],alightweightJavaScriptinterpreter,andcom- bineditwithournewframework.ThisframeworkmapsthelowlevelAPIsofferedbyRIOT– e.g.timers,sensorinteractions, eventcallbacksetc – intomoredeveloper-friendlyJavascript. ExamplesoftheresultingRIOTJavaScript APIsareshownin Listing1.
6. Testing
Inorder to test ourwork we chose a facilities management use casefromthe list ofscenarios we used asinput for ouranalysiswork. This scenariois basedon buildingsecurity management anddealswithintrusion detection andreso- lution.It uses an on-device process to detect andprocess a combinationof light andsound informationbefore making a localdecision whetherto trigger theattached alarm andnotify a security guardvia a cloud-based mobile notification (Fig.7).
Fig. 8. Modelled security process (top layer is device process).
Fig. 9. Option to cancel the alarm on the mobile device.
Notethatwechose thisuse-caseonlyforpractical,proof-of-conceptpurposes.Theapproachwepresentisgeneric and caneasilybeappliedtoawidevarietyofotherIoTusecases.
6.1. Executingthescenario
Duringtheexecutionofthescenario,theIoTdevice monitorslightlevelslookingforanomalies,withraisedlightlevels setasthe‘triggeringevent’withintheprocessmodel.Atdeploymenttimeathresholdeventiscreatedwithintheoperating systemby the Javascript. Ifan anomaly is detected then an eventissent from theoperating systemto the Javascriptto triggertherestofthecoderepresentingthemodelledprocess(asshowninFig.8).
Oncetriggered,thecodefirstlistensforsoundusingtheattachedsensorinordertoattempttoconfirmthatanintrusion is likely and reduce false alarms. An important point to note is that the implementation of the Javascript APIs used to interface withtheunderlying operatingsystempre-process thereturned datato minimize noiseandanomalies, reducing theneedtodealwithpotentialhardwareissueswithinthebusinesslogic.
Ifsound isalso detected than thealarm istriggered, a messageis sent via CoAPto thecloud in orderto triggerthe securityprocessandthedeviceprocessentersawaitstate.
OnreceivingtheCoAPmessagethecloudplatformstartsasecondprocesstomanageattendancebythesecurityguard.
Thisprocess extractsthenecessarydataaboutlocationandissueandsendsanotification viaa mobileapplicationimple- mented withRunMyProcessto alertthe securityguard.Onceacceptedthesecurity guardcanchoose tocancelthealarm fromtheirmobiledevice(seeFig.9).
Oncecancelledamessageissentbacktothecloudplatform,whichinturnsendsaCoAPmessagetothedeviceinorder toinstructittoswitchoff thealarm.Onreceiptoftheeventthedeviceswitchesoff thealarm,completestheprocessand returnstomonitoringmode.
Anoverviewoftheend-to-endcomponentsinvolvedinthisprocesscanbeseeninFig.10.
Listing2illustratestheJavaScriptimplementationoftheprocessmodelshowninFig.8,demonstratingwhatisdeployed to the device. As you will see thisJavascript is able to interact with the underlying sensors, actuators and networking componentsinordertoimplementthebehaviournecessarytosupportthedesiredscenario.
Listing 2.
Fig. 10. Components used involved in implementation.
Fig. 11. IoT test hardware.
Fig. 12. Connectivity setup.
6.2. Hardwareandconnectivity
Asmanyofourgoals relatetotheuseoflow power,low capabilityhardwarewe wantedto ensurethatourapproach workedfor simpledevices. Inthis section we will briefly outline thehardwareand connectivityset up used forthe IoT aspectsoftheproject.
(1) IoThardware:Inordertomeettherequirementsoftheimplementedscenariowe producedalow-endIoTdevice.This device was based on commercially available equipment from Microchip, the SAMR21-xpro [4]. The SMAR21 features a 32- bitmicro-controller, 32 kBytes of RAM and 256kBytes ofFlash memory, together withan IEEE 802.15.4 radio transceiver.NotethattheSAMR21hasnomemoryprotectionunit(MPU)inhardware.WeextendedtheSAMR21witha custombreak-outboardshowninFig.11,connectingalightsensor,soundlevelsensorandrevolvinglightviaGPIO.
(2) Connectivity: Thelow-end IoTdevice wasconnectedthe tothe Internet viaa cheap RaspberryPi withaIEEE 802.15.4 radiomodule,configuredinastandardfashiontoactasaborderrouterbetweenplainIPv6andtheLoWPAN[20].The setupisshowninFig.12.
7. Evaluation
Attheoutsetofourprojectweidentifiedfourmajorgoals,simplifieddevelopment,flexibledeployment,easyintegration andpoweroptimization.Inthissectionwewillbrieflyreviewourworkinthecontextofthesegoals.
7.1. Simplifieddevelopment
Ourgoalherewastwofold– toenablenon-specialisedIoTdeveloperstobuildIoTapplicationandtoenableafasterand moreiterativeapproachtoIoTdevelopment.
ItisoutsidethescopeofthispapertoconsiderwhetherBPMNisasimpleapproachingeneral,butontheassumption thatitprovidesanon-IoTspecificwaytomodelbusinessfunctionalitywebelievethiscriteriahasbeenmet.Frominformal testing withcolleagues and customerswith no specific IoT development experience orskills we have observed that the extendedcloudmodellingenvironmentenablesnon-specializeddeveloperstobuildanddeploysimpleIoT applications.By using the adapted BPMN modelling language in combinationwith dragand drop,such users can graphically design the businesslogictheywishtobeexecutedontheIoTdevices.
Equally importantlythedeployment ofthisfunctionalitynow happensattheclickofa button,enablinga muchmore iterativecycleofmodelling,deploymentandtesting.Infactweobservedasideeffectofthisprocessduringtheimplemen- tationofourowntestscenario.Becausedeploymentcannowbeacontinuousprocessratherthanasingleeventwewere abletoquicklydeploythesolutionandtunethresholdsandotherparametersbasedonobservationinsituratherthanesti- mations.Webelievethatthisexperiencecouldpointtoasignificantadditionalbenefitofourapproach,enablingthefaster, cheaperandlowerriskdeploymentofIoTsolutionsduetotheeaseofadaptingtheirbehaviourpost-implementation.
Asdemonstratedinourtestscenario,processeswithinthecloudandIoTareabletoeasilyinter-operateatruntimeusing CoAP.Thismeansthatitissimpletocreate‘hyperconnected’solutionswhichconsist ofdifferentcomponents,deployedin differentenvironments,butwhicharestillabletoformpartofthesameover-archingsolutionthroughintegration.
Equallyimportantly,froma developmenttimeperspective theinclusionofabasicdevice registrymakesiteasy todis- cover,introspectandconnectdevicesandtheirbehaviourwithinprocessflows.Thisisanequallyimportantperspectivein termsofintegration.Today much ofthe workto dothisisstill manual, e.g. interms ofviewingandcopying overinfor- mationfromtheregistryintotheprocess flow.Atopicoffutureresearch willthereforebetheautomationofthiskindof activitytoenhancedeveloperproductivityandreduceriskoferrors.
7.4.Poweroptimized
Inconsidering the viability ofour approachfrom aresource perspective we have tolook attwo perspectives: (i) the memory overheadof running the Javascript engine vs directly implementing functionality in C and(ii) the comparative overheadofupdatingscriptsvsfirmwareupdates.
Inthefirstcase,weestimatethatthetotaloverheadofrunningtheJavascriptenginebasedonouranalysisis∼12kBof RAMand∼96kBofflashmemory.WhilethismaylooklikeanoverheadvsanativeCimplementation,theefficiencyofthe RIOTOSmeansthatitwouldrarelytaketheoverallcapacityrequirementsoutsidethescopeofthemajorityofstandardoff- the-shelflowpowerdevices(e.g.32kBofRAM and256kBofflashmemory).Infactouranalysissuggeststhatoursolution couldbe readilycompiledandrunonmorethan 84differenttypesofIoT devices,corresponding tomorethan80% ofall theIoThardwaresupportedbyRIOTtoday.
Inthesecondcase,thenumberofbytestransmittedover-the-airtoupdatethefunctionalityofthedeviceforourSecurity Scenariois1kB(the sizeofthescriptshowninListing2).Thisscriptisactuallyrelativelycomplexwithmultipleaccesses ofsensorsandactuators,calculationsandexternalcommunications.Comparedtothis,afullfirmwareupdatewouldrequire thetransmissionofanentireimage,whichinthecaseofRIOTwouldbe∼60kB.Thisisasignificantpenaltyincomparison andwouldrepresentachallengetothekindofiterativeprocesseswehaveoutlined.Weacknowledgethatpartialfirmware updatescouldreducethisoverheadbutbelievethattheinstallationprocesswouldcontinuetobemorecomplexandincur agreateroverhead.
Whileourapproachthereforeintroducessomeoverheadattheoutsetwebelieveitcouldsignificantlyreducecumulative overheadsacrosstheentirelifecycleofadevice,extendingitslifeaswellasdeliveringthealreadyoutlinedbenefitsofagility andconvergence.
8. Relatedwork
Buildingtoday’sIoTsolutionsisachallengingtaskbecausedevelopersneedtohaveextensivetechnicalknowledgespan- ningembeddedsystems,networkingandprotocols.Theresultinglowleveldevelopmentandtechnicalworknotonlymakes thecreationof IoTapplications slow,error-prone andcumbersomebutalsosignificantly restrictsthepool ofpeoplewho canengagewithIoTforsolving real-worldproblems.Asa resultofthesechallenges, manyresearchershavebeenconsid- eringhow toacceleratethe creationofIoTapplications.As wecan seebyreviewingthelandscape,however,theprimary approachtakentodatehasfocused onthecreationofcloud-based functionality-asopposedtoIoT-based-limitingtheir utilityinsituationswhereamorefederatedapproachisrequired.
Inourpreviousresearch weproposed acloud-based architectureforcomposingvalue fromtheIoT [28].Inthismodel ourcloudplatformmadeitpossibletoeasilycreatesystemsthatorchestratedIoTdataoutputswithotherkindsofweband on-premiseresources. It wasthelimitationsofthisapproach duringreal-worldtesting, however,that ledto theresearch outlinedinthispaper.
In[42],lifecyclesforIoT devices,servicesandapplicationsarediscussed.Itgiveshenceanacademicframeworkunder whichdifferentaspectofIoTdevelopmentcanbediscussedbutgivesnopracticalimplementation.
Spacebrew[10]isanopensoftwaretoolkitwhichenablesoutputsandinputstobeconnected,creatinganimplicit’flow’.
However,itisbasedonapublisher/subscriberwhichmaybe challengingfornon-professionalsoftwaredevelopers.Equally importantlySpacebrewcannotrun functionalitydirectlyondevices,relyinginsteadon intermediatecomputersthat share datafromthedevicestowhichtheyareconnected(e.g.Arduino).
Paraimpu [6,23] is another software systemproposed forsimplifying the creation of systems which connect physical objects,APIsandservices,composingthemtogether tocreatenewapplications.Again,however,thefocushereison con- nectingdatafromexistingobjectsratherthanadaptingtheirbehaviourthroughthedeploymentofbusinesslogic.
Actinium[18]presentsaweb-likescriptingapproachforcomposinglow-enddevices,providinga RESTful,cloud-based run-timecontainerwithdynamicinstallation,update,andremovalofscripts.WhilethegoalofActiniumisalsotosimplify thedevelopmentofconvergedsystems,itsapproachfocusedoncloud-basedscriptswhichdonotchangethebehaviourof theunderlyingdevicesthemselves.
MartinsandDomingos[46] Discussesan approachsimilar toours thatusesthe BPMNtomodelbehaviour ofwireless sensornetworks.TheycompiletheBPMNedgedevicebehaviourtothecallaslanguage andexecuteitonthecallasvirtual machine.Incontrasttothat,wecompiletheBPMNprocesstojavascript.Accordingto[47],thecallasvirtualmachineisonly availableforSunSpotdeviceswhereasweexpectthatjavascriptinterpreterswillbeavailableforalargenumberofdifferent devices.
The WoTkit Processor,bundledwiththe WoTkit platform[15,16],is anothercloud-based tool forbuildingapplications that useIoT resources.As withtheother options,however,itfocusesonaggregatingsensordata withinthe cloudbefore buildingcloud-basedapplicationsthatleverageitsvalue.
FinallyNodeRed[5]isaweb-basedtool forcreatingflows thatconnecthardwaredevices,APIsandcloudservices,with modellingofferedviaabrowser-basedfloweditor.Fromtheperspectiveofourresearch,NodeREDistheclosestpriorwork toourproposedsolution,offeringtheabilitytomodelanddeployfunctionalitytotheedgeofthenetwork.NodeREDstill requiresthat flowsare deployedtoeitherthecloud ortogeneralpurposecomputingdeviceswithatraditionaloperating system(suchastheRaspberryPi[7]).ForthisreasonNodeREDdidnotsatisfyourrequirementforbehaviourdeploymentto constraineddevices.Furthermore,whilepartiallyaddressingtheissuesofdevelopmentsimplificationthroughafloweditor, NodeREDdidnotaddress thewiderissuesofend-to-endprocessintegrationanddevice lifecyclemanagementthat area corepartofourresearch.
Several other platforms [17,19,25,31] havealso been proposed to ease the development of IoT applications but in all casestheydonotcoverthemajorfeatureswe propose,includingintegrationofdeviceregistry,workflowediting,wireless deploymentandend-to-endorchestration.
Besidesthesetechnicalpapers thatdiscussthecreation ofsolutionsfortheIoT-domain, therearealso acoupleofpa- persthat discussnewandemerging businessmodels relatedtoIoT [43–45].Wehave shortlytouchedthesetopicsatthe beginningofourpaperbutrefertheinterestedreadertothementionedpapersthatdiscussthesetopicsinmoredetail.
9. Conclusion
In this paper,we haveexamined one possible route to simplifying the developmentof new hyperconnected systems that span both cloud and IoT infrastructures. To date the ease of developmentof IoT applications has lagged the cloud significantly,lacking easy support forestablished concepts such asmodelling,agile delivery and continuousdeployment, conceptswhichhavetransformedthedevelopmentofmoremainstreamsoftware.
Theworkdescribedinthispaperaimedtoaddressthisgapbybuildingdevelopment,deploymentandmanagementsup- portforIoTdevicesbasedonestablished cloudpractices.Tothispurposewehavecreatedacloud-IoTplatformcomposed ofasetofcomponents:agenericIoTdeviceoperatingsystem(RIOT),anaccompanying‘psuedo-container’fortheexecution ofbusiness logicon low-enddevicesanda cloud-baseddevelopmenttool forrapidbusiness-logic modellinganddeploy- ment,Wehavepresentedourtestimplementationinordertoillustratetheworkingsofthisplatformandtohelpexamine thewaysinwhichourworkcanenableourcoreaimsofsimplifieddevelopment,flexibledeployment,easyintegrationand poweroptimization.
References
[1] Eclipse Leshan. https://www.eclipse.org/leshan .
[2] Gartner Says 4. 9 Billion Connected “Things” Will Be in Use in 2015. https://www.gartner.com/newsroom/id/2905717 . [3] JerryScript RIOT Package. https://github.com/RIOT-OS/RIOT/tree/master/pkg/jerryscript .
[4] Microchip Atmel ATSAMR21-xpro Board. http://www.atmel.com/tools/atsamr21-xpro.aspx . [5] NodeRED. https://nodered.org .
[6] Paraimpu. http://www.paraimpu.com/ .
[7] Raspberry Pi - Teach, Learn, and Make with Raspberry Pi. https://www.raspberrypi.org/ .
[8] Baccelli E. , et al. , RIOT: an open source operating system for low-end embedded devices in the IoT, IEEE Int. Things J. (2018) . [9] RunMyProcess. https://www.runmyprocess.com .
[10] Spacebrew. http://docs.spacebrew.cc .
[11] O.M. Alliance. Lightweight machine to machine technical specification V1.1, 2018. http://www.openmobilealliance.org/release/LightweightM2M/V1 _ 1- 20180710- A/OMA- TS- LightweightM2M _ Core- V1 _ 1- 20180710- A.pdf .
[12] E. Baccelli , et al. , Scripting over-the-air: towards containers on low- end devices in the internet of things, in: Proceedings of the IEEE PerCom, 2018 . [13] E. Baccelli , et al. , RIOT OS: towards an OS for the Internet of Things, in: Proceedings of the Thirty-second IEEE INFOCOM. Poster, IEEE, Turin, Italy,
2013 .
[14] P. Biggs, T. Johnson, Y. Lozanova, and N. Sundberg. Emerging issues for our hyperconnected world. The Global Information Technology Report, 47–56, 2012.
[15] M. Blackstock , R. Lea , Iot mashups with the wotkit, in: Proceedings of the Third International Conference on the Internet Of Things (IoT), 2012, IEEE, 2012, pp. 159–166 .
[24] S. Rao , et al. , Implementing LWM2M in constrained IoT devices, in: Proceedings of the IEEE ICWiSe, 2015 .
[25] A. Salihbegovic , T. Eterovic , E. Kaljic , S. Ribic , Design of a domain specific language and ide for internet of things applications, in: Proceedings of the Thirty-eighth International Convention on Information and Communication Technology, Electronics and Mi- Croelectronics (MIPRO), 2015, IEEE, 2015, pp. 996–1001 .
[26] Z. Shelby et al. RFC 7252: constrained application protocol (CoAP). IETF Request For Comments, June 2014. https://tools.ietf.org/html/rfc7252 . [27] L. Tan , N. Wang , Future internet: the Internet of Things, in: Proceedings of the Third International Conference on Advanced Computer Theory and
Engineering (ICACTE), 2010, 5, IEEE, 2010, pp. V5–376 .
[28] I. Thomas , S. Gaide , M. Hug , Composite business ecosystems for the web of everything: using cloud platforms for web convergence, in: Proceedings of the 2013 Seventh International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS), IEEE, 2013, pp. 535–540 . [29] I. Thomas , S. Ziegler , C. Crettaz , L. Fedon , S. Gaide , Making it all work together enabling new business models in the web of everything, in: Proceedings
of the IEEE World Forum on Internet of Things (WF-IoT), 2014, IEEE, 2014, pp. 526–531 .
[30] O. Vermesan , P. Friess , Building the Hyperconnected Society: Internet of Things Research and Innovation Value Chains, Ecosystems and Markets, 43, River Publishers, 2015 .
[31] R. Vilalta , A. Mayoral , D. Pubill , R. Casellas , R. Mart´ınez , J. Serra , C. Verikoukis , R. Mun ˜oz , End-to-end sdn orchestration of iot services using an sdn/nfv-enabled edge node, in: Proceedings of the Optical Fiber Communication Conference, Optical Society of America, 2016, pp. W2A–W42. 4 . [32] I. Thomas , L. Fedon , A. Jara , Y. Bocchi , Towards a human centric intelligent society: using cloud and the web of everything to facilitate new social
infrastructures, in: Proceedings of the Ninth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing, 2015 . [33] Transforming Financial Services for a hyperconnected world. Fujitsu Forum 2015. https://www.youtube.com/watch?v=URW557QWLhI .
[34] D. Guinard , V. Trifa , E. Wilde , A resource oriented architecture for the web of things, in: Proceedings of the IEEE International Conference on the Internet of Things, 2010 Nov .
[35] N. Kushalnagar , G. Montenegro , C. Schumacher , IPv6 over low-power wireless personal area networks (6LoWPANs): overview, assumptions, problem statement & goals, IETF RFC 4919 (Aug. 2007) .
[36] D. Zeng , S. Guo , Z. Cheng , The web of things: a survey (invited paper), J. Commun. 6 (2011) 424–438 Sept .
[37] A. Castellani et al., RFC 8075: Guidelines for Mapping Implementations: HTTP to the Constrained Application Protocol (CoAP) IETF request for com- ments, February 2017. https://tools.ietf.org/html/rfc8075 .
[38] O. Hahm , et al. , Operating systems for low-end devices in the internet of things: a survey, IEEE Int. Things J. (5) (Oct. 2016) 720–734 . [39] MicroPython Compiler and Runtime https://github.com/micropython/micropython .
[40] JerryScript: JavaScript engine for the internet of things https://github.com/jerryscript-project/jerryscript .
[41] S. Erdweg , et al. , Evaluating and comparing language workbenches: existing results and benchmarks for the future, Comput. Lang. Syst. Struct. 44 (2015) 24–47 .
[42] L.F. Rahman , T. Ozcelebi , J. Lukkien , Understanding IoT systems: a life cycle approach, Proc. Comput. Sci. 130 (2018) 1057–1062 .
[43] C. Metallo, R. Agrifoglio, F. Schiavone, J. Mueller, Understanding business model in the internet of things industry, Technol. Forecast. Soc. Change (2018) . In press, available at https://www.sciencedirect.com/science/article/pii/S0040162518301082 , last accessed 2018-09-18.
[44] V. Krotov , The internet of things and new business opportunities, Bus. Horiz. 60 (6) (2017) 831–841 . [45] J. Ju , M.-S. Kim , J.-H. Ahn , Prototyping business models for IoT service, Proc. Comput. Sci. 91 (2016) 882–890 .
[46] F. Martins , D. Domingos , Modelling IoT behaviour within BPMN business processes, Proc. Comput. Sci. 121 (2017) 1014–1022 .
[47] R. Mendes and L. Lopes, A modular virtual machine for the callas programming language for wireless sensor networks, Proceedings of the Simposia Informatica (INForum 2011), Coimbra, Portucal.