Approche dirigée par les modèles pour la spécification, la vérification formelle et la mise en œuvre des services Web composés



Documents pareils
Approche dirigée par les modèles pour la spécification, la vérification formelle et la mise en œuvre de services Web composés

Business Process Execution Language

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Business Process Modeling (BPM)

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Introduction aux «Services Web»

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Conception, architecture et urbanisation des systèmes d information

Les Architectures Orientées Services (SOA)

Cours en ligne Développement Java pour le web

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

BPEL Orchestration de Web Services

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Les nouvelles architectures des SI : Etat de l Art

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

NFP111 Systèmes et Applications Réparties

Information utiles. webpage : Google+ : digiusto/

Workflow et Service Oriented Architecture (SOA)

Développement d un interpréteur OCL pour une machine virtuelle UML.

THESE. DOCTORAT EN SCIENCES APPLIQUEES Spécialité : Informatique

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Le Guide Pratique des Processus Métiers

Synergies entre Artisan Studio et outils PLM

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

IFT2255 : Génie logiciel

Analyse,, Conception des Systèmes Informatiques

Patrons de Conception (Design Patterns)

THÈSE. Une Approche de Composition des Services Web Basée Transformation de Graphes

Programmation Web Avancée Introduction aux services Web

Testabilité des services Web

Le pilotage des collaborations et l interopérabilité des systèmes d information Vers une démarche intégrée

Modélisation et Test Fonctionnel de l'orchestration de Services Web

Environnement logiciel basé sur les modèles pour la conception collaborative de produit

République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique

Composition semi-automatique de Services Web

UNIVERSITÉ DE MONTRÉAL ANALYSE FORMELLE D ORCHESTRATIONS DE SERVICES WEB

RTDS G3. Emmanuel Gaudin

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

La démarche SOA et l interopérabilité applicative

OCL - Object Constraint Language

Programmation de services sensibles au contexte en téléphonie sur IP

Spécification et transformation de langages de points de vue des systèmes répartis ouverts

THÈSE de DOCTORAT. Sémantique, interactions et langages de description des services web complexes

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Modélisation des processus métiers et standardisation

CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai Le BPM

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Retour d expériences avec UML

Exécution de processus

Exécution de processus

Ingénierie des Modèles. Méta-modélisation

Modèles système, modèles logiciel et modèles de code dans les applications spatiales

Mineure Architectures Orientées Services SOA Exécution de processus. Mineure SOA. Exécution de processus

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

GESTION DE PROCESSUS AVEC SOA ET BPM

Description de la formation

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

langage spécifiant un processus sous format XML Business Process Management : gestion de processus.

Nouvelles technologies pour l intégration : les ESB

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Compte Rendu d intégration d application

On Feature Interaction among Web Services Michael Weiss et Babak Esfandiari

Gouvernance des mesures de sécurité avec DCM-Manager. Présentation du 22 mai 2014

modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets

Générer du code à partir d une description de haut niveau

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Catalogue de Pattern pour le CSCW

Systèmes d'informations historique et mutations

Diagrammes de Package, de déploiement et de composants UML

Collaboration des Processus Métiers dans les Echanges inter-entreprises (B2B) basée sur le Web Service Resource Framework (WSRF) du Grid

Génie logiciel (Un aperçu)

État de l art sur la contractualisation et la composition

4. SERVICES WEB REST 46

Une architecture pour la découverte et l orchestration de services Web sémantiques

GRIDKIT: Pluggable Overlay Networks for Grid Computing

Urbanisme du Système d Information et EAI

Vérifica(on et Valida(on de Business Process. Ang Chen et Levi Lúcio

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Visual Paradigm Contraintes inter-associations

Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information

CORBA. (Common Request Broker Architecture)

Conception des systèmes répartis

Nom de l application

Jean-Marc Langé. Gestion de processus métier : la place du BPM dans une architecture d entreprise

Urbanisation des Systèmes d'information

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Talend Technical Note

UML (Paquetage) Unified Modeling Language

Architecture à base de composants pour le déploiement adaptatif des applications multicomposants

Magister en Informatique

Une approche qualitative pour la prise de décision sous contraintes non-fonctionnelles dans le cadre d une composition agile de services

Transcription:

Approche dirigée par les modèles pour la spécification, la vérification formelle et la mise en œuvre des services Web composés Christophe Dumez Laboratoire Systèmes et Transports (SeT) Université de Technologie de Belfort-Montbéliard 90000, Belfort, France 31 août 2010

Plan de la présentation 1 Contexte de travail Cadre général Problématique État de l art Contributions de la thèse 2 3 Scénario de test Modélisation avec UML-S Vérification formelle Christophe Dumez Approche MDA pour la composition de services 2/52

Plan de la présentation 1 Contexte de travail Cadre général Problématique État de l art Contributions de la thèse 2 3 Scénario de test Modélisation avec UML-S Vérification formelle Christophe Dumez Approche MDA pour la composition de services 2/52

Plan de la présentation 1 Contexte de travail Cadre général Problématique État de l art Contributions de la thèse 2 3 Scénario de test Modélisation avec UML-S Vérification formelle Christophe Dumez Approche MDA pour la composition de services 2/52

Rappel du plan Cadre général Problématique État de l art Contributions de la thèse 1 Contexte de travail Cadre général Problématique État de l art Contributions de la thèse 2 3 Scénario de test Modélisation avec UML-S Vérification formelle Christophe Dumez Approche MDA pour la composition de services 3/52

Cadre général Problématique État de l art Contributions de la thèse Architecture Orientée Services (SOA) Définition Une architecture orientée services (notée SOA) est une architecture logicielle s appuyant sur un ensemble de services simples. Le service est l unité atomique d une architecture SOA Une application est un ensemble de services qui dialoguent par échange de messages Elle se base sur des concepts plus anciens L informatique distribuée La programmation modulaire Christophe Dumez Approche MDA pour la composition de services 4/52

Cadre général Problématique État de l art Contributions de la thèse Architecture Orientée Services (SOA) Définition Une architecture orientée services (notée SOA) est une architecture logicielle s appuyant sur un ensemble de services simples. Le service est l unité atomique d une architecture SOA Une application est un ensemble de services qui dialoguent par échange de messages Elle se base sur des concepts plus anciens L informatique distribuée La programmation modulaire Christophe Dumez Approche MDA pour la composition de services 4/52

Principes fondamentaux Cadre général Problématique État de l art Contributions de la thèse Couplage faible Séparation logique entre le client et le service Échange de messages dans un format standard Pas de dépendance physique entre les deux Intéropérabilité Capacité d un système à fonctionner avec d autres systèmes existants ou futurs L interface des services est intégralement connue Réutilisabilité Séparation des tâches en services autonomes pour promouvoir leur réutilisation Découverte Pour réutiliser un service, il faut savoir qu il existe Utilisation d un annuaire de services Christophe Dumez Approche MDA pour la composition de services 5/52

Principes fondamentaux Cadre général Problématique État de l art Contributions de la thèse Couplage faible Séparation logique entre le client et le service Échange de messages dans un format standard Pas de dépendance physique entre les deux Intéropérabilité Capacité d un système à fonctionner avec d autres systèmes existants ou futurs L interface des services est intégralement connue Réutilisabilité Séparation des tâches en services autonomes pour promouvoir leur réutilisation Découverte Pour réutiliser un service, il faut savoir qu il existe Utilisation d un annuaire de services Christophe Dumez Approche MDA pour la composition de services 5/52

Principes fondamentaux Cadre général Problématique État de l art Contributions de la thèse Couplage faible Séparation logique entre le client et le service Échange de messages dans un format standard Pas de dépendance physique entre les deux Intéropérabilité Capacité d un système à fonctionner avec d autres systèmes existants ou futurs L interface des services est intégralement connue Réutilisabilité Séparation des tâches en services autonomes pour promouvoir leur réutilisation Découverte Pour réutiliser un service, il faut savoir qu il existe Utilisation d un annuaire de services Christophe Dumez Approche MDA pour la composition de services 5/52

Principes fondamentaux Cadre général Problématique État de l art Contributions de la thèse Couplage faible Séparation logique entre le client et le service Échange de messages dans un format standard Pas de dépendance physique entre les deux Intéropérabilité Capacité d un système à fonctionner avec d autres systèmes existants ou futurs L interface des services est intégralement connue Réutilisabilité Séparation des tâches en services autonomes pour promouvoir leur réutilisation Découverte Pour réutiliser un service, il faut savoir qu il existe Utilisation d un annuaire de services Christophe Dumez Approche MDA pour la composition de services 5/52

Les services Web Cadre général Problématique État de l art Contributions de la thèse Approche la plus populaire pour mettre en œuvre une architecture SOA Définition (W3C) Un service Web est un système logiciel conçu pour permettre à deux machines de communiquer de manière intéropérable sur un réseau. Son interface est clairement décrite dans un format standard (WSDL) Les autres systèmes interagissent avec lui en utilisant un protocole standard (SOAP) Christophe Dumez Approche MDA pour la composition de services 6/52

Les services Web Cadre général Problématique État de l art Contributions de la thèse Approche la plus populaire pour mettre en œuvre une architecture SOA Définition (W3C) Un service Web est un système logiciel conçu pour permettre à deux machines de communiquer de manière intéropérable sur un réseau. Son interface est clairement décrite dans un format standard (WSDL) Les autres systèmes interagissent avec lui en utilisant un protocole standard (SOAP) Christophe Dumez Approche MDA pour la composition de services 6/52

Architecture Cadre général Problématique État de l art Contributions de la thèse Architecture standard décrite par le W3C Christophe Dumez Approche MDA pour la composition de services 7/52

Protocole de communication SOAP Cadre général Problématique État de l art Contributions de la thèse Protocole de communication basé sur XML recommandé par le W3C Permet la transmission de messages entre objets distants Présente plusieurs avantages : Assez ouvert pour s adapter à différents protocoles de transport (HTTP, SMTP,...) Indépendant de la plateforme Indépendant du langage Extensible Christophe Dumez Approche MDA pour la composition de services 8/52

Cadre général Problématique État de l art Contributions de la thèse Web Service Description Language (WSDL) Langage basé sur XML, standardisé par le W3C Décrit l interface publique d accès à un service Web Indique «Comment communiquer avec le service» Un document WSDL décrit : Le protocole de communication (ex : SOAP) Le format des messages Les méthodes que le client peut invoquer La localisation du service Christophe Dumez Approche MDA pour la composition de services 9/52

La composition de services Cadre général Problématique État de l art Contributions de la thèse Définition La composition de services consiste à interconnecter plusieurs services (élémentaires ou eux-même composés), afin d apporter une valeur ajoutée à l utilisateur. On peut classifier la composition en deux catégories : Chorégraphie Orchestration Christophe Dumez Approche MDA pour la composition de services 10/52

La composition de services Cadre général Problématique État de l art Contributions de la thèse Définition La composition de services consiste à interconnecter plusieurs services (élémentaires ou eux-même composés), afin d apporter une valeur ajoutée à l utilisateur. On peut classifier la composition en deux catégories : Chorégraphie Orchestration Christophe Dumez Approche MDA pour la composition de services 10/52

Chorégraphie Cadre général Problématique État de l art Contributions de la thèse De nature très collaborative Chaque service décrit le rôle qu il joue dans la composition La conversation n est détenue par aucune entité Les services existants doivent être modifiés Chorégraphie Christophe Dumez Approche MDA pour la composition de services 11/52

Cadre général Problématique État de l art Contributions de la thèse Orchestration Processus métier exécutable Interagit avec des services Web Le processus est contrôlé par une seule entité Pas de modification au niveau des services existants Orchestration Christophe Dumez Approche MDA pour la composition de services 12/52

Cadre général Problématique État de l art Contributions de la thèse Business Process Execution Language (BPEL) Langage le plus populaire pour l orchestration de services WS-BPEL 2.0 standardisé par OASIS en 2007 Langage exécutable basé sur XML Décrit un processus exécutable mettant en œuvre l échange de messages avec d autres systèmes Christophe Dumez Approche MDA pour la composition de services 13/52

Problématique Cadre général Problématique État de l art Contributions de la thèse La composition de services est une tâche complexe Hétérogénéité des données et de leurs formats Plusieurs langages de composition ont été proposés WSFL, XLANG, BPEL... Langages textuels exécutables L étape de spécification et de vérification est négligée Nécessaire de proposer une approche dirigée par les modèles permettant : La modélisation dans un langage standard et connu (UML) La vérification formelle La génération de code exécutable (BPEL) Christophe Dumez Approche MDA pour la composition de services 14/52

Problématique Cadre général Problématique État de l art Contributions de la thèse La composition de services est une tâche complexe Hétérogénéité des données et de leurs formats Plusieurs langages de composition ont été proposés WSFL, XLANG, BPEL... Langages textuels exécutables L étape de spécification et de vérification est négligée Nécessaire de proposer une approche dirigée par les modèles permettant : La modélisation dans un langage standard et connu (UML) La vérification formelle La génération de code exécutable (BPEL) Christophe Dumez Approche MDA pour la composition de services 14/52

Problématique Cadre général Problématique État de l art Contributions de la thèse La composition de services est une tâche complexe Hétérogénéité des données et de leurs formats Plusieurs langages de composition ont été proposés WSFL, XLANG, BPEL... Langages textuels exécutables L étape de spécification et de vérification est négligée Nécessaire de proposer une approche dirigée par les modèles permettant : La modélisation dans un langage standard et connu (UML) La vérification formelle La génération de code exécutable (BPEL) Christophe Dumez Approche MDA pour la composition de services 14/52

Problématique Cadre général Problématique État de l art Contributions de la thèse La composition de services est une tâche complexe Hétérogénéité des données et de leurs formats Plusieurs langages de composition ont été proposés WSFL, XLANG, BPEL... Langages textuels exécutables L étape de spécification et de vérification est négligée Nécessaire de proposer une approche dirigée par les modèles permettant : La modélisation dans un langage standard et connu (UML) La vérification formelle La génération de code exécutable (BPEL) Christophe Dumez Approche MDA pour la composition de services 14/52

État de l art Cadre général Problématique État de l art Contributions de la thèse Classification des approches existantes Christophe Dumez Approche MDA pour la composition de services 15/52

État de l art Cadre général Problématique État de l art Contributions de la thèse Classification de l approche proposée Christophe Dumez Approche MDA pour la composition de services 16/52

État de l art Cadre général Problématique État de l art Contributions de la thèse Approches basées sur UML Année Auteurs Diagrammes 2003 Gardner et al. (IBM) 2005 Ambühler et al. 2005 Grønmo / Skogan et al. 2006 Castro et al. 2007 Bendraou et al. 2010 Dumez et al. Classes / Activités Classes / Activités Classes / Activités BPEL UML Conforme au métamodèle Vérif. Repr. Interface Implémentation 1.0 1.4 + - - + 1.1 2.0 + - + +/- 1.1 1.4 + - + - Cas d util. / Activités 1.1 2.0 - - - +/- Activités 2.0 2.0 - - - +/- Classes / Activités 2.0 2.0 + + + + Christophe Dumez Approche MDA pour la composition de services 17/52

Contributions de la thèse Cadre général Problématique État de l art Contributions de la thèse Approche de développement pour services Web composés Langage de modélisation de la composition : UML-S Règles de transformations pour la génération de code Vérification formelle de la composition intégré pour composer des services en utilisant l approche proposée Automatisation de nombreuses tâches complexes Christophe Dumez Approche MDA pour la composition de services 18/52

Rappel du plan 1 Contexte de travail Cadre général Problématique État de l art Contributions de la thèse 2 3 Scénario de test Modélisation avec UML-S Vérification formelle Christophe Dumez Approche MDA pour la composition de services 19/52

Model-Driven Architecture (MDA) Définie par l OMG en 2000 pour promulguer de bonnes pratiques de modélisation Exploite pleinement les avantages des modèles Pérennité Productivité Prise en compte des plateformes d exécution Du code peut alors être généré à partir de ces modèles abstraits Christophe Dumez Approche MDA pour la composition de services 20/52

Model-Driven Architecture (MDA) Aperçu de l approche MDA Christophe Dumez Approche MDA pour la composition de services 21/52

Présentation de l approche Une approche fidèle aux principes du MDA pour spécifier, vérifier formellement, mettre en œuvre la composition de services Web. La composition est spécifiée à l aide d un profil UML : UML-S La vérification formelle est réalisée par l intermédiaire d un langage de description formelle Du code exécutable peut être généré directement Christophe Dumez Approche MDA pour la composition de services 22/52

Présentation de l approche Une approche fidèle aux principes du MDA pour spécifier, vérifier formellement, mettre en œuvre la composition de services Web. La composition est spécifiée à l aide d un profil UML : UML-S La vérification formelle est réalisée par l intermédiaire d un langage de description formelle Du code exécutable peut être généré directement Christophe Dumez Approche MDA pour la composition de services 22/52

Processus de développement Christophe Dumez Approche MDA pour la composition de services 23/52

Transformation de modèles Services existants Modèles UML-S a) e) b) Classes Service composé c) Activités d) Description formelle Légende : Transformation de modèles Approche MDA : La transformation de modèles Christophe Dumez Approche MDA pour la composition de services 24/52

Profil proposé : UML-S Christophe Dumez Approche MDA pour la composition de services 25/52

Profil proposé : UML-S Définition (OMG) Un profil UML est un mécanisme d extension générique pour adapter les modèles UML à un domaine ou à une plateforme particulière. Permet uniquement l ajout de fonctionnalités, pas de suppression ou de modification Reste ainsi conforme au métamodèle standard UML Trois types de mécanismes d ajout : Stéréotypes Valeurs étiquetées Contraintes (OCL) Christophe Dumez Approche MDA pour la composition de services 26/52

Profil proposé : UML-S Définition (OMG) Un profil UML est un mécanisme d extension générique pour adapter les modèles UML à un domaine ou à une plateforme particulière. Permet uniquement l ajout de fonctionnalités, pas de suppression ou de modification Reste ainsi conforme au métamodèle standard UML Trois types de mécanismes d ajout : Stéréotypes Valeurs étiquetées Contraintes (OCL) Christophe Dumez Approche MDA pour la composition de services 26/52

UML-S : Diagramme de classes Permet de modéliser l aspect statique de la composition : Les interfaces publiques des services Les types de données complexes manipulés 1 service = 1 classe UML dotée du stéréotype «WebService» Indique les opérations accessibles publiquement Les types de données non élémentaires sont représentés par des classes simples Le diagramme de classes peut être généré automatiquement à partir des descriptions WSDL des services Christophe Dumez Approche MDA pour la composition de services 27/52

UML-S : Diagramme de classes Permet de modéliser l aspect statique de la composition : Les interfaces publiques des services Les types de données complexes manipulés 1 service = 1 classe UML dotée du stéréotype «WebService» Indique les opérations accessibles publiquement Les types de données non élémentaires sont représentés par des classes simples Le diagramme de classes peut être généré automatiquement à partir des descriptions WSDL des services Christophe Dumez Approche MDA pour la composition de services 27/52

Description WSDL vers diagramme de classes UML-S Document WSDL 1.1 Classes UML-S <definitions...><types><schema...> <xs:complextype name="coord"> <xs:sequence> <element name="latitude" type="xs:float"/> Coord <element name="longitude" type="xs:float"/> </xs:sequence> latitude: float </xs:complextype> <xs:complextype name="hopitalplusprochereponse"> longitude: float <xs:sequence> <xs:element name="return" type="xs:integer"...> </xs:element> </xs:sequence> </xs:complextype> <xs:complextype name="hopitalplusproche"> <xs:sequence> <<WebService>> <xs:element name="lieu" type="tns:coord"...> </xs:element> Hopital </xs:sequence> </xs:complextype> hopitalplusproche ( lieu: Coord ): Integer </schema></types> <porttype name="hopital"> <operation name="hopitalplusproche"> <input message="tns:hopitalplusproche"></input> <output message="tns:hopitalplusprochereponse"> </output> {WSDL_URL: </operation> http://localhost:8080/hopital?wsdl} </porttype> <message name="hopitalplusproche"> <part name="x" type="tns:hopitalplusproche"></part> </message> <message name="hopitalplusprochereponse"> <part name="x" type="tns:hopitalplusprochereponse"> </part> </message> <binding name="hopitalportbinding" type="tns:hopital">... </binding>... <service name="hopital">...</service></definitions> Christophe Dumez Approche MDA pour la composition de services 28/52

UML-S : Diagramme d activité Permet de modéliser l aspect dynamique de la composition Le scénario de collaboration inter-services Un diagramme d activité UML-S modélise le comportement d une opération fournie par le nouveau service composé L état initial de l activité correspond à l appel de l opération Avec passage éventuel de paramètres L état final de l activité correspond à la fin de l opération Avec retour éventuel d une valeur Christophe Dumez Approche MDA pour la composition de services 29/52

UML-S : Diagramme d activité Permet de modéliser l aspect dynamique de la composition Le scénario de collaboration inter-services Un diagramme d activité UML-S modélise le comportement d une opération fournie par le nouveau service composé L état initial de l activité correspond à l appel de l opération Avec passage éventuel de paramètres L état final de l activité correspond à la fin de l opération Avec retour éventuel d une valeur Christophe Dumez Approche MDA pour la composition de services 29/52

UML-S : Diagramme d activité Chaque étape (action) de l activité correspond à une invocation de service Le stéréotype «WSCall» est utilisé Le nom du service invoqué et le nom de l opération sont précisés en valeurs étiquetées <<WSCall>> Envoyer les secouristes {service_name=samu, method_name=envoyersecouristes(lieu): delai} Exemple d action UML-S Christophe Dumez Approche MDA pour la composition de services 30/52

Structures de contrôle L ordre d exécution des actions d un workflow est déterminé par ses structures de contrôle Van der Aalst et al. ont identifié les structures de contrôle récurrentes au sein des différents langages de workflow 20 structures dont 5 dites basiques : séquence, branchement multiple, synchronisation, choix exclusif, jonction simple Christophe Dumez Approche MDA pour la composition de services 31/52

Structures de contrôle Le diagramme d activité UML permet de modéliser toutes ces structures Cette tâche peut s avérer difficile pour certaines structures UML-S comporte des ajouts simplifiant la représentation de ces structures Ceci permet d obtenir des modèles UML-S plus clairs et concis Christophe Dumez Approche MDA pour la composition de services 32/52

Christophe Dumez Approche MDA pour la composition de services 33/52

Langage de spécification formelle LOTOS LOTOS est utilisé pour la vérification formelle de la composition Pourquoi passer par un langage intermédiaire? La sémantique d UML n est pas formellement définie L analyse formelle des modèles UML n est pas possible Pourquoi LOTOS? Algèbre de processus standardisée par ISO Sa sémantique est formellement définie Prise en charge du passage de données entre les processus Outils de vérification très avancés (CADP) Christophe Dumez Approche MDA pour la composition de services 34/52

Langage de spécification formelle LOTOS LOTOS est utilisé pour la vérification formelle de la composition Pourquoi passer par un langage intermédiaire? La sémantique d UML n est pas formellement définie L analyse formelle des modèles UML n est pas possible Pourquoi LOTOS? Algèbre de processus standardisée par ISO Sa sémantique est formellement définie Prise en charge du passage de données entre les processus Outils de vérification très avancés (CADP) Christophe Dumez Approche MDA pour la composition de services 34/52

Langage de spécification formelle LOTOS LOTOS est utilisé pour la vérification formelle de la composition Pourquoi passer par un langage intermédiaire? La sémantique d UML n est pas formellement définie L analyse formelle des modèles UML n est pas possible Pourquoi LOTOS? Algèbre de processus standardisée par ISO Sa sémantique est formellement définie Prise en charge du passage de données entre les processus Outils de vérification très avancés (CADP) Christophe Dumez Approche MDA pour la composition de services 34/52

Règles de transformation vers LOTOS Implémentation en LOTOS des 20 structures de contrôle de Aalst et al. Représenté par des processus LOTOS Facilite leur réutilisation Réalisation du comportement du workflow Appel aux processus LOTOS Utilisation de la communication inter-processus en LOTOS Christophe Dumez Approche MDA pour la composition de services 35/52

Boîte à outils CADP «Construction and Analysis of Distributed Processes» Boîte à outils développée par l INRIA, qui permet : La compilation de descriptions écrites en LOTOS La vérification d équivalence (p.ex. Bissimulation) Le «model checking» à l aide de la logique temporelle... Christophe Dumez Approche MDA pour la composition de services 36/52

Boîte à outils CADP Procédure de vérification formelle avec CADP Christophe Dumez Approche MDA pour la composition de services 37/52

Logique temporelle Extension de la logique classique Permet de décrire sans ambiguïté des comportements dynamiques c.à.d. qui évoluent dans le temps Exemple de propriété temporelle : Si un feu est signalé alors les pompiers interviendront Christophe Dumez Approche MDA pour la composition de services 38/52

Types de propriétés comportementales Accessibilité (Reachability) Une certaine situation peut être atteinte Invariance Tous les états du système satisfont une bonne propriété Sûreté (Safety) Quelque chose de mauvais n arrive jamais Vivacité (Liveness) Quelque chose de bon finit par arriver Christophe Dumez Approche MDA pour la composition de services 39/52

Types de propriétés comportementales Accessibilité (Reachability) Une certaine situation peut être atteinte Invariance Tous les états du système satisfont une bonne propriété Sûreté (Safety) Quelque chose de mauvais n arrive jamais Vivacité (Liveness) Quelque chose de bon finit par arriver Christophe Dumez Approche MDA pour la composition de services 39/52

Types de propriétés comportementales Accessibilité (Reachability) Une certaine situation peut être atteinte Invariance Tous les états du système satisfont une bonne propriété Sûreté (Safety) Quelque chose de mauvais n arrive jamais Vivacité (Liveness) Quelque chose de bon finit par arriver Christophe Dumez Approche MDA pour la composition de services 39/52

Types de propriétés comportementales Accessibilité (Reachability) Une certaine situation peut être atteinte Invariance Tous les états du système satisfont une bonne propriété Sûreté (Safety) Quelque chose de mauvais n arrive jamais Vivacité (Liveness) Quelque chose de bon finit par arriver Christophe Dumez Approche MDA pour la composition de services 39/52

Christophe Dumez Approche MDA pour la composition de services 40/52

Génération du code du service composé : Processus BPEL Description WSDL Règles de transformation fournies vers BPEL Transformation basée sur l identification des structures de contrôle Génération automatique par l environnement de développement Christophe Dumez Approche MDA pour la composition de services 41/52

: Service Composer Un environnement de développement a été développé Développé entièrement en C++ / Qt4 Logiciel libre et multi-plateformes Logiciel fonctionnel : Import des descriptions WSDL Modélisation en UML-S Génération du code BPEL et WSDL Christophe Dumez Approche MDA pour la composition de services 42/52

: Service Composer Capture d écran : Christophe Dumez Approche MDA pour la composition de services 43/52

Scénario de test Modélisation avec UML-S Vérification formelle Rappel du plan 1 Contexte de travail Cadre général Problématique État de l art Contributions de la thèse 2 3 Scénario de test Modélisation avec UML-S Vérification formelle Christophe Dumez Approche MDA pour la composition de services 44/52

Scénario de test Modélisation avec UML-S Vérification formelle Scénario de test Scénario d appel d urgence lors d une notification d accident Dans le cadre du projet Européen ASSET (7ème PCRD) Projet relatif à la sécurité routière L appel d urgence est une des problématiques Une des tâches traite des services intelligents Christophe Dumez Approche MDA pour la composition de services 45/52

Scénario de test Modélisation avec UML-S Vérification formelle Scénario de test 4 services existants : SAMU Police Hôpital Base des accidents Un nouveau service dit «composé» : 112 Christophe Dumez Approche MDA pour la composition de services 46/52

Scénario de test Modélisation avec UML-S Vérification formelle UML-S : Diagramme de classes Christophe Dumez Approche MDA pour la composition de services 47/52

Scénario de test Modélisation avec UML-S Vérification formelle UML-S : Diagramme d activité Christophe Dumez Approche MDA pour la composition de services 48/52

Scénario de test Modélisation avec UML-S Vérification formelle Propriétés vérifiées Propriété 1 : une propriété de sûreté Le processus n envoie jamais le SAMU ou la Police si l accident est déjà en cours de traitement. ([ DEJA_TRAITE. ENVOI_SAMU ] false) and ([ DEJA_TRAITE. ENVOI_POLICE ] false) Propriété 2 : une propriété de vivacité A chaque fois qu un accident est rapporté, le SAMU est toujours envoyé, sauf si l accident est déjà en cours de traitement. A_inev_B (ACC_RAPPORTE, ENVOI_SAMU or DEJA_TRAITE) Christophe Dumez Approche MDA pour la composition de services 49/52

Scénario de test Modélisation avec UML-S Vérification formelle Propriétés vérifiées Propriété 1 : une propriété de sûreté Le processus n envoie jamais le SAMU ou la Police si l accident est déjà en cours de traitement. ([ DEJA_TRAITE. ENVOI_SAMU ] false) and ([ DEJA_TRAITE. ENVOI_POLICE ] false) Propriété 2 : une propriété de vivacité A chaque fois qu un accident est rapporté, le SAMU est toujours envoyé, sauf si l accident est déjà en cours de traitement. A_inev_B (ACC_RAPPORTE, ENVOI_SAMU or DEJA_TRAITE) Christophe Dumez Approche MDA pour la composition de services 49/52

Conclusion et Perspectives Résultats Approche fidèle aux principes du MDA Un profil UML pour modéliser la composition Des règles de transformation : WSDL UML-S UML-S LOTOS UML-S BPEL / WSDL Un environnement de développement Perspectives Automatisation de la vérification formelle Prise en charge de la chorégraphie de services Reverse Mapping (BPEL UML)

Approche dirigée par les modèles pour la spécification, la vérification formelle et la mise en œuvre des services Web composés Merci de votre attention.

Publications Actes de conférences et workshops (7) A. Roxin, C. Dumez, M. Wack et J. Gaber, Middleware models for location-based services : a survey, ICPS Workshops, Proceedings of the 2nd international workshop on Agent-oriented software engineering challenges for ubiquitous and pervasive computing (AUPC 08), 2008. C. Dumez, A. Nait-sidi-moh, J. Gaber et M. Wack, Modeling and Specification of Web Services Composition Using UML-S, International Conference on Next Generation Web Services Practices (NWeSP 08), 2008. C. Dumez, J. Gaber et M. Wack, Model-Driven Engineering of composite Web services using UML-S, Proceedings of the 10th International Conference on Information Integration and Web-based Applications & Services (iiwas2008), 2008. C. Dumez, J. Gaber et M. Wack, Web services composition using UML-S : a case study, GLOBECOM Workshops, Workshop on Service Discovery and Composition in Ubiquitous and Pervasive Environments (SUPE 08), 2008. A. Roxin, C. Dumez, M. Wack et J. Gaber, TransportML : a middleware for Location-Based Services collaboration, NTMS Workshops, 2nd international workshop on Service Computing, Context-aware, Location-aware and Positioning techniques (SCLP 2009), 2009. N. Cottin, C. Dumez, M. Wack et J. Gaber, SAVE TIME : a Smart Vehicle Traffic Information System, 8th International Conference of Modeling and Simulation (MOSIM 10), 2010. C. Dumez, M. Bakhouya, J. Gaber et M. Wack, Formal Specification and Verification of Service Composition using LOTOS, 7th ACM International Conference on Pervasive Services (ICPS 2010), 2010. Journaux scientifiques (1) C. Dumez, M. Bakhouya, J. Gaber et M. Wack, A Model-Driven Approach to Service Composition Supporting Formal Verification, soumis à Service Oriented Computing and Applications (SOCA), Springer, 2010