PICS2012

Conception des architectures logicielles dynamiques orientées service correctes par construction

Site côté Université de Sfax : http://www.redcad.org/meidya/dgrs/

Responsables

  • Responsable du projet français : Khalil DRIRA (LAAS-CNRS)
  • Responsable du projet tunisien : Mohamed HADJ KACEM (ReDCAD)

Résumé du projet

Cette proposition de projet vise à profiter de l’expertise de chaque équipe dans les différentes étapes de la modélisation des architectures logicielles dynamiquement reconfigurables. Les architectures orientées services (SOA) constituent un domaine d’investigation académique et industrielle pour la conception et la mise en œuvre des futurs systèmes dynamiquement reconfigurables. Les défis sont multiples et concernent à la fois la maitrise de la conception « à-base-de-modèle » de solutions prouvées correctes par construction lorsqu’il s’agit d’applications critiques où la robustesse et la fiabilité sont des propriétés requises. Ceci est le cas notamment pour les applications de transport critiques telles que présentes dans le domaine de l’avionique. Le défi concerne également la conception de solutions correctes par construction qui soient proches des concepts architecturaux utilisés en pratique par les développeurs des systèmes logiciels dynamiquement reconfigurables.

Description du projet et motivations

Les applications émergentes récentes sont de plus en plus distribuées, ouvertes et à architectures complexes. De telles applications sont composées d’un nombre, généralement important, d’entités logicielles dispersées sur le réseau coopérant pour fournir à leurs utilisateurs les services qu’ils requièrent. Cette complexité est liée, par exemple, à l’extension des réseaux de communication, à l’hétérogénéité matérielle et logicielle, au fort degré d’interaction et aux exigences d’évolutions nécessaires et permanentes. Le but étant d’offrir des services de plus en plus performants, robustes et sûrs, et qui s’adaptent aux différents besoins des utilisateurs. L’adaptation ou la reconfiguration logicielle constitue l’un des enjeux et défis techniques les plus importants. En effet, l’adaptabilité d’une application est devenue impérative dans un contexte de systèmes fortement distribués et contenant un grand nombre de composants. Dans ce cas, une reconfiguration ad-hoc n’est pas envisageable.

L’adaptabilité dans les applications logicielles peut être classée en deux catégories. La première concerne l’adaptation comportementale. Elle traite la modification du comportement de l’application et de ses composants et impliquerait, par exemple, la redéfinition d’une méthode dans l’interface d’un composant. La deuxième catégorie, dans laquelle nous pouvons classer notre projet, concerne l’adaptation structurelle et implique une reconfiguration au niveau architectural. Ce type de reconfiguration porte sur l’organisation de l’architecture et consiste, par exemple, à remplacer un service défaillant par un autre service qui possède les mêmes fonctionnalités ou rediriger un lien (une connexion) d’un service défaillant vers un service susceptible d’offrir de meilleures fonctionnalités.

Afin de faire face à cette complexité, l’OMG (Object Management Group) a proposé l’approche dirigée par les modèles (MDA : Model Driven Architecture). Dans cette approche, les modèles constituent la couche nécessaire pour fournir le niveau d’abstraction demandé. L’approche MDA préconise l’utilisation d’UML (Unified Modeling Language) pour l’élaboration des modèles. En effet, UML, et grâce à sa version 2.0, est devenu un standard pour la conception et la modélisation des architectures des applications distribuées à base de composants.

Cependant, même avec cette intention d’être général, UML ne peut pas couvrir tous les contextes et offre ainsi un mécanisme d’extensibilité basé sur les profils. Un profil UML permet la personnalisation et l’ajustement d’UML pour prendre en charge des domaines spécifiques qui ne peuvent pas être représentés avec UML dans son état original.

Le présent projet entre dans ce contexte et traite les applications distribuées. Il propose une approche «à-base-de-modèle » pour la modélisation et la validation des architectures logicielles. Nous traitons les architectures orientées composants et les architectures orientées services. Dans ce projet, nous nous concentrons sur la modélisation de la dynamique de l’architecture logicielle au niveau conceptuel (design time). Nous traitons essentiellement le problème de l’évolution des exigences représentant un changement dans l’activité soutenue par le système modélisé. Nous associons des opérations de reconfiguration architecturales à ces situations pour adapter le système à ces changements. Le projet consiste, en partie, à apporter des solutions de modélisation conformes à l’approche MDA.

Le projet consiste à proposer des solutions de modélisation permettant de guider et d’assister les activités de conception des applications distribuées à architecture dynamique. Nous proposons une démarche de conception orientée-modèle permettant de modéliser, de valider, de prouver et d’implémenter une architecture logicielle dynamique. Les profils UML, que nous définissons dans ce projet, couvrent plusieurs maillons de la chaîne de description architecturale. Ils seront basés sur des méta-modèles permettant de décrire le style architectural, les opérations de reconfiguration et le protocole de reconfiguration. La modélisation de l’architecture logicielle génère des modèles en se basant sur les profils UML proposés. Ces modèles doivent être valides par rapport à leur méta-modèle. Comme objectif, nous prévoyons de proposer une approche de validation. Cette validation doit être basée sur des règles intra-modèles et des règles inter-modèles. Les règles intra-modèles permettent de contrôler la cohérence d’un modèle par rapport à son méta-modèle et les règles inter-modèles permettent de contrôler le passage d’un modèle à un autre. Cette validation assure la validité des modèles et leur conformité par rapport à leur méta-modèle.

Afin d’attribuer une sémantique formelle, nous envisageons également dans ce projet de proposer une approche de preuve automatique. Cette approche doit assurer, dans une première étape, une transformation automatique du style architectural et de chaque opération de reconfiguration vers le langage Z. Elle doit permettre, dans une deuxième étape, de prouver la consistance du style architectural et la conformité de l’évolution d’une architecture vis-à-vis de son style architectural. Nous utiliserons le système de preuve Z/EVES. Un autre objectif de ce projet consiste à tester et à valider l’approche proposée sur des études de cas. Nous essayons de tester les solutions proposées particulièrement sur les systèmes ubiquitaires.

Partenaires

  • ISIM-Sfax , Pôle technologique de Sfax : Route de Tunis Km 10, Sfax - Tunisia
  • ReDCAD Research Laboratory. National School of Engineers of Sfax, Route de la Soukra km 3.5 B.P., 1173, 3038 Sfax - Tunisia
  • LAAS-CNRS, 7 Av. du Colonel Roche 31031 Toulouse cedex 4 - France

Publications

Article Journal

  • Imen Tounsi, Mohamed Hadj Kacem, Ahmed Hadj Kacem and Khalil Drira. A Refinement-Based Approach for Building Valid SOA Design Patterns. In the International Journal of Cloud Computing (IJCC). (to appear)

Papiers acceptés dans des conférences internationales

  • Imen Tounsi, Zied Hrichi, Mohamed Hadj Kacem, Ahmed Hadj Kacem and Khalil Drira. Using SoaML models and Event-B spécifications for modeling SOA design Patterns. In Proceeding of the 15th International Conference on Enterprise Information Systems (ICEIS’13), pages 294-301, Anger - France, July 2013.
  • Imen Tounsi, Mohamed Hadj Kacem and Ahmed Hadj Kacem. Building Correct by Construction SOA Design Patterns: Modeling and Refinement. 7th European Conference, ECSA 2013, Montpellier, France, July 1-5 2013, volume 7957 of Lecture Notes in Computer Science, pages 33-44. Springer, 2013.
  • Imen Tounsi, Mohamed Hadj Kacem, Ahmed Hadj Kacem. An Approach for Modeling and Formalizing SOA Design Patterns. In Proceeding of the IEEE 22th International WETICE Conference (WETICE’13), pages 330-335, Hammamet - Tunisia, June 2013.
  • Imen Tounsi, Mohamed Hadj Kacem, Ahmed Hadj Kacem, Khalil Drira and Emna Mezghani. Towards an Approach for Modeling and Formalizing SOA Design Patterns with Event-B. In Proceeding of the 28th Symposium On Applied Computing (SAC'13), pages 1937-1938, Coimbra - Portugal, March 2013, ACM.
  • Imen Tounsi, Mohamed Hadj Kacem, Ahmed Hadj Kacem, Khalil Drira. The Sender Released pattern: An SOA design pattern for inter-service message exchange. In Proceeding of the IEEE 21st International WETICE Conference, pages 405-410, 2012.
  • Ilhem Khlif, Mohamed Hadj Kacem, Khalil Drira. Une approche de description multi-échelles et multi points de vue pour les architectures logicielles dynamiques. Conférence francophone sur les Architectures Logicielles (CAL 2012), Montpellier (France), 29-31 Mai 2012, 9p.

Papiers Posters

  • Imen Tounsi, Mohamed Hadj Kacem, Ahmed Hadj Kacem, and Khalil Drira. Poster: An Approach for Modeling and Refinement of SOA Design Patterns with Event-B Method, The 9th workshop on Methods for the Adaptive Distributed Software (METHODICA-II'2012), Hammamet, Tunisia, December 22-24 2012.
  • Ilhem Khlif, Mohamed Hadj Kacem, Ahmed Hadj Kacem, and Khalil Drira. Towards an approach for describing and modeling dynamic multi-scales architectures, The 10th* workshop on Methods for the Adaptive Distributed Software (METHODICA-I'2013), Sfax, Tunisia, December 23-25 2013.
  • Akram Kamoun, Mohamed Hadj Kacem, Ahmed Hadj Kacem, and Khalil Drira. Feature Model for Automatic Composition of SOA Service Messaging Design Patterns, The 10th workshop on Methods for the Adaptive Distributed Software (METHODICA-I'2013), Sfax, Tunisia, December 23-25 2013.