using soda anguage la steep learning curve and laborious hacking experience needs to examine its...

30
DEVICE INTEGRATION IN SODA USING THE DEVICE DESCRIPTION LANGUAGE Chao Chen and Abdelsalam (Sumi) Helal THE 9 TH ANNUAL INTERNATIONAL SYMPOSIUM ON APPLICATIONS AND THE INTERNET (SAINT 2009)

Upload: others

Post on 23-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

DEVICE INTEGRATION IN SODA USING

THE DEVICE DESCRIPTION LANGUAGE

Chao Chen and Abdelsalam (Sumi) Helal

THE 9TH ANNUAL INTERNATIONAL SYMPOSIUM ON APPLICATIONS AND THE INTERNET (SAINT 2009)

Page 2: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

INTRODUCTION

The Pervasive Internet a

wild jungle of devices and

gadgets.

Heterogeneity of

Devices:

From pin-head sensors to complex devices

& appliances

Networks:

Ethernet, WiFi, Bluetooth, ZigBee, …

Running Environments:

None, OSGi, Jini, UPnP…

Device standards:

SensorML, IEEE 1451, ECHONET, Device

Kit…

Page 3: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

THE HARD-WIRING PROBLEM

The typical ad-hoc strategy to integrate a device

A steep learning curve and laborious hacking experience

Needs to examine its interface and study the device protocol to

establish a connection.

May not produce re-usable code or know-how.

The lack of standard on both hardware and software ends

No automatic way to link the numerous and heterogeneous device I/O

Programmers have to manually write code to associate devices with

specific tasks.

The problem becomes even more acute when the number of device types continues to grow the number of interfaces, connections, protocols multiplies;

One considers how systems need to evolve throughout their life-cycles.

Page 4: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

OUR RESPONSE AND APPROACH

Automate the process of device integration, so it would require 0-effort from system integrators and pervasive system builders.

Create an integration technology and associated proposed open standard (SODA) to allow device and sensor vendors to introduce such self-integrating products into the market place.

DDL - A descriptive language that describes a broad range of devices.

ATLAS - a service-oriented reference architecture for device integrations.

DDL / ATLAS - A proposed implementation of the SODA standard.

Page 5: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

Talk OUTLINE

ATLAS: a service-oriented reference architecture for

sensor and device integration

DDL: Device Description Language - schema and its

reference implementation

Case Study: constructing a self-sensing space in the

Gator Tech Smart House (GTSH)

Standardization through SODA

Related work

Conclusion

Page 6: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

ATLAS:

A Reference Architecture for Service

Oriented Sensor Platforms

Page 7: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

THE ATLAS ARCHITECTURE

Atlas Middleware

Sensors Actuators Complex Devices

Atlas Node

Sensor Ref Actuator Ref Complex Device Ref Atlas Node

Sensor Ref Actuator Ref Complex Device Ref

Service Composer

Context Builder

IDE

Atlas Middleware

Page 8: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

ATLAS PLATFORM

Page 9: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

ATLAS PLATFORM Atlas Communication Layer

Atlas Processing Layer

Atlas Device Interface Layer Servo 8 Analog GPIO 32 Analog 16 Digital

Processor

ZigBee Ethernet Wi-Fi Antenna

Page 10: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

Device Description Language (DDL) Language Schema and its Implementation

Page 11: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

MODELING DEVICES IN DDL

A DDL device model

DDL classifies devices into 3 categories: Sensors

Actuators

Complex Devices

Device

Internal

Mechanism Properties

Communications

Communications

Inte

rfac

e

Services

Applications

Page 12: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

THE DDL LANGUAGE SCHEMA

DDL uses XML encodings.

Readable to both human and machine.

A DDL schema defines the constraints on the structure and the content of a DDL document.

The schema will be enforced by the DDL validity checker, a component of the DDL language processor.

<xsd:complexType name="Device"> <xsd:sequence> <xsd:element name="Description" type="DescriptionType" minOccurs = "1" maxOccurs="1" /> <xsd:element name="Interface" type="InterfaceType" minOccurs="1" maxOccurs="1" /> </xsd:sequence> </xsd:complexType>

Page 13: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

WHAT’S INSIDE A DDL DESCRIPTOR FILE?

Each DDL descriptor file describes a single type of device.

It contains:

Information for service registration and discovery

e.g., device name, model, function description, etc.

Description of device operations

each operation is a collection of input/processing/

output function chains

the low-level communication between a device and

its service are represented as ‘Signals’

the high level semantics of signals are ‘Readings’

Page 14: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

AN EXAMPLE:

TMP36 ANALOG TEMPERATURE SENSOR

<Sensor> <Description>…</Description> <Interface> <Signal id="ADC1">…</Signal> <Reading id="Temp1"> <Type>Physical</Type> <Measurement>Temperature </Measurement> <Unit>Centigrade</Unit> <Computation> <Type>Formula</Type> <Expression> Temp1 = (((ADC1/1023) * 3.3)-0.5)* (1000/10)</Expression> </Computation> </Reading> </Interface> </Sensor>

An analog sensor:

“Signal”: a converted value

output from the ADC port

on the sensor platform.

“Reading”: the temperature

value in centigrade.

DDL defines

the semantics of a

temperature reading

the process of the signal

to reading conversion

Page 15: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

ANOTHER EXAMPLE: UA-767PC

DIGITAL BLOOD PRESSURE MONITOR

<ComplexDevice> <Description>…</Description> <Interface> <Signal id=”signal1">…</Signal> <Reading id=”diastolic"> <Type>Physical</Type> <Measurement>Diastolic Pressure</Measurement> <Unit>mmHg</Unit> <Computation> <Type>ByteStreamFilter</Type> <Expression> diastolic = signal1.substring(4,6)</Expression> </Computation> </Reading> </Interface> </ComplexDevice>

A complex device:

“Signal”: the byte stream

output from the serial port.

“Reading”: the blood

pressure measurement

converted from the byte

stream.

Page 16: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

THE INTEGRATION PROCESS

Sensors

Actuators

Complex

Devices

Device Vendor

Ap

pli

cati

on

s

Application Programmer

Atlas Web Interface

Atlas Bundle

Repository

Device

Services

OSGi

Framework

Device Service

Bundle

Ant Builder

Other

Services

Middleware Provider

Composition

DDL Web Front-End

DDL Descriptor

Validity Checker

DDL Descriptor

Generator

DDL

Descriptor DDL Parser

Bundle

Generator

DDL Schema

Service

Bundle

Template

Device Bundle Project Code

1. Bundle source code

2. Build.xml

3. Manifest.mf

Online Generation Online Submission

System Integrator

DDL Language

Processor

Page 17: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

Role Implications (without ATLAS/DDL)

The system integrator is the sole player in the field and

has to deal with both hardware and software

complications.

Applications Hardware interfaces,

Communication

protocols, etc.

Software interfaces,

Business logic, etc. Devices

System

Integrator

Page 18: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

Role Implications (with ATLAS/DDL)

Multiple roles are engaged;

Their responsibilities are clearly separated by both

hardware and software abstractions.

Ser

vic

e-o

rien

ted

Pla

tfo

rm/M

idd

lew

are

Middleware

Provider

Device

Services

Devices

DDL

Device

Vendor

Applications

Application

Developer

System

Integrator Middleware

support Hardware

abstractions

Software

abstractions

Page 19: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

Case Study:

Constructing a Self-Sensing Space in

the Gator Tech Smart House

Page 20: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

CASE STUDY

Self-Sensing Space:

An intelligent environment that recognizes its devices and services, interpret their status, and generate a model of the space.

The challenges:

Integration of dumb objects: a self-sensing space should not ignore everyday objects such as furniture and electric appliances.

End-to-end self-integration: both smart devices and dumb objects should be seamlessly self-integrated into the space.

Page 21: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

APPLICATION SCENARIO

Device Bundle Factory

Remote Caregiver

System Integrator

DDL Device Descriptor

Self-Sensing 3D Interactive Model Interaction

Resident

Smart Devices

Dumb Objects

Atlas Platform

Atlas Middleware

Service Bundle

Service Bundle

Smart Plug

Page 22: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

Standardization through SODA

Page 23: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

STANDARDIZATION

DDL is a proposed implementation of

the Service-Oriented Device

Architecture (SODA) standard

framework.

SODA is

an emerging standard alliance,

an extension to SOA to incorporate

devices in distributed enterprise systems.

When modeled as a service, device access

and control can be made available to a

wide range of enterprise applications using

SOA mechanisms.

Page 24: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

STANDARDIZATION (II)

The DDL language specification and its software are

available online at

http://www.icta.ufl.edu/atlas/ddl/

Page 25: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

Related Work

Page 26: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

RELATED WORK

There have been a number of standards proposed:

ECHONET The Energy Conservation and Homecare Network standard, initiated in Japan.

IEEE 1451 The IEEE standard for smart transducer interfaces.

SensorML The Sensor Model Language, initiated in the geospatial community.

Device Kit An IBM implementation of the SODA architecture

Page 27: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

COMPARISON OF STANDARDS Key

Comparisons

ECHONET IEEE 1451 SensorML Device Kit DDL

Encoding Class specification in plaintext

Interface Definition Language

XML XML XML

Design perspective

Object-oriented Modular Data-oriented Modular Data-oriented

Device Model Single object Multiple blocks Process chain Multiple layers Single device, cross layer

Other Comparisons

ECHONET IEEE 1451 SensorML Device Kit DDL

Basic component

Device Block Process Device function layer

Device

Composite component

NA Device Process Chain Device Derived virtual sensor

Measurement modeling

Primitive data types

Complex data types

Complex data types

Primitive data types

Primitive data types

with aggregation

Protocol modeling

Inexplicit Explicit Inexplicit Explicit Explicit

Software support

NA NA NA DKML parser and Eclipse plug-in

DDL Language processor

Specification Published Published Published Only schema available

Published online

Page 28: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

Conclusion

Page 29: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

CONCLUSION

The scale and pace by which the Pervasive Internet is

evolving today demand a new breed of integration

technology that is scalable and automatic.

The Device Description Language within the Atlas sensor

platform and middleware is capable for describing and

integrating a great variety of devices ranging from a

pinhead sensor to a complex device.

Currently sensors and complex device integration are

supported.

We are now working on an improved design of the Atlas

firmware to better support actuator integrations.

Page 30: USING SODA ANGUAGE LA steep learning curve and laborious hacking experience Needs to examine its interface and study the device protocol to establish a connection. May not produce

Thank you!