http://ulno.net/phd 26.01.2007
Configuring eHome Systems Teooriapevad 2007, Ruge Ulrich - - PowerPoint PPT Presentation
Configuring eHome Systems Teooriapevad 2007, Ruge Ulrich - - PowerPoint PPT Presentation
Configuring eHome Systems Teooriapevad 2007, Ruge Ulrich Norbisrath Tartu University + RWTH Aachen University http://ulno.net/phd 26.01.2007 Configuring eHome Systems Ulrich Norbisrath http://ulno.net Outline Terms and Motivation
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Outline
Terms and Motivation Component based Frameworks eHomeConfigurator Functionality Configuring Conclusion/ Outlook
2/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
eHome
Distributed IP-based Service Platform Provider
(remote)
Digital Content Applications Services
IP-based Service Platform
Residential Gateway (HW) Service Gateway (SW)
Multi-User
I n t e r f a c e D e v i c e s
( l
- c
a l / r e m
- t
e )
Infotainment
Open-Closed- Sensor
Open ClosePhoto Sensor Ammeter Thermo- meter Heater Rollerblind Lamp
Consumption
Motion Detector Camera Siren Motion Detector Camera Lamp
USB X10
Security
3/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Top Level Services
Lighting
usual light control based on switches and buttons
Lighting Motion
light control with movement sensors
Security
intrusion detection, local alarm, notification
Music Follows Person
person detection -> corresponding music
All On/ All Off
4/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Environments
5/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Environments
X10
- wn cleware USB Lego controller
USB-Webcams person detection via switch panel person detection via color
- f Lego puppets
EIB Honeywell person detection via RFID
5/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Motivation Configuring-Support
? ? ? ? ? ?
6/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Motivation Configuring-Support
? ? ? ? ? ?
6/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Motivation Configuring-Support
? ? ? ? ? ?
6/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Development Process
Deinstallation eHome System Development Execution
eHome Process (eHome-specific)
Requirements Engineering
Maintenance Deinstallation Service Development & Service Specification
e H
- m
e P r
- c
e s s ( p r
- d
u c t
- s
p e c i f i c )
Deployment Execution & Billing
Business Process (eHome-specific)
Maintenance
Repetive development to repetetive configuring
Configuring Specifying
Needs:
- Reusability
- Configurability
- > Component based Development
7/18
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Simple Security Service
Intrusion via X10 movement detectors
siren attached to X10 switch email message with picture from webcam
residential gateway Movement Detector Kameras siren PC
Internet
8/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Component based Frameworks
Manual coding of simple security service
- n various frameworks:
In this case approx.: 4000 LOC/ month
too much for mass deployment
Further testing on OSGi Configuring support needed
Lines of Code for Framework Drivers Services Glue Sum Jini 5793 1249 548 7590 Rio 3226 665 915 4806 Openwings 7191 1819 13720 22730 OSGi 3794 826 356 4976
9/18
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
eHomeConfigurator - Specifying
10/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
eHomeConfigurator - Specifying
10/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
eHomeConfigurator - Specifying
10/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Configuration Meta Model
Java code for model and graph- specification is generated with Fujaba via MDA-methods
11/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
eHomeConfigurator - Configuring
12/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
eHomeConfigurator - Configuring
12/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
eHomeConfigurator - Configuring
12/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
eHomeConfigurator - Configuring
12/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Result Configuring: Appliances
13/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Result Configuring: Deployment
14/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
14/19
Result Configuring: Deployment
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Functionalities/ Semantic Labels
Sufficient for functionality composition Interface matching not covered
alarm.email alarm.acoustic alarm.visual
15/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Functionality Configuring
Visual Alarm Service
- object
16/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Functionality Configuring
Visual Alarm Service
- object
Illumination Control
- object
Lego Lamp Control
- object
uses uses Lego Lamp controls
16/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Service-Installation
- 1. instanciate ServiceObject
- 2. devices (appliances)
- 3. do composition
- 4. iinstall new services
X10 Switch Panel House Code: 1
- attribute
has Bedroom Lighting Service has selected contains
For all top level services do
17/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Service-Installation
- 1. instanciate ServiceObject
- 2. devices (appliances)
- 3. do composition
- 4. iinstall new services
X10 Switch Panel House Code: 1
- attribute
has Bedroom Lighting Service has selected Lighting Service
- object
has serv. object is instanciated as contains
For all top level services do
17/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Service-Installation
- 1. instanciate ServiceObject
- 2. devices (appliances)
- 3. do composition
- 4. iinstall new services
X10 Switch Panel Illumination Control
- object
uses Switch Panel Selector
- object
uses House Code: 1
- attribute
has Bedroom Lighting Service has selected Lighting Service
- object
has serv. object is instanciated as contains
For all top level services do
17/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Service-Installation
- 1. instanciate ServiceObject
- 2. devices (appliances)
- 3. do composition
- 4. iinstall new services
X10 Switch Panel Illumination Control
- object
uses Switch Panel Selector
- object
uses House Code: 1
- attribute
has Bedroom Lighting Service has selected Lighting Service
- object
has serv. object is instanciated as contains
For all top level services do
17/19
X10 Lamp Control
- object
X10 Switch Panel Control - object uses uses
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Service-Installation
- 1. instanciate ServiceObject
- 2. devices (appliances)
- 3. do composition
- 4. iinstall new services
X10 Switch Panel Illumination Control
- object
uses Switch Panel Selector
- object
uses Switch Nr: 0
- attribute
has House Code: 1
- attribute
has X10 Lamp Control
- object
X10 Switch Panel Control - object uses uses Bedroom Lighting Service has selected Lighting Service
- object
has serv. object is instanciated as contains
For all top level services do
17/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Service-Installation
- 1. instanciate ServiceObject
- 2. devices (appliances)
- 3. do composition
- 4. iinstall new services
X10 Switch Panel Illumination Control
- object
uses Switch Panel Selector
- object
uses Switch Nr: 0
- attribute
has House Code: 1
- attribute
has X10 Lamp Control
- object
X10 Switch Panel Control - object uses uses Bedroom Lighting Service has selected Lighting Service
- object
has serv. object is instanciated as contains X10 Lamp Socket controls controls contains
For all top level services do
17/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Service-Installation
- 1. instanciate ServiceObject
- 2. devices (appliances)
- 3. do composition
- 4. iinstall new services
X10 Switch Panel Illumination Control
- object
uses Switch Panel Selector
- object
uses Switch Nr: 0
- attribute
has House Code: 1
- attribute
has House Code: A
- attribute
Device Code: 1
- attribute
has has X10 Lamp Control
- object
X10 Switch Panel Control - object uses uses Bedroom Lighting Service has selected Lighting Service
- object
has serv. object is instanciated as contains X10 Lamp Socket controls controls contains
For all top level services do
17/19
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Implementation Effort eHomeConfigurator
Simple Security in eHomeConfigurator Saving > 50 % all components reusable integrated service usually 2 days still too much gluecode (metafile errors!)
Service Logic LOC Glue LOC Sum ehsecurity 158 100 258 ehilluminate 144 107 251 ehintrusiondetector 117 101 218 ehemail 80 110 190 clewarecontrol 253 126 379 ehlegomovementdetector 137 100 237 ehlegomotioncontrol 320 127 447 ehlegolampcontrol 144 140 284 Sum 1353 911 2264
18/19
Driver
Ulrich Norbisrath http://ulno.net 26.01.2007
Results/Conclusion Functionality Configuring eHomeConfigurator Frameworks
Configuring eHome Systems
Motivation
Conclusion/ Outlook
simplification of eHome system software development needs:
component based programming configuring support
regard semantic aspects
future work
parametric contracts replacing function labels -> capture more semantics glue code reduction
19/19