survey of iotplatforms - world wide web consortium of iot platforms.pdfsurvey of iotplatforms the...

Post on 22-May-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SurveyofIoT Platforms

TheWebofThingsisintendedtobeanabstractionlayerfortheIoT soweneedtoensurethatitisaneffectivefit

toabroadrangeofcommercialIoT platforms

DaveRaggett<dsr@w3.org>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?

top related