The Importance of Being Thing Or the Trivial Role of Powering Serious IoT Scenarios Sumi Helal 1 , Ahmed Khaled 2 and Wyatt Lindquist 1 1 School of Computing and Communication, Lancaster University 2 Department of Computer Science, North Eastern Illinois University Sumi Helal, PhD, FIEEE, FIET Professor & Chair in Digital Health Director of the Centre on Digital Health & QoL Technologies Faculty of Science & Technology Faculty of Health and Medicine Lancaster University 9 July 2019
Talk Overview • Motivation: Make IoT happen (or increase its IoTility ) • We must walk before we run → Thing, before Internet of Things • Back to the Future: We must be worth something already • Integrate once, program everywhere • Where are we today?: The World Cup App Benchmark • Raising the Bar: New Thing Requirements • Raising the Bar Even Higher: Domain Thing Requirements • The Rise of Thing Architectures: Reporting on our Work • Conclusions
Motivation The Need for Thing Architecture • Great vision, and many impressive scenarios, yet no clear pathways to realization. • The focus on vision & abstracting away Thing details were intentional and productive, but they have now run their course • Focus of this presentation is on Personal IoT Personal IoT Industrial IoT At-Scale IoT (Smart homes) (Smart factory floor) (Smart City)
Back to the Future What has been Accomplished in IoT, specifically in THING I. Integrate Once • DDL: Device Description Language • Service-Oriented Device Architecture (SODA) � <Sensor> <Description> … </Description> <Interface> <Signal id="ADC1"> … </Signal> <Reading id="Temp1"> <Type> Physical </Type> <Measurement>Temperature Example DDL for </Measurement> <Unit> Centigrade </Unit> TMP36 ANALOG <Computation> <Type> Formula </Type> <Expression> Temp1 = (((ADC1/1023) * TEMPERATURE 3.3)-0.5)* (1000/10) </Expression> </Computation> </Reading> SENSOR </Interface> </Sensor>
Back to the Future What has been Accomplished in IoT, specifically in THING II. Program Everywhere 3 OSGi Service Bundles appear in the IDE 3 Sensor Platforms Powered UP
Back to the Future The ATLAS Platform Atlas Communication Layer ZigBee Ethernet Wi-Fi Antenna Atlas Processing Layer Processor Atlas Device Interface Layer Servo 8 Analog GPIO 32 Analog 16 Digital
SODA Programmability: Blessing or a Curse? • The Ant, the Elephant, the Monkey & the Giraffe, or: • Bless because we can program and reprogram any logic and any application (very expressive) • Curse because: 1. SODA over-promises (an elephant for an ant), artificially masking failures, leading to complex uncertainties to manage 2. SODA is too powerful (too expressive) to be safe. • Make it Work: IoT Tranx, Virtual Sensors, others.
IoT Today Sumi’s World Cup IoTility Benchmark • How many people missed the the Women World Cup yesterday?
IoT Today Sumi’s World Cup IoTility Benchmark The user acting Smart TV with a Digital Video On behalf of the 2014 World Cup Android Recorder (DVR) – all with Future! App showing scores and Internet Connections game schedule
Raising the Bar New Requirements for Things The Coffee Maker and & Smart Phone Scenario • Minimal h/w to enable interactions • Ability to chat and in multi languages (HTTP- REST/MQTT/CoAP /…) • Ability to chat about capabilities and sought relationships • Ability to create API’s on the fly • Ability to infer and activate meaningful relationships (seeking meaningful interactions) • The ability to create IoT apps by the consumer
Raising the Bar New Requirements for Things The World Cup Scenario • Ability for mobile apps to be and act like any other thing in the IoT • Ability for an App to change its behavior to engage with other things in useful applications • Ability for developers to develop such powerful IoT apps without much knowledge of the smart space in which the app will run.
Raising the Bar Even Higher: Domain-Specific Requirements: Health IoT • Specialized smart things bring new requirements to IoT • Health devices emphasize • Safety • Reliability • Data collection • Traditional architectures may not be sufficient • Need to address these requirements to maximize potential • Drive the next generation of generalized IoT systems
Raising the Bar Even Higher: Domain-Specific Requirements: Health IoT • Interactions between user and device • Proper use • Notifications/Reminders (empowerment) • Identity • Interactions between devices • Mobile apps as things • Democratization • APIs • Inter-thing relationships
The Rise of Thing Architecture Reporting on our Current Work Atlas Thing Architecture • IoT-DDL (Iot Device Description Language) • Inter-Thing Relationships – an IoTility Booster • RIDE: Programming Model and IDE for the Consumer • Mobile Apps as Thing (MAAT) and IDE for future IoT software developers • Multi lingual IoT Communication Broker (HTTP- REST/MQTT/CoAP /…)
Atlas Thing Architecture • Utilizes IoT- DDL and thing’s OS services to provide new functionalities a thing needs to engage in interactions. • New set of software operating layers allows the thing to: • Self-discover its own capabilities and services. • Generate APIs for the offered services. • Announce its presence and interact with other things. • Be configured and managed by the developer/user
Atlas Thing Architecture Meaningful Interactions Identity and Knowledge Tweets Interface Interface and Communication Engine Sublayer Atlas IoT Platform Security Engine and Tweeting Interactions and Tweeting Engine Application Run-Time Sublayer Identity Knowledge Attachment API Engine Parser Engine Manager Device DDL Manager Sublayer IoT-DDL Manager Host Interface Layer IoT OS Services Main Controller and Messaging Backbone Network Process Memory Device Secure Services Manager Manager Manager Elements Interfaces
Atlas Thing Architecture IoT-Device Description Language (DDL) • Machine- and human-readable XML-based descriptive language for things in smart space. • Describes a thing in terms of the inner components, capabilities, services and cloud-based accessories for the seamless integration and management.
Atlas Thing Architecture IoT-DDL: Coffee maker example <Metadata> Name: Coffee Machine Vendor: Bosch ... <Resources> Network Properties: Wi-Fi Memory Properties: RAM ... <Services> Service1: Turn On For Duration Service2: Turn Off ... Image link IconExperience.com <Attachments> Attachment1: Log Server ...
Atlas Thing Architecture Inter-Thing Relationships Framework • Utilize a set of service-level relationships that tie services logically across different things • Built-in relationships (via IoT-DDL), and run-time inferred relationships. Cooperative Relationship Competitive Relationship prepare breakfast Coffee machines from toast by 7:00 am different vendors
Atlas Thing Architecture Runtime-Interactive Development Environment (RIDE) • RIDE extends the Inter-thing relationships framework and targets smartphone users with no programming experience (the consumer of the Personal IoT product space) • RIDE main functionalities: • Listen to things’ services and relationships • Establish relationships, recipes and apps • Infer existence of new relationships and recipes • Accept the established/inferred apps and generate and install IoT apps as mobile apps.
RIDE Overall Architecture Developers • • App Development Recommendations • • Preferences Programming Opportunities Development Interface • • • Applications Established Primitives Recommendations Primitives • • • User Preferences Feedback Results Inference Repository Engine Application Engine Explorer Multicast Tweets Unicast Interactions App 2 App n App 1 …. Directory of developed and generated Atlas Things Atlas IoT apps
RIDE Application Engine • Accepts app description, checks the Manifest App correctness through semantic rules. <App> User Interface <-----> Atlas IoT App …… • Transforms the structural Execution Engine representation of the app into a </----> descriptive manifest. </App> Gateway • Passes the manifest to an on-cloud service and receives an executable Unicast Interactions app to install and run on demand. Atlas Things
RIDE Example IoT Application Toggle the light and play a movie, if light is on Recipe Window blinds supports Relationship watching movie on screen RIDE Play a movie on Check if the Toggle Tilt the blinds the screen light is on the light down Atlas Thing Atlas Thing Atlas Thing Architecture Architecture Architecture IoT-DDL IoT-DDL IoT-DDL
Mobile Apps As a Thing (MAAT) Actionable Keywords (AKW) • Describe data available in the app (types and keywords) • Things: look for AKWs that can be used as inputs • On the app: associated with a specific layout element • ”Placeholder” (a button) to control unknown interaction • Thing responds to AKW • Button appears with label specified by thing • Click sends the specified data to the thing
Recommend
More recommend