survey of iotplatforms - world wide web consortium of iot platforms.pdfsurvey of iotplatforms the...
TRANSCRIPT
SurveyofIoT Platforms
TheWebofThingsisintendedtobeanabstractionlayerfortheIoT soweneedtoensurethatitisaneffectivefit
toabroadrangeofcommercialIoT platforms
DaveRaggett<[email protected]>W3CchampionfortheWebofThings
WebofThings
• ByanalogytotheInternetasanabstractionlayerthatenablesservicesoverdifferentnetworksandtechnologies
• WebofThingsseekstoenableapplicationplatformsandopenmarketsofservicesbaseduponanabstractionlayerfortheIoT
• BaseduponLinkedDataasalinguafrancafordataanddatamodels
2
App App App App
OPC OneM2M OCF Blue
tooth
...
...
ApplicationPlatform
ApplicationContracts
IoT PlatformContracts
InformationmodelsBaseduponLinkedData
AgreementsaboutIoTtechnologies
LPWAN
App
LinkedData• Alinguafrancafordataandmetadata
– Basisforrelatingdataandmetadataindifferentformatsanddatamodels
• ConceptsandrelationshipsaregivengloballyuniqueidentifiersusingWebaddresses
• TheseaddressescanbeusedtoobtainfurtherinformationenablingaWebofLinkedData
• W3Chasamaturesuiteofstandards– e.g.OWLontologylanguage,SPARQLquery
language(analogoustoSQL)
3
UKCompaniesHouseLinkedDataService
LinkedDatamakesiteasytocombinedistributedsourcesofinformation
LinkedData*forIntegration• Exposeexistinginformationsourcesvia
LinkedDatafrontendthathidesthedifferentinternaldataformats
• ProvideLinkedDatamodelsforeachsource
• SPARQLendpointsforremotequeries• RDF-SandOWLforontologies• Shaperulesforvalidationand
transformationofRDFgraphs• BigdatawithLinkedDatastreams• Combinewithaccesscontroland
termsandconditionsofuse
4*SeeW3C’sLinkedDatapage
SurveyofIoT Platforms
• WorkfundedbytheEuropeanCommissionthroughtheCreate-IoT CoordinationandSupportAction– ProjectID:732929,partofIoT-02-2016- IoT Horizontalactivities
• BaseduponpubliclyavailableinformationforabroadrangeofIoT platforms– NotrestrictedtoIoT sensorsandactuators– Webofthingsencompassesabstractentities
• e.g.Virtualdevices,Webservices,etc.• Status– ongoing• WillbepublishedasaCreate-IoT report
5
Coverage• SofarIhavestudied
– OCFOIC1.1specifications– oneM2M– BACnet– ECHONET– SmartDeviceTemplate(HGI)– BasicRESToverHTTPandCoAP
• Lookingforinformationonotherplatforms– OPC-UA– Hypermediacontrols– Webservices
• Thissurveyfocusesontheinformationmodel• Afurthersurveyisplannedforsecurity
6
Methodology• ReadtheIoT platformspecificationsandlookforcommonpatterns• Examinerequirementsfortheobjectsexposedtoapplications
– WheretheseobjectsaredecoupledfromtheunderlyingIoT platforms,communicationpatterns,protocolsanddataformats
• AttempttoreverseengineerLinkedDatamodelsforthecapabilitiesdefinedbyeachIoT platform
• ExpressthemodelsinJSONandLinkedData– PlainJSON*usingacontextfreegrammar– TurtleformatforLinkedData
• ShowcasewithanHTMLbasedmodelbrowser
7*EasiertounderstandthanJSON-LD+JSONSchema
OCF• OIC1.1specifications
– RESTfulinterfaceoverCoAP andHTTP– SpecificationusesRestfulAPIMarkupLanguage(RAML)
• Textbased,butnotmarkupinthesenseofXML• SupplementedwithtablesforpropertydefinitionandCRUDNbehaviour
• OCFdefinedevicesintermsofacompositionofresources– SeeSmartHomeDevicespecificationandResourceTypespecification
• EachresourceisdefinedinRAML– Identifiedbyaresourcetype,e.g.
• oic.r.sensor.acceleration– Canimportshareddefinitionsforresourcetypes– RAMLisnotusedatrun-time– RAMLisverbosewithahighdegreeofpredictability
• IwasabletoregeneratetheRAMLfromconcisethingdescriptionsusingsimpleheuristics• OCFspecificationsavailablefrom
– https://openconnectivity.org/resources/specifications 8
OCFOIC1.1release• 63Resources
– Accelerationsensor– ActivityCount– Altimeter– AtmosphericPressure– AirFlow– AudioControls– AutoFocus– AutoDocumentFeeder– AutoWhiteBalance– Battery– BinarySwitch– Brightness– …– WaterSensor– Weight
• 15Devices– AirConditioner– AirPurifier– WindowBlind– Camera– Dishwasher– Door– Dryer– Fan– GarageDoor– Light– Oven– Printer– MultifunctionPrinter– Receiver– Refrigerator
9See:http://www.w3.org/WoT/demos/td2ttl/oic.html
oneM2M• RESTfulinterfacesoverCoAP,HTTPandMQTT• Definesdevicesintermsofacompositionofmodules• ModulesareformalizedinXML• HomeAppliancesandInformationModels
– Definesalargesetofdevicesandmodules– BroadlyspeakingsimilarincoveragetoOCF– Butnotcompatible…– GuidelinesoninterworkingwithLwM2M,AllJoynandOIC
• SeealsothebaseontologyandtheSAREFontology• oneM2Mspecificationsavailablefrom
– http://www.onem2m.org/technical/published-documents
10
oneM2M• 40Modules
– AlarmSpeaker– AudioVideoInput– AudioVolume– Battery– BinarySwitch– BioElectricalImpedanceAnalysis– Boiler– Brightness– Clock– Colour– Colour Saturation– …– Wind
• 13Devices– AirConditioner– ClothesWasher– ElectricVehicleCharger– Light– MicroGeneration– Oven– Refrigerator– RobotCleaner– SmartElectricMeter– StorageBattery– Television– Thermostat– HotWater
11See:http://www.w3.org/WoT/demos/td2ttl/m2m.html
BACnet• Buildingautomation
– Lighting,Heating,ventilationandairconditioning,elevators,emergencylighting&alarms• Corespecsdefineinformationmodel,metadataandprotocols
– Standardised asISO164845andISO16484-6– BACnet objectsareacollectionofattributescalled“properties”– BACnet objectscorrespondtoWebofThingsproperties
• 54objecttypesinBACnet 2012specification– BACnet propertiescorrespondtoWebofThingsmetadata
• e.g.objectnamesandIDs,highandlowlimitsforvalues• Vendorscanextendthistosuittheirdevices
– Needtolookatvendordocumentationfordevicedefinitions• Essentiallyproperties,actions,eventsandalotofmetadata
– Informationonwhetherdeviceisinoroutofservice,anditsreliability– 16levelprioritymechanismforresolvingconflictingpropertyupdates
• SeeMichaelNewman’sbook– “BACnet:theglobalstandardforbuildingautomationandcontrolnetworks”
• TheeBookismuchcheaperthantheISOstandard!
12
ECHONET
• Homeautomationandpersonalhealth– Deviceswithproperties,eventsandmetadata– NoactionsthatI’vefoundsofar,but…– Includesavocabularyfordescribinghomes
• Livingroom,diningroom,kitchen,bathroom,lavatory,washroom,passageway,room,stairway,frontdoor,storeroom,garden,veranda/balcony
• ECHONETspecificationsavailablefrom– https://echonet.jp/spec_en/
13
ECHONETSharedProperties(22)• OperationStatus• InstallationLocation• StandardVersion• FaultStatus• FaultDescription• ManufacturerCode• BusinessFacility• ProductCode• ProductionNumber• ProductionDate• PropertyMap
• IdentificationNumber• Manufacturer’sFaultCode• CurrentLimitSetting• Power-SavingOperationSetting• RemoteControlSetting• CumulativeOperatingTime• CurrentTime• CurrentDate• MeasuredInstantaneousPower• MeasuredCumulativePower• PowerLimitSetting
14
ECHONETSensors(44)• GasLeak• CrimePrevention• EmergencyButton• First-Aid• Earthquake• ElectricLeak• HumanDetection• Visitor• Call• Condensation• AirPollution• Oxygen• Illuminance• Sound• Mailing
• AirSpeed• Odor• Flame• ElectricEnergy• CurrentValue• WaterFlow• Micro-Motion• Passage• BedPresence• Open/Dose• ActivityAmount• HumanBodyLocation• Snow• AirPressure
15
• Weight• Temperature• Humidity• Rain• WaterLevel• BathWaterLevel• BathHeatingStatus• WaterLeak• WaterOverflow• Fire• CigaretteSmoke• CarbonDioxide• Gas• VOC• DifferentialPressureLoss
ECHONETDeviceGroups• AirConditioners(10)
– Home/commercial,ventilationfan,airconditionerfan,aircleaner,humidifier,electricheater,fan,indoor/outdoor,electricstorageheater
• Housing/Facilitiesrelated(31)– Blind/shade,shutter,rainslidingdoor,…,buzzer,electricvehiclecharger
• Cooking/Householdrelated(10)– Electricthermos,refrigerator,microwave,cooker,ricecooker,…,washer/dryer,outdoorunit
• Healthrelated(5)– Weighingmachine,thermometer,bloodpressure,bloodsugar,bodyfat
• ManagementOperationrelated(3)– Switch,JEM-A/HAcontroller,DReventcontroller
• AudioVisualrelated(4)– Display,television,audio,networkcamera
16Frequentuseofenumerationswithbinarycodes,e.g.cleanrinsing=0x29
SmartDeviceTemplate• DefinedbytheHomeGateway
Initiative– XMLSchemaforsmarthome
devices,see• https://github.com/Homegate
way/RWD050-public• Devicesdefinedasasetof
modules• Modulesdefinedata,actions
andevents• DataisHGI’snamefor
property• Deviceinfometadata
17
RESToverCoAP andHTTP• RoyFielding’srepresentationalstatetransferdesignpatternforstatelessprotocols• ResourcesidentifiedbyURLs• Coremethodsforoperations
– Create,Read,Update,DeleteandNotify– Internetmediatypesforcontent
• Plusmeanstoembedmetadatainprotocolheaders– Linkrelationsasbasisfordiscovery
• UsedasbuildingblocksforIoT platformslikeOCF• RelatedtoformatsfordescribingRESTfulAPIs,e.g.
– RAML– OpenAPISpecification(previouslySwagger)– Hydra:Hypermedia-drivenWebAPIs– WADL– Slate
18
Results
EmergentRequirements• Strongsupportforobjectswith
properties,actionsandevents• Objectmodelforthings
– Commondatatypes• Boolean,string,integer,number
– Lesscommondatatypes• Enumerations,unions,vectors,
ordered/unorderedcollections• Applicationtypesintermsof
predefinedtypes• Thingsasfirstclasstypes• Compound(nested)properties• Compoundargumentsforactions
andevents
– Metadata,e.g.• Min,maxfornumbersandintegers• Read-onlyorread-write• Requiredandoptional
– Propertiesandactionarguments• Unitsofmeasureincludingscale
factors• Whetherstaticorchangeable• Cardinalityforcollections
– MetadataforgivenIoT platforms– Mappingofenumeratedvalues,
propertynamesetc.toIDs• Resiliencetochangesinmodels
– Googleprotocolbuffers
20WebofThingsshouldavoidprotocolspecificdatarepresentations,e.g.bitfields
SyntacticModularity• Specificationsliketodefinethingsinamodularway– Reusabledefinitions,e.g.enumerations– Asetofinterfaces(e.g.oneM2M’smodules)
• Somesetofproperties,actions,events,metadataandnamedtypedefinitions
– Ameanstocombinethiswhendefiningdevices• e.g.refrigeratorwithfreezerandcoolercompartmentsusingcommoninterfacemodelsforsensorsandcontrols
– SyntacticmodularityanalogoustoC++#include• Atthelevelofathingorathing’sproperties
21
SemanticModularity• NotusedbyanyoftheIoT platformscoveredsofarinthesurvey
– Usefulforsemanticsearchandsemanticinteroperability• Foreachdevicestatewhatsemanticclassesitconformsto• Eachsemanticclassdefinesrequirementsintermsof
– othersemanticclasses– properties,actions,events,metadata
• Canbevalidatedtocheckforsemanticinteroperability– Ensuringthatservicessharethesamemeaning,interfacesanddatatypes
• Canalsobeusedabductively togenerateathingdescriptionfromasetofsemanticclassesandadditionalconstraints– Involvesmakingguessesbaseduponpastexperience
22
OpenQuestions• Isitworthextendingthesurveytocoverthecommunication
patternssupportedbydifferentIoT platformsandtheusecasesthatmotivatethesepatterns?– ThiswouldhelpwithrespecttoguidanceonhowtobindtheWebof
thingtoparticularIoT platforms• TheneedtoexaminewhatkindsofIoT platformmetadatais
neededaspartoftheapplicationcontract?– Thisshouldbesufficienttomeetthemeansfortheapplication
platformtomaketheconnection– Itcanalsoprovideabasisfornegotiatingqualityofservice– ButriskoftightlycouplingappstoparticularIoT platforms
23
NextSteps• IplantofleshoutthissurveyasaCreateIoT reportwhilst
alsoextendingittoabroaderrangeofIoT platforms– MyhighestpriorityisOPC-UA– OthertargetsincludeAppleHomeKit,AndroidThings,OMA’s
LwM2M,OMG’sDDS,HypermediaControlsandawiderangeofWebservices
– Anysuggestionsforplatformstolookat?• Tobecomplementedwithacompanionsurveyonendto
endsecurityacrossdifferentplatformsandthroughthelifecycle
24
Thankyou
Questions?