A Based-on Agent Framework for Home Networking

Transcription

A Based-on Agent Framework for Home Networking
145
A Based-on Agent Framework for Home
Networking
Si Hoàng DO, Marc BUI, and Paul KOPFF
Abstract— Home networking is the collection of elements that
process, manage, transport and store information, enabling the
connection and integration of multiple computing, control,
monitoring and communication devices in the home.
Finding and constructing a framework of home networking is a
complex work but it must be done. This framework must satisfy :
- Services may be dynamically loaded over a wide-area
network and accessed through a Services Gateway in a home.
- Services may be accessed by all connected devices and
networks in the home.
- The installation and update of services are managed in a
dynamic and scalable way.
- Services can be shared with other services and run on
environments of limited resourced like embedded device.
This paper presents frameworks used in home networking and
proposes a new framework based on mobile agent system.
Index Terms— Home networking, residential gateway, Java,
distributed application, AutoHAN, OSGi, mobile agent.
l’émergence d’applications domotiques dans l’habitat.
La synergie de nouvelles applications domotiques crée un
nouvel espace permettant de développer de nouveaux marchés
en répondant aux besoins du grand public utilisateur.
Dans cet article, nous décrivons d'abord les cadres de travail
existants de la domotique. L’objectif de cet article est, après
1
avoir présenté les frameworks existants de la domotique, de
proposer
un
contexte
d’interopérabilité
pour
le
Home
Networking.
II.
ROBLÈME
P
Avec le développement de la technologie, les équipements
domestiques sont de plus en plus numériques et interconnectés
en réseau dans la maison. La construction d’un framework
pour la maison est maintenant essentielle. Elle peut nous aider
à gérer les dispositifs, à communiquer avec des réseaux
externes, notamment à gérer et mettre à jour les services
téléchargeables d’un réseau à grande échelle comme Internet.
I.
L
NTRODUCTION
I
Les caractéristiques principales de la domotique sont :
a domotique englobe l’ensemble des services et techniques
visant à intégrer dans l’habitat des fonctions dans des
domaines d’application dont certains peuvent utiliser des
réseaux de télécommunications externes.
Ces domaines d’application sont: la gestion d’énergie, la
gestion de l’eau, la sécurité, le divertissement et l’éducation,
l’éclairage et les appareils ménagers et les communications
internes et externes.
La domotique intègre plusieurs technologies existantes et
nouvelles. Son développement et son implantation requièrent
l’association d’industriels, de professionnels et de groupes
d’utilisateurs pluridisciplinaires. On y trouve entre autres, les
concepteurs de produits, les fournisseurs de services, les
manufacturiers,
constructeurs,
les
les
promoteurs
représentants
immobiliers
des
et
gouvernements,
les
Fig. 1. Système de la maison communicante
les
associations de personnes âgées et handicapées, les centres de
recherche
et
autres,
dont
le
souci
est
de
-
promouvoir
Manuscript received October 20, 2002.
Si Hoàng DO is with the Laboratoire de Recherches d’Informatique
Avancée (LRIA), University of Paris 8, 41 rue Gay Lussac, 75005 Paris –
France, and with the Electricité de France, Division Recherche et
Développement (EDF R&D), avenue des Renardières – Ecuelles, 77250
Moret sur Loing - France (e-mail: [email protected]).
Marc BUI is with the LRIA, University of Paris 8, 41 rue Gay Lussac,
75005 Paris - France (e-mail: [email protected]).
Paul KOPFF is with the Electricité de France, Division Recherche et
Développement (EDF R&D), 1 avenue du Général de Gaulle, 92141 Clamart
Cedex – France (e-mail: [email protected]).
des services peuvent être dynamiquement chargés sur
un réseau à grand secteur (comme Internet) et être
accessibles avec une passerelle de services dans la
maison.
-
des services peuvent être consultés par tous les
dispositifs reliés par les réseaux dans la maison.
-
l'installation et la mise à jour des services sont
contrôlées de manière dynamique et extensible.
Framework : cadre de travail. Nous préférons conserver l’appellation
anglo-saxonne « framework » pour une question d’usage « métier »
1
146
-
des services peuvent être partagés avec les autres
le
services et s’exécutent sur l'environnement d’une
AutoHAN, ce qui gène l’industrialisation du système.
ressource limitée comme un dispositif embarqué.
III.
A.
D
logiciel
B.
EUX SYSTEMES CONNUS DE HOME NETWORKING
ne
supporte
que
les
dispositifs
conformes
à
Framework d’OSGi (Open Services Gateway initiative)
Le but d'OSGi est de définir et stimuler l'adoption rapide de
caractéristiques « ouvertes » pour la livraison des services à
large bande contrôlés aux réseaux dans les maisons, les
Architecture d’ AutoHAN
les
voitures et autres environnements. Aujourd’hui, le framework
ressources peuvent décrire leur interface de contrôle et leurs
d’OSGi devient un standard avec le soutien de plus de soixante
attributs (non fonctionnels), et trouver d'autres ressources sur
grandes sociétés de par le monde.
AutoHAN
[2]
fournit
un
mécanisme
par
lequel
Le framework forme le noyau de la spécification de la plate-
le réseau et interagissent avec elles.
Cette architecture est proposée par le Computer Laboratory
of
University
développer
of
une
Cambridge.
Le
méthodologie
but
avancée
d'AutoHAN
et
est
complète
de
pour
contrôler des dispositifs dans la maison. L’accent porte sur la
configuration automatique et l'application automatisée des
forme de service d'OSGi [7]. Elle fournit un framework en
Java
sécurisé,
déploiement
contrôlé,
des
d'usage
applications
universel qui soutient le
de
service
extensibles
et
téléchargeables connues sous le nom de bundles.
Les dispositifs conformes à OSGi peuvent télécharger et
règles définies sur les dispositifs et le comportement de la
maison. Le projet emploie un langage typé (langage AutoHAN
– un langage de type byte code, interprété) pour manipuler des
2
3
expressions XML - la forme utilisée par UPnP et HomeAPI .
Dans AutoHAN, tout est décrit en XML: les dispositifs, les
Fig. 3. Framework d’OSGi.
installer des bundles d'OSGi et les enlever quand ils ne sont
plus nécessaires. Les bundles installés peuvent enregistrer un
certain nombre de services qui peuvent être partagés avec
d'autres bundles sous le contrôle strict du framework.
Le framework contrôle l'installation et la mise à jour des
paquetages
Fig. 2. Architecture du système AutoHan.
dans
un
environnement
d'OSGi
de
manière
dynamique et extensible et contrôle les dépendances entre les
programmes, les salles, les gens, les licences, et, naturellement,
bundles et les services.
les types d’événement.
Les dispositifs conformes à AutoHAN ont des fonctions de
base qui sont définies dans leur mémoire ROM, avec une
Le framework d’OSGi fournit au développeur de bundles
architecture pour contrôler les ressources trouvées à l'intérieur
les ressources nécessaires pour tirer profit de l'indépendance
de ces dispositifs, tels que le stockage générique, l’exécution,
de la plate-forme Java et des possibilités de téléchargement
l’interface utilisateur, et les fonctions spécialisées.
dynamique de code. Les services peuvent alors se développer
Grâce au module logiciel IHan, le réseau de la maison est
autorisé à accéder à Internet. Ce module est installé sur la
passerelle de la maison. IHan présente le réseau de la maison
facilement, et se déployer des services à grande échelle dans
les dispositifs qui ont peu de mémoire.
Le
framework
fournit
également
un
modèle
de
comme un ensemble de pages décrites au format de XML.
programmation concis et cohérent pour les développeurs de
L'utilisateur
bundles
peut
y
trouver
les
dispositifs
disponibles
et
commander leur comportement.
Ce système présenté a un grand inconvénient par le fait que
UPnP : Universal Plug'n'Play - Service réseau de Microsoft permettant
l'identification automatique des matériels réseau.
3
HomeAPI : Standard ouvert pour des services et des applications
logicielles permettant la commande des équipements de la maison. Le but est
de piloter les nouveaux équipements numériques via un PC.
2
en
Java,
simplifiant
le
développement
et
le
déploiement des services en découplant les spécifications de
service (interface Java) de ses implémentations. Ce modèle
permet à des développeurs de bundles de relier les services
seulement par leurs spécifications d'interface. Le choix d'une
implémentation, optimisée pour un besoin ou un fournisseur
spécifique, peut être ainsi reporté à la phase d'exécution.
147
Le
framework
permet
à
des
bundles
de
choisir
une
C’est l’environnement des agents, il comporte de deux
implémentation disponible au moment de la phase d'exécution
modules : un module de gestion d’exécution d’agents et
par l'enregistrement de services du framework. Les bundles
module de sérialisation et desérialisation d’agents.
un
enregistrent de nouveaux services, reçoivent des notifications
Le module de gestion d’exécution d’agents maintient le
de l'état des services ou recherchent des services existants afin
de s'adapter aux possibilités courantes du dispositif. Cet aspect
cycle de vie des agents: initialisation, exécution, suspension et
4
arrêt. Quand l'état de cycle de vie d'un agent est changé, le
du
noyau du système diffuse certains événements à l'agent.
framework
le
rend
extensible
après
déploiement:
de
nouveaux bundles peuvent être installés pour les fonctions
supplémentaires
ou
des
bundles
existants
peuvent
être
modifiés et mis à jour sans exiger le redémarrage du système.
C.
Le
module
de
sérialisation
et
desérialisation
d’agents
comprend un mécanisme de cryptage et décryptage d’un agent
quand il est transféré d’un site à un autre. Ce mécanisme
permet le noyau du système de vérifier si l'agent arrivé est
Limitations des frmeworks présentés
Les cadres de travail mentionnés ci-dessus satisfont aux
services classiques tels que : manipuler un dispositif, faire une
série de commandes avec un événement de déclenchement.
Néanmoins, avec les services plus complexes comme les
valide ou pas, afin de protéger le système entier contre les
agents inadmissibles ou malveillants.
B.
Sous-composants
Le noyau de système comprend seulement les fonctions
services orientés pour les objets mobiles (ex. : personne,
indépendantes de l'environnement
fondamental. Au lieu de
voiture, objet portable, … ) ou bien les services demandant
cela,
fournies
une négociation (ex. : service de confort), le développement
composants mis en application en tant qu'agents mobiles en
devient plus peu difficile.
dehors du noyau du système. Les fonctions peuvent donc être
La
technologie
agent
mobile
facilite
le
travail
de
développement de ces services. Grâce aux caractéristiques
les
autres
fonctions
sont
par
des
sous-
ajoutées, supprimées et mises à jour dynamiquement par la
migration et le remplacement des agents correspondants.
d’un agent mobile, un service – logiciel agent peut interagir
Bien entendu, un agent est un service. Il peut être un pilote
avec d'autres services, fonctionner sans intervention directe
d’un équipement domestique, un service d’un fournisseur de
des humains ou d'autres entités, percevoir leur environnement
services ou bien un service de base du framework de la
(qui peut être le monde physique, un utilisateur via une
domotique.
interface utilisateur graphique, …) s’y adapter et répondre
d'une façon opportune aux changements qui se produisent dans
cet environnement. Un framework basé sur un système d’agent
mobile peut donc répondre à nos besoins.
IV.
RAMEWORK BASE SUR LE SYSTEME D’AGENT MOBILE
F
Pour bénéficier de la standardisation du framework d’OSGi,
on construit le framework basé sur le système d’agent mobile
comme une couche de développement au-dessus de celle
d’OSGi. C’est à dire, ce cadre est développé comme un service
d’OSGi.
La structure du système se compose 2 parties : le noyau du
système et les sous-composants.
A.
C.
Services de base
1)
Service d’interface Web
Ce service s’inscrit au système sous un URL fixe. Il permet
aux
services-agents
arrivés
d’enregistrer
ses
informations
(fonction de contrôle, interface utilisateur, …) et de les
supprimer quand les agents migrent. En plus, le service fournit
à l’utilisateur une page de loggin pour qu’il puisse consulter le
système et trouver les dispositifs, les informations et les
services disponibles.
2)
Service de journalisation
Ce service stocke toutes les informations des événements
qui arrivent aux services-agents inscrits.
V.
Noyau du système
Nous
sommes au cours de
l’architecture
mobile,
ONCLUSION
C
la
du framework basé
avec
développement
l’intention
de
au-dessus
du
phase de
sur
le
construire
standard
définition de
système d’agent
une
OSGi.
couche
Le
de
langage
d’implémentation choisit donc Java. Le framework développé
se basera sur les frameworks existants. Les Aglets [9], grâce à
leur popularité et à sa mode de diffusion « open source » et
MobileSpaces [10], grâce à sa structure hiérarchique sont les
candidats
éligibles
pour
construire
notre
service
agent
extensible.
Fig. 4. Framework basé sur le system d’agent mobile - un complément du
framework d’OSGi.
4
Le modèle de cycle de vie peut être représenté par un automate qui
définit dont les différents états d'exécution un agent mobile et les événements
qui causent le mouvement d'un état à un autre. Il définit également la durée de
l'existence de l'agent.
148
REFERENCES
[1] R. Gustavsson, “Agents with power”, Communications of the ACM,
(42) 3, pp.41-47, 1999.
[2] U. Saif, D. Gordon, D.J. Greaves, “Internet Access to a Home Area
Network”, IEEE Internet Computing, pp.54-63, 2001.
[3] Home Plug and Play: CAL-based interoperability for Home Systems,
CEBus Industry Council, 4405 Massachusetts Avenue, Indianapolis, IN
46218, USA. 1997.
[4] T.A. Horan, “The Paradox of Place”, Communications of the ACM, (44)
3, pp.59-60, 2001.
[5] Borriello, R. Want, “Embedded Computation Meets the WWW”,
Communications of the ACM, (43) 5, pp.59-66, 2000.
[6] G. Bell and J. Gemmel, “A call for the Home Media Network”,
Communications of the ACM, (45) 7, pp.71-75, 2002.
[7] The Open Services Gateway initiative, OSGi Service Platform, Release
2, October 2001.
[8] Stan Franklin and Art Graesser , “Is It an Agent, or Just a Program?: A
Taxonomy for Autonomous Agents”, Proceedings of the Third
International Workshop on Agent Theories, Architectures, and
Languages (Institute for Intelligent Systems, University of Memphis,
1996).
[9] B. D. Lange and M. Oshima, “Programming and Deploying Java Mobile
Agents with Aglets”, Addison-Wesley 1998.
[10] Ichiro Satoh, “MobileSpaces: A Framework for Building Adaptive
Distributed Applications using a Hierarchical Mobile Agent System”,
Proceedings of IEEE International Conference on Distributed
Computing Systems (ICDCS'2000), pp.161-168, IEEE Computer
Society, April, (2000).
[11] J. E. White, “Telescript Technology: Mobile Agents”, General Magic,
1995.
Si Hoàng DO received a MS in 1999 from the Institut de la Francophonie
pour l’Informatique (IFI), and now, he is PhD student at the Laboratoire de
Recherches d’Informatique Avancée (LRIA), University of Paris 8. His
research interests are in distributed system. His current research focuses on
the based-on agent framework for Home Services.