Open Objects on WoT 2013
-
Upload
paulo-ricca -
Category
Technology
-
view
203 -
download
0
Transcript of Open Objects on WoT 2013
The Open ObjectDICE Lab
Royal Holloway University of London
Paulo Ricca Kostas Stathis
Smarter
Objects…
…But Still
Electronically Closed
We envision a world of collaborative Open
Objects supported by End-User Development
Structure
Framework
Implementation
Scenario and Case-Study
Conclusions
Framework
FUNCTIONALITY
+
Event Event
Event Event
Event
Actuators
Sensors
Actuators
Sensors
C2 Cn…C1
Actuators
Sensors
C2 Cn…C1E1
Actuators
Sensors
C2 Cn…C1
BnB1
E1
Behaviour Definition
Rule Definition
Implementation
Meta-Workflow
A Complete Open Object
Event Listener
Rule Execution
Rule Storage
Behaviour Managing
Behaviour Advertising
Thin Web Client
Thin Web Server
Other Behaviours
Open Object
An Incomplete Open Object
Event Listener
Rule Execution
Rule Storage
Behaviour Managing
Behaviour Advertising
Thin Web Client
Thin Web Server
Other Behaviours
Open Object
Event Listener
Rule Execution
Rule Storage
Behaviour Managing
Behaviour Advertising
Thin Web Client
Thin Web Server
Other Behaviours
Open Object
Event Listener
Rule Execution
Rule Storage
Behaviour Managing
Behaviour Advertising
Thin Web Client
Thin Web Server
Other Behaviours
Open Object
Scenario and Case-
Study
Door Sign
Door Sign
Door Sign Behaviours
Behaviour Advertising
Thin Web Client
Thin Web Server
Message Displayer
Traffic Light
Availability Cube
Availability Cube
Cube Behaviours
Behaviour Advertising
Thin Web Client
Thin Web Server
Orientation Sensing
Example Rules{ rule:
{ when: check_calendar,
do:
[
{
request: calendarchecking get_state,
calendar: `https://calendar.google.com/…..',
date_time: { request: timekeeping now }
}
]
}
}
Example Rules{ rule: {
when: check_availability,
do: {
request: flowcontrol choose,
value: { request: orientationsensing get,
on_fail: { request: eventlistener display_availability_from_calendar }
},
options:
[
{ value: 1,
do:
[
{ request: messagedisplayer display,
message: "Out for Lunch” },
{ request: trafficlight set, colour: red },
] }, ……
Conclusions
A framework definition;
An implementation supporting distributed and
decentralised choreography of Open Objects;
A real-world experimental case-study, based
on web standards and embedded
implementation.
Thank you!
Questions? Ideas?
Json Behaviour Definition{
`name': NAME,
`description': DESCRIPTION,
`capabilities':
[
{
`name': NAME,
`description': DESCRIPTION,
`parameters':
[
{
`name': NAME,
`type': TYPE,
`description': DESCRIPTION,
`optional': `True' | `False'
}
]
}
],
`events':
[
{
`name': NAME,
`description': DESCRIPTION
}
],
`characteristics':
[
{
`name': NAME,
`description': DESCRIPTION,
`unit': UNIT_OF_MEASUREMENT
}
]
}
Json Rule Definition
{
rule:
{
rule_id: ID,
cardinality:
{
PURPOSE:
{
behaviour: BEHAVIOUR,
minimum: MIN_NUMBER,
assignment: {}
}
},
when: PURPOSE EVENT,
do:
[
{
request: PURPOSE CAPABILITY,
external: URI,
ARGUMENT_NAME: ARGUMENT_VALUE OR REQUEST,
execution: “bottom-up” OR “top-down”,
on_error: {},
on_unauthorised: {},
on_unavailable: {}
}
],
on_error: {}
}
}