Modélisation et développement d'applications avec comportement adaptable
Institution:
Lyon, INSADisciplines:
Directors:
Abstract EN:
In the domain of software engineering, autonomous systems are able to modify their behavior and to evolve to fit their execution context (self-adaptation). These systems aim to work in unpredictable contexts, at least partially or in a graceful degraded way, under some conditions that are not defined in advance. In this context of autonomous systems, we are interested in the Quality of Service (QoS) management. The development of an autonomous system dedicated to manage the QoS that meets all the requirements is a hard task. In order to facilitate this task and to help developers, we propose a generic framework aiming to describe a family of related QoS management systems. In addition, we propose a generic model for the design of applications as a graph model. This model allows an application to communicate with the QoS management system by using a common protocol. Concerning the management architecture, we define different centralized vs. Decentralized management policies and then, we compare them by using the number of messages exchanged between the application and the QoS management system. In order to generalize our solution, we first propose a development methodology based on UML components and profiles. This methodology allows developing a generic framework for a family of related systems in any domain. Then, we detail the use of this methodology in the domain of QoS management system. Based on this development methodology, we focus on the description of the generic basic components that are necessary to build a QoS management system that adapt application?s behavior. We develop a generic framework that gathers these components, their connectors as well as constraints. This framework characterizes the functional and structural as well as behavioral aspects. From this coarse-grained generic framework, a user will be able to derive his/her specific own QoS management system. We show an example of specific system called PMQDA (Plan-based Middleware for QoS management of Distributed Applications) for QoS management of distributed applications.
Abstract FR:
Dans le domaine du génie logiciel, les systèmes autonomes sont des systèmes capables de modifier leur comportement et d’évoluer pour s’adapter à leur environnement d’exécution. Ces systèmes ont pour objectif de fonctionner, du moins partiellement ou de façon dégradée, dans des conditions qui n’ont pas été définies a priori. Le domaine d’application qui nous intéresse pour ces systèmes autonomes est la gestion de la qualité de service (Quality of Service, QoS). Le développement d’un système autonome pour gérer la QoS et qui répond à tous les besoins est une tâche difficile. Afin de faciliter cette tâche et d’aider les développeurs, nous proposons un cadre générique pour décrire une famille de systèmes de gestion de la QoS. Nous proposons également, sous forme de graphe, un modèle générique pour la conception des applications. Ce modèle permet d’utiliser un protocole commun pour la communication entre les applications et le système de gestion de QoS. Nous définissons différentes politiques de gestion de la QoS centralisée et décentralisée, puis nous les comparons en fonction du nombre de messages échangés entre l’application et le système de gestion. Dans le but de généraliser notre solution, nous proposons tout d’abord une méthodologie de développement à base de composants et de profils UML. Cette méthodologie permet de développer un cadre générique pour une famille de systèmes voisins dans un domaine quelconque. Ensuite, nous détaillons l’exploitation de cette méthodologie pour le domaine de la gestion de la QoS. En se basant sur cette méthodologie, nous allons nous concentrer sur la description des composants génériques nécessaires pour construire un middleware de gestion de la QoS par adaptation de comportement. Nous développons un cadre générique qui regroupe ces composants, leurs connexions ainsi que des contraintes. Ce cadre représente aussi bien les aspects fonctionnels et structurels que les aspects comportementaux. À partir de ce modèle de base (framework), un utilisateur pourra dériver des systèmes de gestion de la QoS spécifiques. Nous présentons un exemple de système spécifique, appelé PMQDA (Plan-based Middleware for QoS management of Distributed Applications), pour la gestion de la QoS d’applications distribuées.