Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parBrandon Stone Modifié depuis plus de 6 années
1
Génie logiciel des applications ubiquitaires
Un sous-problème Composition dirigée par les modèles des applications à base de composants Objectifs : - Séparation des préoccupations Composition automatique non basée sur l’ordre de déclarations des compositions ou caractéristiques Détection des conflits de composition Indépendance des Plates-formes et adéquation aux plateformes Adéquation entre le domaine cible et les mécanismes de composition mis en place. Bonn, July 17, 2006
2
Contexte et démarche Les applications sont décrites comme des assemblages de composants Les “interactions” entre les composants sont explicites. Analyse des domaines d’applications cibles Modélisation du langage de composition Définition d’algorithmes de composition adapté Réalisation de prototypes pour valider le procédé si possible sur plusieurs cibles Bonn, July 17, 2006
3
Quelques domaines applicatifs
Adaptation dynamique d’assemblages de composants hétérogènes par interactions logicielles (Environnement Noah) Construction d’assemblages de “devices” : (Integration des interactions dans l’environnement Wcomp) Intégration de services (sécurité, ….) indépendante plateforme dans des applications à composants (Thèse sur le système MicM) Vérification de sûreté des adaptations dynamiques d’assemblages de composants (Système SATIN) Composition et génération de composants d’IHMs sur la base des interactions entre composants métiers (Amusing et les travaux en cours) Fusion d’orchestrations de services (en cours) En rouge ce dont on parle les autres on laisse ? Bonn, July 17, 2006
4
Interactions logicielles pour l’adaptation dynamique des applications à base de composants
Bonn, July 17, 2006
5
Interactions logicielles : pourquoi faire ?
IHM WhereIs(« name ») ? This simple scenario illustrates some problems we want to solve. The demonstration corresponds to it. The different servers will be localised on my computer to avoid network problems. But we use it in different contexts in particular distributed plateform and manage communication beetwenn heterogenous components. This scenario is extracted from the scholar information system we are developping. The aim is to deploy an information system in schools integrating differents tools and devices. Here is a part of this system for persons localization. Ok at First, Localization LocalizationAdmin Detector Detector Bonn, July 17, 2006
6
Interactions logicielles : pourquoi faire ?
WhereIs(« name ») ? Timetable Service IHM getInfo(« name ») Interactions <Lieu, ….> Localization LocalizationAdmin Detector Detector I don’t know Bonn, July 17, 2006
7
Interactions logicielles : pourquoi faire ?
Scenario - ISL Language – – Life Cycle - Demonstration - Merging rules - Model applications timeTableService IHM Interactions Localization LocalizationAdmin Detector Detector Bonn, July 17, 2006
8
Interactions logicielles : pourquoi faire ?
Scenario - ISL Language – – Life Cycle - Demonstration - Merging rules - Model applications timeTableService IHM Interactions Localization LocalizationAdmin Detector Detector Bonn, July 17, 2006
9
Interactions Logicielles: Modélisation et Expression séparée
public DateAndPlace WhereIs(string login) DateAndPlace info= GetLastPlaceKnown(login); int NumberOfSecondsToExpire = Int32.Parse(System.Configuration.ConfigurationSettings.AppSettings["epub.services.localisation.expiration.seconds"]); { DateTime now = DateTime.Now; // check if it has expired if (info.IsDefined()) return new DateAndPlace(); if (tm.TotalSeconds > NumberOfSecondsToExpire) TimeSpan tm = now - info.Date; } return info; Default behavior interaction localization_Timetable(Localization LOC, Timetable TT){ LOC.WhereIs(string login) -> TTItem:=TT.GetInfo(login); { if (!RESULT.IsDefined()) RESULT:=LOC._call; { RESULT.SetPlace(TTItem.GetPlace()) if (TTItem.IsDefined()) } Interaction between Timetable and Localization interaction monitor_localisation(Localization LOC, Monitor MONITOR){ MONITOR.Log("LOCALISATION",login) LOC._call // LOC.WhereIs(string login) -> } Monitoring behaviour interaction cache(Timetable TT, Cache CACHE){ EDT.GetInfo(string login) -> if (!RESULT.IsDefined()) RESULT:=CACHE.GetInfo(login); if (RESULT.IsDefined()) RESULT:=EDT._call; { else } CACHE.Store(login,RESULT); delegate { CACHE.GetInfo(login) } Cache behaviour Bonn, July 17, 2006
10
ISL: Interaction Specification Language Modélisation et composition
interaction localization_Timetable(Localization LOC, Timetable TT){ LOC.WhereIs(string login) -> RESULT:=LOC._call; if (!RESULT.IsDefined()) { TTItem:=TT.GetInfo(login); if (TTItem.IsDefined()) { RESULT.SetPlace(TTItem.GetPlace()) } } } Indépendance Langage et plateforme Description en sémantique naturelle TYPOL des opérateurs réactif A REVOIR… Fusion comportementale : Solution Formelle XML Bonn, July 17, 2006
11
Mises en oeuvre des interactions
C# objecs Java objects Java RMI objects J2EE- EJB Jonas component .Net objects Fractal components Bonn, July 17, 2006
12
Interfaces Hommes-Machines et compositions
Nos ambitions et nos pistes Bonn, July 17, 2006
13
Atelier de composition
IHMs : problématiques Renderer Atelier de composition Bonn, July 17, 2006
14
Modèlisation, indépendance plateforme et composition
IHM Abstraite : langage SUNML Projection dynamique <sunml> <interface id="FicheClient"> <structure> <dialog id="MainDialog" sequence="true"> <element id="Titre" type="string" editable="false" value="Fiche Client"/> <element id="LabelNom" type="string" editable="false" value="Nom : "/> <element id="ChampNom" type="string" editable="true" value=""/> … </dialog> <dialog id="Menu" sequence="true"> <link id="Recharger"> <element id="LabelBtR" type="string" editable="false" value="Recharger"/> </link> </structure> </interface> </sunml> Spécification de la composition et opérateurs : Architecture basée sur des modèles Bonn, July 17, 2006
15
Bonn, July 17, 2006
16
En résumé une démarche basée sur des modèles et guidée par les applications
Algorithme de composition Expression séparée des “adaptations” Langage adapté Bonn, July 17, 2006
17
En résumé une démarche basée sur des modèles et guidée par les applications
ISL et Algorithme : Langage adapté À la mise en oeuvre d’interactions Logicielles Expression séparée des “Interactions” Noah une mise en oeuvre multiplateforme Bonn, July 17, 2006
18
“assemblages de composants”
En résumé une démarche basée sur des modèles et guidée par les applications Expression séparée Des “assemblages de composants” ISL4Wcomp : Extension d’ISL : Adaptation au monde des devices Wcomp : une mise en oeuvre par génération de composants multiplateforme Bonn, July 17, 2006
19
“adaptations” dynamiques
En résumé une démarche basée sur des modèles et guidée par les applications Expression séparée Des “adaptations” dynamiques De composants Satin : Algo de Validation des propriétés de sûreté (preuves formelles) Plateformes multiples Bonn, July 17, 2006
20
Des orchestrations entre Services
En résumé une démarche basée sur des modèles et guidée par les applications Mise en oeuvre de nouveaux algorithmes de composition Adaptés à la multiplicité des sélecteurs Expression séparée Des orchestrations entre Services Implémentations en cours Bonn, July 17, 2006
21
En résumé une démarche basée sur des modèles et guidée par les applications
Mise en oeuvre de nouveaux algorithmes de composition Adaptés aux Composants d’IHMS Expression séparée Des Relations entre composants du Noyau fornctionnel et composants d’IHMs Implémentations en cours Bonn, July 17, 2006
22
Résultats and perspectives
Une démarche qui renforce Separation of concerns Gestion de cohérence par fusion Mise en place de Prototypes dont certains sont diffusés Work in progress IHM Using interaction for Web service management : recherche (Faros) et usages dans le cadre SMNG Bonn, July 17, 2006
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.