63
Mise en œuvre de WComp 2.0 Mail: [email protected] Web: http://stephane.lavirotte.com/ Université de Nice – Sophia Antipolis 16/03/2015 1 S. Lavirotte - G. Rey - J.-y. Tigli

Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Mise en œuvre de WComp 2.0

Mail: [email protected]

Web: http://stephane.lavirotte.com/

Université de Nice – Sophia Antipolis

16/03/2015 1S. Lavirotte - G. Rey - J.-y. Tigli

Page 2: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Plan Cours / TP

Cours :

– Architecture orientée services pour dispositifs en Informatique

Ambiante

– Concepts de la Plate-forme WComp 2.0

TP:

– Installation de WComp 2.0

– Mise en œuvre de WComp pour UPnP

16/03/2015 2S. Lavirotte - G. Rey - J.-y. Tigli

Page 3: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Architecture orientée services

pour dispositifs en

Informatique AmbiantePartie 1

16/03/2015 3S. Lavirotte - G. Rey - J.-y. Tigli

Page 4: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Modélisation des systèmes en

Informatique Ambiante

« L’application reste, les dispositifs d’entrée/sortie changent … »

Hétérogénéité et Dynamicité de

l’environnement d’exécution

Organes de traitement de l’information

Classe des

systèmes

Description

CPU des Unités de Traitement Matérielles-

Logicielles

D des Dispositifs d’entrée-sortie

16/03/2015 4S. Lavirotte - G. Rey - J.-y. Tigli

Page 5: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Modélisation des systèmes en

Informatique Ambiante Organes d’interaction avec l’environnement (dispositifs

d’entrée/sortie du système d’information)

Catégorie de

dispositifUtilisation

Dccommunication entre CPUs constituant nos réseaux de

télécommunications

Distockage de l’information

Duinteraction avec l’utilisateur

Deentrée-sortie vers l’environnement physique ou réel

(appellation commune)

16/03/2015 5S. Lavirotte - G. Rey - J.-y. Tigli

Page 6: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Exemple : Objets communicants

ou "Ubiquituous Computing"

Informatique pervasive ou ubiquitaire

U

DcCPU

Du

Du

De

Liaisons permanentes

Liaisons non permanentes

16/03/2015 6S. Lavirotte - G. Rey - J.-y. Tigli

Page 7: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Exemple : Ordinateur Porté ou «

Wearable Computer »

Ordinateur Porté

UDc

CPU

Du

Du

De

Dc

De

Liaisons permanentes

Liaisons non permanentes

16/03/2015 7S. Lavirotte - G. Rey - J.-y. Tigli

Page 8: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Approches Logicielles : Des

bibliothèques aux services … Historique :

– Avant toute distribution :

Pilotes

Bibliothèques Widgets / Phidgets

– Approches Clients/Serveurs :

Services à protocole dédié (ex. VRPN … )

Services basés sur des intergicielles

Web Services

16/03/2015 8S. Lavirotte - G. Rey - J.-y. Tigli

Page 9: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Les services pour dispositifs

Salutation SLP Jini UPnP Bonjour Bluetooth JESA SCP

Fondateur

Consortium

Année

Langage

Transport

SUN Microsoft Apple Indep. Microsoft

Salutation SVRLOC Java UPnP Zeroconf Bluetooth

1995 1997 1999 1999 1999 2001 2002 2002

RPC lang Indep. Java Indep. Indep. Indep. Java Indep.

Indep. IP IP IP IP Bluetooth IP Indep.

V. Hourdin, S. Lavirotte, J.-Y. Tigli, « Comparaison des Services pour Dispositifs, » rapport de recherche I3S CNRS UNSA, RR-2006-25-FR

16/03/2015 9S. Lavirotte - G. Rey - J.-y. Tigli

Page 10: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Des Web Services aux Dispositifs

Phase 1 : Données,

Phase 2 : Programmes,

Phase 3 : Dispositifs …

HTTP Request

HTTP Response : HTML

HTTP Request

HTTP Response : Données

HTTP Request

HTTP Response : Données

16/03/2015 10S. Lavirotte - G. Rey - J.-y. Tigli

Page 11: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Faiblesses des Web Services

dans le cadre des Dispositifs Classer et chercher :

– Annuaire

Communiquer :

– Protocole Requête / Réponse

Web Services pour Dispositifs :

– Recherche et Découverte Distribuée

– Communications Asynchrones par événements

16/03/2015 11S. Lavirotte - G. Rey - J.-y. Tigli

Page 12: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Web Services pour Dispositifs :

ex UPNP UPnP

http://www.upnp.org/

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 12

EvènementsContrôleRecherche et Découverte

IP

UDP TCP

HTTPMU(multicast)

SSDP

GENA HTTPU(Unicast)

SSDP HTTP GENASOAP

HTTP

Page 13: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Méthodologie de

Développement Une constellation de Services :

– Ubiquarium Informatique

Plate-forme WComp 2.0 :

– Recherche / Découverte / Orchestration

– Réification de l’assemblage en un service

Des outils d’orchestration transversaux basés sur des

domaines de préoccupation

16/03/2015 13S. Lavirotte - G. Rey - J.-y. Tigli

Page 14: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Ubiquarium

Partie 2

16/03/2015 14S. Lavirotte - G. Rey - J.-y. Tigli

Page 15: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

UBIQUARIUM Informatique* Ubiquarium Informatique

– Du latin Ubique, en toute chose et tout être, avec le suffixe

rium signifiant lieu ou structure.

– Donc « lieu ou structure dans laquelle l’informatique est en

toute chose et tout être »

* depuis Jan 2006

16/03/2015 15S. Lavirotte - G. Rey - J.-y. Tigli

V. Hourdin, D. Cheung-Foo-Wo, S. Lavirotte et J.-Y. Tigli. « Ubiquarium Informatique: Une plate-forme pour l'étude des équipements informatiques mobiles en environnement simulé ». Dans 3ème Journées Francophones Mobilité et Ubiquité (UbiMob), Paris, sept. 2006.

Page 16: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Partenaires Plateforme d’Etude des usages de l’Informatique

Mobile et Ubiquitaire en environnement simulé

– Projet Polytech’Nice Sophia – Région PACA : 240 K€

– Partenaires Académiques

– Partenaires industriels

* depuis Jan 2006

16/03/2015 16S. Lavirotte - G. Rey - J.-y. Tigli

V. Hourdin, D. Cheung-Foo-Wo, S. Lavirotte et J.-Y. Tigli. « Ubiquarium Informatique: Une plate-forme pour l'étude des équipements informatiques mobiles en environnement simulé ». Dans 3ème Journées Francophones Mobilité et Ubiquité (UbiMob), Paris, sept. 2006.

Page 17: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

EnvironnementVirtuel

Dispositifs

virtuelles

Environnement Ubiquitaire

Dispositifs

proches

Dispositifs

portés

UBIQUARIUM : Principes

16/03/2015 17S. Lavirotte - G. Rey - J.-y. Tigli

Outils

d’analyse

du c

om

porte

ment

Utilis

ate

ur

Dispositifs

d’analyse

Page 18: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Des serveurs pour dispositifs …

D’une approche Ad-Hoc …

– Phidget, I2C, Bluetooth

– VRPN

… à une approche plus générique UPnP (description et

découverte dynamique)

WComp

16/03/2015 18S. Lavirotte - G. Rey - J.-y. Tigli

Bridge UPnP

Page 19: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Dispositifs intégrés à

l’environnement Dispositifs d’entrée

– Clavier

– Souris

– Wiimote

– Centrale Inertielle

– RFID

– Tags Bluetooth

– Phidgets Actionneurs physiques (boutons,

sliders, ...)

– Dispositifs NewSteo Capteurs divers (pression,

humidité, luminosité, ...)

– Téléphone portable Clavier

Joystick

– Tablet PC / PDA

– Nabaztag / tag

– Caméra motorisée

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 19

Page 20: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Dispositifs intégrés à

l’environnement Dispositifs de sortie

– Ecran PC

– Environnement Virtuel Audio / Son

Vidéo

Plaquage de texture sur un objet

Déplacement , Déformation d’objets

...

– Tablet PC / PDA

– Téléphone portable Ecran

Vibreur

Sonnerie / Audio

– Synthèse vocale

– Nabaztag Diffusion de message audio

Mouvements du lapin

Allumage des diodes de couleur

– Prise Electrique commandée

– Retroviseur Bluetooth

– Headset Bluetooth

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 20

Page 21: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

WComp 2.0: Concepts de la

Plate-forme

Partie 3

16/03/2015 21S. Lavirotte - G. Rey - J.-y. Tigli

Page 22: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Les défis de l’Informatique

Ambiante Les défis de l’informatique ambiante

– Hétérogénéité (dispositifs, systèmes, langages...)

– Mobilité (utilisateurs, dispositifs ...)

– Extensibilité (nouveaux dispositifs, résultante de la mobilité)

– Dynamicité (de l’environnement, Rechercher et Découverte, …)

– Réactivité (Réagir au plus vite aux changement, pour une bonne utilisabilité)

– Adaptabilité (utilisateur, contexte)

Nombreux paradigmes logiciels :– EDA : Event Driven Architecture (Réactivité)

– SOA : Service Oriented Architectures

– AOP : Aspect Oriented Programming

– CBSE: Component-Based Software Engineering

– Et beaucoup d’approches hybrides…

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 22

EDA

AOP

CBSE

SOA

SCA

Page 23: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Notre approche: WComp

WComp et le paradigme SLCA

(Service Lightweight Component Architecture)

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 23

SLCA

ServicesHétérogénéitéInteropérabilitéApproche distribuée

ComposantsRéutilisabilitéMaintenance

Boite noire

EvénementsDynamicitéRéactivité

Couplage faible

AspectsMaintenanceModularité transverse

WS4DSOA 2.0

SCA

LCA(EJB)

Page 24: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Pourquoi distinguer deux

niveaux de composition ?

Distinguer deux niveaux pour mieux gérer l’évolution

de l’application en fonction de l’apparition et la

disparition des dispositifs (distribution explicite)

– Niveau Local : approche de la composition LCA

– Distribuée : approche de la composition SLCA

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 24

Page 25: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Composition dynamique locale : LCA

Objectif

– Mécanisme de composition dynamique de services pour

dispositifs simple

Principes

– Approches à composants légers :

OpenCom [204], JavaBeans [96], PicoContainer [205]

– Même structure d’exécution

– Composition dynamique de services :

Assemblage de composants à l’exécution

– Interactions par événements entre composants

Chaque réaction est exécutée dans une thread

– Composants boites-noires

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 25

Page 26: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Composant et Connecteurs LCA

méthodes

événements

propriétés

Composant LCA

ConnecteursConnecteur Event Simple

C1.Event (param) C2.Méthode (param)Transmission de l’événement

Connecteur Event Complexe

C1.Event (param) C2.Méthode ( C1.GetAProperty())Modification de la donnée transmise par callback

simple

complexe

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 26

Page 27: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Composition dynamique locale

LCA et services pour dispositifs

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 27

Service pour Dispositif

Composant Proxy

Page 28: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

De LCA à SLCA

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 28

Assemblage d’une logiqueinterne avec des composantsde base

Assemblage de composants

Composant Proxy d’un dispositif communiquant par événements

Composant de base

Page 29: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

De LCA à SLCA

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 29

Composant Proxy

Composant Sonde

Interfacefonctionnelle

Service composite

Interfacestructurelle

ServiceComposite

Page 30: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

3.4 Interface de Contrôle du

services composite CheckBeanProperties Donne la liste des noms et des types de propriétés pour un type de composants (prend

actuellement un nom d'instance à la place)

CheckBeanPropertyValue Donne la valeur et le type d'une propriété d'une instance, sérialisé au format XML

CheckBeans Donne la liste des instances de l'assemblage

CheckBeanType Donne le type de composant d'une instance

CheckBeanTypes Donne la liste des types de composants chargés dans le container

CheckEvents Donne la liste des événements de l'interface d'un type de composants (prend actuellement un nom

d'instance à la place)

CheckLinkedBeansFrom Donne la liste des noms des instances qui sont à la source d'une liaison en commun avec

l'argument

CheckLinkedBeansTo Donne la liste des noms des instances qui sont à la destination d'une liaison en commun avec

l'argument

CheckLinks Donne la liste des liaisons de l'assemblage

CheckLinksFrom Donne les noms des liaisons qui partent du composant dont le nom est donné en argument

CheckLinksTo Donne les noms des liaisons qui arrivent au composant dont le nom est donné en argument

CheckMethods Donne la liste des méthodes de l'interface d'un type de composants (prend actuellement un nom

d'instance à la place)

CreateBean Crée une instance de composant

CreateLink Crée une liaison entre deux composants

CreateNamedBean Crée une instance de composant, et on peut en spécifier le nom

LoadType Charge un type de composants dans le container

RemoveBean Supprime une instance de composants de l'assemblage

RemoveLink Supprime une liaison de l'assemblage

SetBeanPropertyValue Modifie la valeur d'une propriété d'une instance, sérialisé au format XML

UnloadType Décharge un type de composants dans le container (if ever...)

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 30

Page 31: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

La construction des services

composites SLCA Définition de nouveaux composants Sonde

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 31

Service composite

Assemblage de composants

Structurelle

Source Puits

B

Evénement

méthode(int i)Fonctionnelle

A

Source:Appel local Diffusion d’événement à partir de l’interface fonctionnelle

Puits:Appel service Diffusion d’événement local

Page 32: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Composition dynamique

distribuée : SLCA

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 32

L’ application distribuée est une graphede services de l’infrastructure et de services composites

Page 33: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Vue générale de l’approche

WComp

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 33

Page 34: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Trois principes de notre

approche Middleware

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 34

Infrastructure dynamique de Services événementiels

Utilisateur mobile ou Service centre « business »

Ou

r M

idd

lew

are

2 Dynamic Services CompositionBased on lightweight componentsA composite service is event-flow assembly

3 Crosscutting, Independent, SuperposableAdaptations as Aspects of Assembly (AA)

1Services InfrastructureEvent Based Web Services (ex. UPnP, DPWS …) …For devices …but also for provided specific software …

Page 35: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Infrastructure dynamique de Services événementiels

Utilisateur mobile ou Service centre « business »

Ou

r M

idd

lew

are

Trois principes de notre

approche Middleware

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 35

33Aspects

d’Assemblages

Page 36: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Programmation par aspects

Le paradigme de la programmation par aspect s'utilise

conjointement à d'autres

Modularité transverse [charfi04]

– Séparation des services d’une application

et de ses propriétés non fonctionnelles

Sécurité, persistance …

Grâce au tissage dynamique les aspects

peuvent appliqués/supprimé au runtime

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 36

PO + Aspect = AOPServices + Aspect = AO4BPEL

...SLCA + Aspects = Aspects d‘Assemblage (AA)

[charfi 04] A. Charfi , M. Mezini, « Aspect-oriented Web service composition with A04BPEL », ECOWS 2004 : Europeanconference on web services, Erfurt , ALLEMAGNE (27/09/2004) 2004, vol. 3250, pp. 168-182,

Page 37: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

37

A2 B1

C3

A1

A* E

Pointcut A*

Adaptation Advice

B* D

B*

Adaptation Advice

Pointcut

Weaver

Pointcut Matching

Advice Application

AA1

AA2

A2 B1

C3

A1A2 B1

C3

A1A2 B1

C3

A1

Aspects d’Assemblages (AA)

16/03/2015 37S. Lavirotte - G. Rey - J.-y. Tigli

Page 38: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

38

A2 B1

C3

A1

A* E

Pointcut A*

Adaptation Advice

B* D

B*

Adaptation Advice

Pointcut

Weaver

Pointcut Matching

Advice Application

AA1

AA2

A2 B1

C3

A1A2 B1

C3

A1A2 B1

C3

A1

B1A2 A1Join Points

Aspects d’Assemblages (AA)

16/03/2015 38S. Lavirotte - G. Rey - J.-y. Tigli

Page 39: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

39

A2 B1

C3

A1

A* E

Pointcut A*

Adaptation Advice

B* D

B*

Adaptation Advice

Pointcut

Weaver

Pointcut Matching

Advice Application

AA1

AA2

A2 B1

C3

A1A2 B1

C3

A1A2 B1

C3

A1

A2 A1Join Points

A2 B1

C3

A1

D1

E1

E2

B1

Aspects d’Assemblages (AA)

16/03/2015 39S. Lavirotte - G. Rey - J.-y. Tigli

Page 40: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

40

A2 B1

C3

A1

A* E

Pointcut A*

Adaptation Advice

B* D

B*

Adaptation Advice

Pointcut

Weaver

Pointcut Matching

Advice Application

AA1

AA2

A2 B1

C3

A1A2 B1

C3

A1A2 B1

C3

A1

A2 A1Join Points

A2 B1

C3

A1

D1

E1

E2

B1

Regexp

ISL4WComp

SCHEMA Ex (observed):

observed.^Out1 -> Bcomp.do; CALL /* before

observed.^Out2 -> CALL ; Bcomp.do; /* after

observed.^Out3 -> B2comp.do ; CALL ; Bcomp.do /*around

Aspects d’Assemblages (AA)

16/03/2015 40S. Lavirotte - G. Rey - J.-y. Tigli

Page 41: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

AA:

Logique de Fusion des

Opérateurs et Preuves

– [Daniel Cheung, Ph. D.

Thesis]

Propriétés de Fusion

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 41

Commutativity : AA0 AA1 = AA0 AA1Associativity : (AA0 AA1) AA2 = AA0 (AA1 AA2)Idempotence : AA0 AA0 = AA0

Page 42: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

WComp: Implémentations

Containers

– .NET (C#)

– J2SE, J2ME

– Android

– Linux (modules noyau)

– Microcontrôleur

Designers

– Graphique

– Textuel

– Générateur de composant proxy Web Service et UPnP

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 42

D. Cheung, Y-J. Tigli, S. Lavirotte, M. Riveill, « WComp: a Multi-Design Approach for Prototyping Applications usingHeterogeneous Resources », Proceedings of 17th IEEE International Workshop on Rapid System Prototyping (RSP), June 14-16, 2006, Chania, Crete.

Page 43: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

WComp en Action

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 43

Page 44: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Conclusion

Notre Middleware WComp:

– Trouve sa place au-dessus d’une infrastructure de services

événementiels (UPnP/ DPWS ..etc.).

– Autorise la création de services composites vers de nouveaux

services centrés utilisateurs, en utilisant des assemblages de

composants légers

– Gère l’adaptation en utilisant les Aspects d’Assemblages

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 44

Page 45: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Travaux Pratiques

Installation et

Mise en œuvre avec WComp

Partie 4

16/03/2015 45S. Lavirotte - G. Rey - J.-y. Tigli

Page 46: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Installation

Si vous n’avez pas Windows XP SP2 et .Net Framework

1.1 => Installation de VMPlayer

– http://www.vmware.com/download/player/

– puis

– http://www.vmware.com/download/player/download.html

.tar et rpm pour linux

.exe pour windows

Utilisez l’image XP_pro_SP2 Dev

16/03/2015 46S. Lavirotte - G. Rey - J.-y. Tigli

Page 47: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Installation

Dans la machine virtuelle installer Sharpdevelop

1.0.2.1726 fourni dans l’image

D:\Dev\src\WComp\SharpWcomp\opt

Puis dezipper WComp.1.2.0.???.zip à la racine de

Sharpdevelop installé (généralement C:\Programme

Files\SharpDevelop) pour l’addin WComp

Puis dezipper dispositifs_UPnP.zip pour un serveur

light.exe de test UPnP…

16/03/2015 47S. Lavirotte - G. Rey - J.-y. Tigli

Page 48: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Découverte de WComp

Programmation par flot d'événements

Ouvrir WComp, le designer graphique

16/03/2015 48S. Lavirotte - G. Rey - J.-y. Tigli

Page 49: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Évènements simples

Dans outils, windows forms, instancier un button et

une textBox

Tirer un lien entre la sortie du bouton et l’entrée de la

textBox :

16/03/2015 49S. Lavirotte - G. Rey - J.-y. Tigli

Page 50: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

16/03/2015 50S. Lavirotte - G. Rey - J.-y. Tigli

Page 51: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Evènements complexes

Instancier un composant TextToSpeech, section

services

Relier avec une textBox

16/03/2015 51S. Lavirotte - G. Rey - J.-y. Tigli

Page 52: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Evènements complexes

16/03/2015 52S. Lavirotte - G. Rey - J.-y. Tigli

Page 53: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Intégration de Web Services

pour Dispositifs Dispositifs physiques UPnP

Ouvrir le UPnP Wizard

16/03/2015 53S. Lavirotte - G. Rey - J.-y. Tigli

Page 54: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Dispositifs Physiques UPnP

Recharger les composants : menu WComp.NET -> Reload beans

16/03/2015 54S. Lavirotte - G. Rey - J.-y. Tigli

Page 55: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Dispositifs Physiques UPnP

Relier la checkbox en sortie du joystick

16/03/2015 55S. Lavirotte - G. Rey - J.-y. Tigli

Page 56: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Dispositifs Physiques UPnP

16/03/2015 S. Lavirotte - G. Rey - J.-y. Tigli 56

Page 57: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Dispositif Virtuel UPnP

Générer le client UPnP avec le Wizard

Faire une IHM / UPnP

16/03/2015 57S. Lavirotte - G. Rey - J.-y. Tigli

Page 58: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

UPnP : création d’un serveur et

exemple d’application Télécommande winamp

– Installer les outils Intel

– Lancer Service Author

– Ajouter les actions et les variables

16/03/2015 58S. Lavirotte - G. Rey - J.-y. Tigli

Page 59: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Télécommande Winamp

Sauvegarder le fichier XML et l’importer dans Intel

Device Builder

Remplir les champs de configuration

16/03/2015 59S. Lavirotte - G. Rey - J.-y. Tigli

Page 60: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Télécommande Winamp

Générer le code (Export Device Stack)

Ouvrir la solution .sln (#Develop 2)

16/03/2015 60S. Lavirotte - G. Rey - J.-y. Tigli

Page 61: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Télécommande Winamp

Modification du code du serveur pour effectuer les

appels sur la dll de contrôle de winamp :

– Ajouter WinampFrontEndLib.dll dans les références du projet

– Ajouter using WinampFrontEndLib; en haut de

SampleDevice.cs

– Compléter le code des actions :

WinampLib.GetCurrentSongTitle();

WinampLib.VolumeDown();

16/03/2015 61S. Lavirotte - G. Rey - J.-y. Tigli

Page 62: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Télécommande Winamp

Évènements :

– déplacer la déclaration Intel.DeviceBuilder.Winamp Winamp

en attribut private de la classe

Envoi :

– Winamp.Evented_current_song =

WinampLib.GetCurrentSongTitle();

Compiler le projet

Lancer Intel Device Spy ou le wizard de WComp, le

serveur et Winamp

On a maintenant le contrôle de Winamp par UPnP !

16/03/2015 62S. Lavirotte - G. Rey - J.-y. Tigli

Page 63: Mise en œuvre de WComp 2trolen.polytech.unice.fr/cours/maje/cours/09 - WComp.pdf · –Concepts de la Plate-forme WComp 2.0 TP: –Installation de WComp 2.0 –Mise en œuvre de

Site de distribution Ubiquarium :

http://rainbow.i3s.unice.fr/ubiquarium/

Site de distribution WComp :

http://rainbow.i3s.unice.fr/wcomp/

Conclusion

16/03/2015 63S. Lavirotte - G. Rey - J.-y. Tigli