• Aucun résultat trouvé

CCNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

N/A
N/A
Protected

Academic year: 2022

Partager "CCNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications"

Copied!
20
0
0

Texte intégral

(1)

An Architecture Description Language for Dynamic Sensor-Based Applications

Humberto Cervantes

Universidad Autonoma Metropolitana-Iztapalapa, Mexico hcm@xanum.uam.mx

Didier Donsez, Lionel Touseau

University Grenoble-1, France

Didier.Donsez@imag.fr, Lionel.Touseau@imag.fr

(2)

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

Outline

Machine-to-machine context

Sensor-based applications

A dynamic architecture description language

WireAdmin binder implementation

Examples

Conclusion

(3)

22/01/2008

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

Context : machine-to-machine

New wave of e-business

ITU Internet report 2005, « The Internet of Things »

Mainly sensor-based applications

O 2

(4)

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

Data processing chain

Aggregation, filtering, correlation (P=U*I), …

Sensor-Based Applications

O

2

Sensors Actuators

Sensor-based applications

Producer Consumer Design pattern

911

(5)

22/01/2008

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

burglar central

fire central

Room 100 Room 199

thermometer outdoor

thermometer IR-based

presence detector smoke

detector

air cond. lighting

thermometer Security

Camera -based presence

detector smoke

detector

air cond. lighting

HVAC central

lighting central HVAC

central

lighting central Actuators

Sensors

Sensor Based Applications

Example of a sensor-based application Small Office Home Office network

Shared

sensor

(6)

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

Sensor-Based Applications Requirements

More than 1000 rooms

Complex hardware architectures

Large number of heterogeneous devices

complex software architectures for SBA

Taking into account evolution

Failures

Hardware or software maintenance

Addition / removal of sensors, actuators, applications, …

Who can maintain these applications?

Need for dynamic software adaptability

To support evolution

(7)

22/01/2008

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

Proposition

Observations

Developers cannot foresee all components and the links between them

Complex applications are hardly maintenable

Our approach

Enable loose coupling between producers and consumers through SOA

Describe sets of possible bindings between sensors and applications

Automate the bindings

Automate the application lifecycle

according to sensors and actuators availability

(8)

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

SOA & Dynamic SOA

Definition

Dynamic SOA

Components can be notified of service changes in the environment

OSGi, UPnP, DPWS, …

Service Provider Service

Requester

Service broker

register lookup

binding I am a

temperature producer in

room 1 service + properties

(e.g.,

data.type=temperature location="room 1") I am the HVAC

system of room 1 and I need

updated temperature

values

(9)

22/01/2008 CCNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

E xa m p le : H V A C

∑ P ro d u ce r

W ire

C o n su m e r A ct u a to rs S e n so rs

H V A C

A g g re g a to r

(10)

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

WADL: an Architecture Description Language for Sensor Based Applications

WireApp

A dynamic sensor-based application

WireSet

Set of possible wires between producers and consumers according to types of data exchanged

between them (+ constraints)

Define wire lifecycle

QoS Properties

Parameters for the wire creation

WireApp -id: String

-description: String -acyclic: boolean

WireSet -id: String

-description: String -producersFilter: String -consumersFilter: String -mandatory: boolean -removePolicy: RemovePolicy

Property -name: String -value: String -type: String

RemovePolicy

<<enumeration>>

+KEEP_ALIVE +WHILE_PRODUCER +WHILE_CONSUMER +IF_DISCONNECTED

Wire

<<persistent>>

Consumer Producer composed of

1 1..*

generates

1 0..*

characterized by

-properties 1

0..*

connects 0..*

0..1 connects

0..*

0..1

e.g., new values

should be retrieved

(11)

22/01/2008

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

WADL

Wire Creation

WireApp -id: String

-description: String -acyclic: boolean

WireSet -id: String

-description: String -producersFilter: String -consumersFilter: String -mandatory: boolean -removePolicy: RemovePolicy

Property -name: String -value: String -type: String

RemovePolicy

<<enumeration>>

+KEEP_ALIVE +WHILE_PRODUCER +WHILE_CONSUMER +IF_DISCONNECTED

Wire

<<persistent>>

Consumer Producer composed of

1 1..*

generates

1 0..*

characterized by

-properties 1

0..*

connects 0..*

0..1 connects

0..*

0..1

(12)

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

WADL

Wire Creation

WireApp -id: String

-description: String -acyclic: boolean

WireSet -id: String

-description: String -producersFilter: String -consumersFilter: String -mandatory: boolean -removePolicy: RemovePolicy

Property -name: String -value: String -type: String

RemovePolicy

<<enumeration>>

+KEEP_ALIVE +WHILE_PRODUCER +WHILE_CONSUMER +IF_DISCONNECTED

Wire

<<persistent>>

Consumer Producer composed of

1 1..*

generates

1 0..*

characterized by

-properties 1

0..*

connects 0..*

0..1 connects

0..*

0..1

HVAC

central

(13)

22/01/2008

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

WADL

WireApp Lifecycle

WireApp -id: String

-description: String -acyclic: boolean

WireSet -id: String

-description: String -producersFilter: String -consumersFilter: String -mandatory: boolean -removePolicy: RemovePolicy

Property -name: String -value: String -type: String

RemovePolicy

<<enumeration>>

+KEEP_ALIVE +WHILE_PRODUCER +WHILE_CONSUMER +IF_DISCONNECTED

Wire

<<persistent>>

Consumer Producer composed of

1 1..*

generates

1 0..*

characterized by

-properties 1

0..*

connects 0..*

0..1 connects

0..*

0..1

HVAC central

WireSet

(14)

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

WAB WireAdminBinder (WAB)

Implementation for the OSGi WireAdmin service

WADL manager

creates and deletes wires through the OSGi WireAdmin service

WireAdmin Service

Specification of a middleware implementing the producer/consumer design pattern for the OSGi framework

Manages wires lifecycles

Creation / deletion

Data values in the wire are

updated by producers

polled by consumer

P Wire C

Object

Producer Consumer

(15)

22/01/2008

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

OSGi Wire Admin Service Impl OSGi Wire Admin Service Impl

Wire

Room100 Temperature

Sensor Room100 Temperature

Sensor

Wire Wire

P P

Room199

Temperature Sensor

Room199

Temperature Sensor

Fire Central Fire Central

P P C C C C P P

Room199 Smoke Detector Room199 Smoke Detector

WireAdmin Binder WireAdmin

Binder

P C P C C P WireAdmin

flavors=j.m.

Measure (SI.K)

flavors=o.o.m.

Measurement (SI.K)

flavors=Measure

& Measurement (SI.K)

flavors=c.a.d.

SmokeLevel flavors=c.a.d.

SmokeLevel

flavors=Unit (K) flavors=Unit (K) flavors=SmokeLevel WADL

uses

Example of an application wired by WireAdminBinder

293 0%

293

(16)

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

Wire Admin Service Impl Wire Admin Service Impl

Wire

Room100 Temperature

Sensor Room100 Temperature

Sensor

Wire Wire

P P

Room199

Temperature Sensor

Room199

Temperature Sensor

Fire Central Fire Central

P P C C C C P P

Room199 Smoke Detector Room199 Smoke Detector

WireAdmin Binder WireAdmin

Binder

P C P C C P WireAdmin

flavors=j.m.

Measure (SI.K)

flavors=o.o.m.

Measurement (SI.K)

flavors=Measure

& Measurement (SI.K)

flavors=c.a.d.

SmokeLevel flavors=c.a.d.

SmokeLevel

flavors=Unit (K) flavors=Unit (K) flavors=SmokeLevel WADL

uses

Example of an application wired by WireAdminBinder

313 40%

293

(17)

22/01/2008

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

Wire Admin Service Impl Wire Admin Service Impl

Wire

Room100 Temperature

Sensor Room100 Temperature

Sensor

Wire Wire

P P

Room199

Temperature Sensor

Room199

Temperature Sensor

Fire Central Fire Central

P P C C C C P P

Room199 Smoke Detector Room199 Smoke Detector

WireAdmin Binder WireAdmin

Binder

P C P C C P WireAdmin

flavors=j.m.

Measure (SI.K)

flavors=o.o.m.

Measurement (SI.K)

flavors=Measure

& Measurement (SI.K)

flavors=c.a.d.

SmokeLevel flavors=c.a.d.

SmokeLevel

flavors=Unit (K) flavors=Unit (K) flavors=SmokeLevel WADL

uses

Example of an application wired by WireAdminBinder

333 90%

WireAdmin

293

(18)

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

Wire Admin Service Impl Wire Admin Service Impl

Wire GPS

Receiver GPS Receiver

Wire Wire

P P

Inertial Sensor Inertial Sensor

Position Correlator

Position Correlator

P P C C C C P P C C

POI Locator

POI Locator

WireAdmin Binder WireAdmin

Binder

P C P C P C WireAdmin

flavors=Position flavors=DiffPos flavors=Position, WADL DiffPos

flavors=

Position

flavors=

Position

flavors=Position flavors=DiffPos flavors=Position

Another example

GPS-based navigation assistant

(19)

22/01/2008

CNC 2008, An Architecture Description Language for Dynamic Sensor-Based Applications

Conclusion

Ease the design of dynamic SBA with large number of sensors

Sensors can be added and removed at runtime

Sensors can be shared among several applications

Wire life-cycle control automation

WireAdminBinder implementation for the OSGi WireAdmin

WAB : part of the Apache Felix project

http://svn.apache.org/felix/sandbox/donsez/wab

Validated in the PISE project (funded by the french DoI)

Domain : Energy distribution in factory plants

(20)

Questions & Answers

Références

Documents relatifs

So the main reasoning problem in ADML can be reduced to knowledge base (KB) satisfiability in the DDL( SHON (D)) dynamic description logic. After- wards, dynamic description

Muni de cette correspondance, on peut ensuite décider d’utiliser les graphes sémantiques à la fois pour la génération et l’analyse de texte ; et s’il est nécessaire de

We show that the use of dynamic language properties makes it possible to enhance the development of plant growth models: (i) by keeping a simple syntax while allowing for

Perspectives of the mobile robot middleware and application development in the context of wireless sensor networks are mainly focused on issues of deploy- ment algorithm

We provide guidance on using the AADL language for modeling behaviors of fault-tolerant software systems, and show that the development of patterns is very useful

:يمي اميف عفاودلا فئاظو صخمي يحيمملا يممح روتكدلاف لمعمل ةيمخادلا رداصملا لثمت اينأ يأ ةيمخادلا ةزيجلاا و تايللاا ةراثا كومسلا ريثتست يتلا

Again, in the class of maximal local effectivity functions, we can determine the stability index: by checking exactness and classical properties of effectivity functions

Left panel: Power Spectral Density (PSD) of Quaternary Single Side Band frequency shift Keying (4-SSB-FSK) with phase pulse width w = 0.37T.. Right panel :