• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 21
  • 14
  • 6
  • Tagged with
  • 40
  • 40
  • 18
  • 18
  • 17
  • 17
  • 17
  • 14
  • 11
  • 10
  • 10
  • 7
  • 7
  • 7
  • 7
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
11

Conception et implémentation de systèmes résilients par une approche à composants

Stoicescu, Miruna 09 December 2013 (has links) (PDF)
L'évolution des systèmes pendant leur vie opérationnelle est incontournable. Les systèmes sûrs de fonctionnement doivent évoluer pour s'adapter à des changements comme la confrontation à de nouveaux types de fautes ou la perte de ressources. L'ajout de cette dimension évolutive à la fiabilité conduit à la notion de résilience informatique. Parmi les différents aspects de la résilience, nous nous concentrons sur l'adaptativité. La sûreté de fonctionnement informatique est basée sur plusieurs moyens, dont la tolérance aux fautes à l'exécution, où l'on attache des mécanismes spécifiques (Fault Tolerance Mechanisms, FTMs) à l'application. A ce titre, l'adaptation des FTMs à l'exécution s'avère un défi pour développer des systèmes résilients. Dans la plupart des travaux de recherche existants, l'adaptation des FTMs à l'exécution est réalisée de manière préprogrammée ou se limite à faire varier quelques paramètres. Tous les FTMs envisageables doivent être connus dès le design du système et déployés et attachés à l'application dès le début. Pourtant, les changements ont des origines variées et, donc, vouloir équiper un système pour le pire scénario est impossible. Selon les observations pendant la vie opérationnelle, de nouveaux FTMs peuvent être développés hors-ligne, mais intégrés pendant l'exécution. On dénote cette capacité comme adaptation agile, par opposition à l'adaptation préprogrammée. Dans cette thèse, nous présentons une approche pour développer des systèmes sûrs de fonctionnement flexibles dont les FTMs peuvent s'adapter à l'exécution de manière agile par des modifications à grain fin pour minimiser l'impact sur l'architecture initiale. D'abord, nous proposons une classification d'un ensemble de FTMs existants basée sur des critères comme le modèle de faute, les caractéristiques de l'application et les ressources nécessaires. Ensuite, nous analysons ces FTMs et extrayons un schéma d'exécution générique identifiant leurs parties communes et leurs points de variabilité. Après, nous démontrons les bénéfices apportés par les outils et les concepts issus du domaine du génie logiciel, comme les intergiciels réflexifs à base de composants, pour développer une librairie de FTMs adaptatifs à grain fin. Nous évaluons l'agilité de l'approche et illustrons son utilité à travers deux exemples d'intégration : premièrement, dans un processus de développement dirigé par le design pour les systèmes ubiquitaires et, deuxièmement, dans un environnement pour le développement d'applications pour des réseaux de capteurs.
12

Construction de systèmes répartis sécurisés à base de composants

Youssef, Lilia 12 May 2012 (has links) (PDF)
L'objectif de ce travail est de fournir des modèles et outils pour simplifier la construction des systèmes distribués à base de composants sécurisés, ainsi que la gestion des propriétés de sécurité, en utilisant des outils de haut niveau d'abstraction pour la configuration et la reconfiguration dynamique. En plus des propriétés d'accessibilité et de communications sécurisées classiques, nous focalisons notre travail sur une propriété des systèmes répartis plus générale : la non-interférence. Cette propriété atteste qu'il ne doit pas y avoir de flux d'information entre des parties publiques et privées du système. Ce qui implique le suivi de l'acheminement de l'information entre les différentes composantes du système distribué. Notre objectif principal est donc de proposer un modèle, accompagné d'un ensemble d'outils, garantissant la propriété de la non-interférence à la construction du système, et ce à une plus grosse granularité : celle des composants. Ces outils permettent de (1) configurer les paramètres de sécurité des composants et des liaisons entre eux, (2) vérifier la propriété de non-interférence dans le code d'un composant et entre les différents composants du système et (3) générer automatiquement le code nécessaire pour appliquer ces propriétés de sécurité. D'autre part, nous proposons une architecture permettant de vérifier dynamiquement la propriété de non-interférence dans un système réparti.
13

Implémentation rigoureuse des systèmes temps-réels

Abdellatif, Tesnim 05 June 2012 (has links) (PDF)
Les systèmes temps-réels sont des systèmes qui sont soumis à "des contraintes de temps", comme par exemple le délais de réponse d'un système à un événement physique. Souvent les temps de réponse sont de l'ordre du milliseconde et parfois même du microseconde. Construire des systèmes temps-réels nécessite l'utilisation de méthodologies de conception et de mise en œuvre qui garantissent la propriété de respect des contraintes de temps, par exemple un système doit réagir dans les limites définies par l'utilisateur tels que les délais et la périodicité. Un délai non respecté dans systèmes temps-réel critique est catastrophique, comme par exemple dans les systèmes automobiles. Si un airbag se déclanche tard dans un accident de voiture, même quelques millisecondes trop tard peuvent conduire à des répercussions graves. Dans les systèmes temps-réels non critiques, une perte significative de performance et de QoS peuvent se produire, comme par exemple dans les réseaux de systèmes multimédia. Contribution: Nous fournissons une méthode de conception rigoureuse des systèmes temps-réel. L'implèmentation est générée à partir d'une application logicielle temps-réel et une plate-forme cible, en utilisant les deux modèles suivants: * Un modèle abstrait représentant le comportement de l'application logicielle en temps réel sous forme d' un automate temporisé. Celui-ci décrit des contraintes temporelles définies par l'utilisateur qui sont indépendantes de la plateforme. Ses transitions sont intemporelles et correspondent à l'exécution des différentes instructions de l'application. * Un modèle physique représentant le comportement du logiciel en temps réel s'exécutant sur une plate-forme donnée. Il est obtenu par l'attribution des temps d'exécution aux transitions du modèle abstrait. Une condition nécessaire pour garantir l'implémentabilité dy système est la "time-safety", c'est à dire, toute séquence d'exécution du modèle physique est également une séquence d'exécution du modèle abstrait. "Time-safety" signifie que la plate-forme est assez rapide pour répondre aux exigences de synchronisation de l'application. Comme les temps d'exécution des actions ne sont pas connus avec exactitude, "time-safety" est vérifiée pour les temps d'exécution pire cas es actions en faisant l' hypothèse de la robustesse. La robustesse signifie que la "time-safety" est préservée lorsqu'on augmente la vitesse de la plate-forme d'exécution. Pour des logiciels et plate-forme d'exécution correspondant à un modèle robuste, nous définissons un moteur d'exécution qui coordonne l'exécution du logiciel d'application afin de répondre à ses contraintes temporelles. En outre, en cas de non-robustesse, le moteur d'exécution permet de détecter les violations de contraintes temporelles en arrêtant l'exécution. Nous avons mis en place le moteur d'exécution pour les programmes BIP. Nous avons validé la méthode pour la conception et la mise en œuvre du robot Dala. Nous montrons les avantages obtenus en termes d'utilisation du processeur et l'amélioration de la latence de la réaction.
14

UDeploy : une infrastructure de déploiement pour les applications à base de composants logiciels distribués

Dibo, Mariam 28 January 2011 (has links) (PDF)
Dans le cycle de vie logiciel nous avons principalement les activités (1) de pré-développement (l'analyse des besoins, les spécifications, la conception architecturale et la conception détaillée), (2) de développement (l'implémentation, le prototypage, les tests unitaires et les tests d'intégration) et (3) de post-développement (déploiement). Le déploiement de logiciel couvre l'ensemble des activités post-développement. Les activités de déploiement permettent de rendre une application utilisable. Elles sont identifiées comme cycle de vie de déploiement couvrant l'archivage des logiciels, leur chargement, leur installation sur les sites clients, leur configuration, leur activation ainsi que leur mise à jour. Le développement de systèmes à composants a permis de mieux identifier cette partie du cycle de vie global du logiciel, comme le montrent de nombreux travaux industriels et académiques. Cependant ces travaux sont en général développés de manière ad' hoc, spécifiques à une plate-forme donnée. Peu flexibles, ils s'adaptent difficilement aux stratégies des entreprises. Les systèmes de déploiement comme le montrent ceux supportés par les environnements de type intergiciel CCM, .Net, EJB développent de manière spécifique les mécanismes et outils de déploiement et introduisent des choix prédéfinis et figés de stratégies de déploiement. Nos travaux se situent dans le contexte de logiciels à base de composants distribués et portent sur la proposition d'un environnement générique pour supporter leur déploiement. C'est une nouvelle génération de systèmes proposée essentiellement par le monde académique de génie logiciel qui s'est approprié la problématique de déploiement à large échelle. Dans ce contexte, nous proposons une approche basée sur l'ingénierie dirigée par les modèles où nous introduisons les abstractions nécessaires pour décrire les logiciels à déployer, les infrastructures de déploiement, les stratégies de déploiement ainsi que le processus de déploiement avec l'identification et l'ordonnancement des activités à accomplir et le support pour leur exécution.
15

Architecting Resilient Computing Systems : a Component-Based Approach / Conception et implémentation de systèmes résilients par une approche à composants

Stoicescu, Miruna 09 December 2013 (has links)
L'évolution des systèmes pendant leur vie opérationnelle est incontournable. Les systèmes sûrs de fonctionnement doivent évoluer pour s'adapter à des changements comme la confrontation à de nouveaux types de fautes ou la perte de ressources. L'ajout de cette dimension évolutive à la fiabilité conduit à la notion de résilience informatique. Parmi les différents aspects de la résilience, nous nous concentrons sur l'adaptativité. La sûreté de fonctionnement informatique est basée sur plusieurs moyens, dont la tolérance aux fautes à l'exécution, où l'on attache des mécanismes spécifiques (Fault Tolerance Mechanisms, FTMs) à l'application. A ce titre, l'adaptation des FTMs à l'exécution s'avère un défi pour développer des systèmes résilients. Dans la plupart des travaux de recherche existants, l'adaptation des FTMs à l'exécution est réalisée de manière préprogrammée ou se limite à faire varier quelques paramètres. Tous les FTMs envisageables doivent être connus dès le design du système et déployés et attachés à l'application dès le début. Pourtant, les changements ont des origines variées et, donc, vouloir équiper un système pour le pire scénario est impossible. Selon les observations pendant la vie opérationnelle, de nouveaux FTMs peuvent être développés hors-ligne, mais intégrés pendant l'exécution. On dénote cette capacité comme adaptation agile, par opposition à l'adaptation préprogrammée. Dans cette thèse, nous présentons une approche pour développer des systèmes sûrs de fonctionnement flexibles dont les FTMs peuvent s'adapter à l'exécution de manière agile par des modifications à grain fin pour minimiser l'impact sur l'architecture initiale. D'abord, nous proposons une classification d'un ensemble de FTMs existants basée sur des critères comme le modèle de faute, les caractéristiques de l'application et les ressources nécessaires. Ensuite, nous analysons ces FTMs et extrayons un schéma d'exécution générique identifiant leurs parties communes et leurs points de variabilité. Après, nous démontrons les bénéfices apportés par les outils et les concepts issus du domaine du génie logiciel, comme les intergiciels réflexifs à base de composants, pour développer une librairie de FTMs adaptatifs à grain fin. Nous évaluons l'agilité de l'approche et illustrons son utilité à travers deux exemples d'intégration : premièrement, dans un processus de développement dirigé par le design pour les systèmes ubiquitaires et, deuxièmement, dans un environnement pour le développement d'applications pour des réseaux de capteurs. / Evolution during service life is mandatory, particularly for long-lived systems. Dependable systems, which continuously deliver trustworthy services, must evolve to accommodate changes e.g., new fault tolerance requirements or variations in available resources. The addition of this evolutionary dimension to dependability leads to the notion of resilient computing. Among the various aspects of resilience, we focus on adaptivity. Dependability relies on fault tolerant computing at runtime, applications being augmented with fault tolerance mechanisms (FTMs). As such, on-line adaptation of FTMs is a key challenge towards resilience. In related work, on-line adaption of FTMs is most often performed in a preprogrammed manner or consists in tuning some parameters. Besides, FTMs are replaced monolithically. All the envisaged FTMs must be known at design time and deployed from the beginning. However, dynamics occurs along multiple dimensions and developing a system for the worst-case scenario is impossible. According to runtime observations, new FTMs can be developed off-line but integrated on-line. We denote this ability as agile adaption, as opposed to the preprogrammed one. In this thesis, we present an approach for developing flexible fault-tolerant systems in which FTMs can be adapted at runtime in an agile manner through fine-grained modifications for minimizing impact on the initial architecture. We first propose a classification of a set of existing FTMs based on criteria such as fault model, application characteristics and necessary resources. Next, we analyze these FTMs and extract a generic execution scheme which pinpoints the common parts and the variable features between them. Then, we demonstrate the use of state-of-the-art tools and concepts from the field of software engineering, such as component-based software engineering and reflective component-based middleware, for developing a library of fine-grained adaptive FTMs. We evaluate the agility of the approach and illustrate its usability throughout two examples of integration of the library: first, in a design-driven development process for applications in pervasive computing and, second, in a toolkit for developing applications for WSNs.
16

Multi-dimensional architecture description language for forward and reverse evolution of component-based software / Un langage de description d'architectures multi-dimensionnel pour l'évolution directe et la rétro-évolution de logiciels à base de composants

Zhang, Huaxi Yulin 07 April 2010 (has links)
Les approches basées sur les composants permettent de développer des logiciels en réutilisant des composants existant dans des bibliothèques. La structure d'un tel logiciel produit par assemblage de composants est définie à l'aide d'un langage de description d'architectures (ADL). Les processus de développement sont encore peu adaptés à ce paradigme. Ainsi, les ADL existants ne fournissent pas de véritable support au développement et à l'évolution des architectures logicielles à composants. Cette thèse propose Dedal, un ADL permettant de définir une architecture logicielle à différents niveaux d'abstraction qui correspondent aux étapes du cycle de vie du logiciel : sa spécification, son implémentation et son déploiement. La définition de l'architecture est complétée par un modèle du logiciel à l'exécution. La cohérence entre les différentes définitions d'une architecture doit être assurée : sa définition à un niveau d'abstraction doit être conforme à sa définition à un niveau supérieur. Ce principe permet de contrôler l'évolution d'une architecture, en validant les modifications réalisées à un certain niveau d'abstraction ou en motivant la création d'une nouvelle version pour propager les modifications entre niveaux d'abstraction et rétablir la cohérence. Ces mécanismes préviennent les problèmes d'érosion ou de dérive qui surviennent lors des évolutions entre les différents niveaux de définition des architectures. Un environnement couvrant le cycle de vie complet d'un logiciel à base de composants a été prototypé. Il comporte un atelier, permettant de décrire des architectures avec Dedal, puis un environnement d'exécution, extension des outils Fractal, capable de contrôler l'évolution des architectures déployées. L'évolution à l'exécution est réalisée de façon graduelle, de manière à faire fonctionner et à instrumenter les nouvelles versions pendant une phase de transition, avant de valider définitivement une modification. / Component-based approaches promote software development by reuse of existing components from a repository. The structure of such software is described as an assembly of software components using an architecture description language (ADL). Software development processes often do not comply with this paradigm yet. Consequently, existing ADLs do not fully support component-based software architecture development and evolution. This thesis proposes Dedal, an ADL to describe software architectures at several abstraction levels that correspond to the steps of software lifecycle: its specification, its implementation and its deployment. The architecture definition is completed with a runtime model of the software. Consistency between the various definitions of a given architecture must be maintained: its definition at some abstraction level must conform to its definition at a higher abstraction level. This consistency principle enables to control the evolution of architectures either validating changes performed at an abstraction level or motivating the creation of a new version, to propagate changes from an abstraction level to the other and restore their consistency. These mechanisms prevent from architecture erosion or drift which might occur between two different description levels after evolution. An environment that covers the whole lifecycle of component-based software has been prototyped. It includes a CASE tool that supports the Dedal-based description of architectures and a runtime environment that extends Fractal tools to control the evolution of the deployed software. Runtime evolution is performed gradually in order to have new versions run and instrumented during a transition phase before committing changes.
17

L'Efficience Énergétique des Services dans les Systèmes Répartis Hétérogènes et Dynamiques : Application à la Maison Numérique

Druilhe, Rémi 05 December 2013 (has links) (PDF)
La maison est un environnement dans lequel de plus en plus d'équipements sont interconnectés. Cette multiplication des équipements informatiques et des services associés augmente la consommation d'énergie de la maison numérique. Pour limiter cette tendance, les équipements de l'électronique grand public contrôlent leur consommation d'énergie individuellement, indépendamment les uns des autres. Les environnements répartis offrent de nouvelles opportunités de gestion de la consommation d'énergie des équipements. Ce travail propose de mettre en place une coordination intelligente entre les équipements de façon à limiter la consommation énergétique de l'ensemble de ces équipements tout en délivrant les mêmes services. Notre approche consiste à déplacer des composants logiciels d'un équipement à l'autre afin de maximiser l'efficience énergétique de la maison numérique. Cependant, ces déplacements sont contraints à la fois par l'environnement, e.g., ressources matérielles disponibles, et par les besoins des composants logiciels, e.g., ressources matérielles requises, présence de l'utilisateur. Pour concevoir un tel système, il est nécessaire de considérer les propriétés intrinsèques à la maison numérique dont l'hétérogénéité, la dynamicité et la qualité de service. L'hétérogénéité nécessite une modélisation de chaque équipement et de chaque service suivant des critères différenciant, e.g., ressources matérielles, présence de l'utilisateur. La dynamicité requiert de modifier la répartition des composants logiciels lorsqu'un événement significatif survient, e.g., apparition d'un équipement, afin de conserver l'efficience énergétique. Enfin, la mise en place de solutions moins énergivores ne doit pas impacter la qualité de service, e.g., satisfaire les besoins en ressources matérielles des composants logiciels. Nous proposons une modélisation de ces propriétés. Ce modèle est ensuite considéré par un système décisionnel autonome. Sur l'observation d'événements significatifs, le système prend la décision de modifier la répartition des composants sur les équipements afin d'atteindre l'objectif d'efficience énergétique tout en satisfaisant à la qualité de service. L'implantation du système décisionnel est réalisée par une architecture elle-même conçue pour être efficiente énergétiquement. Le système décisionnel est considéré comme un service à part entière. Il est construit comme les autres services présents dans l'environnement, et est donc capable de se déplacer d'un équipement à un autre pour s'exécuter sur celui qui est le plus approprié en fonction du contexte. L'approche est validée au travers de son implémentation appelée HomeNap et le déroulé de scénarios de la vie courante. Les résultats obtenus montrent des gains énergétiques. Ces résultats montrent également que les gains sont fonctions des usages de la maison numérique. Enfin, ces gains s'accroissent lorsque le nombre d'équipements et de services augmente, ce qui correspond à la tendance actuellement observée.
18

Un système multi-agents à base de composants pour l’adaptation autonomique au contexte – Application à la domotique / Component based multi-agent system for autonomic adaptation to the context - Application to home automation

Hamoui, Mohamad Fady 13 December 2010 (has links)
Les environnements domotiques sont des environnements ubiquitaires dans lesquels des équipements domestiques, disséminés dans une habitation, fournissent des services utilisables à distance au travers d'un réseau. Des systèmes domotiques sont proposés pour permettre aux utilisateurs de contrôler les équipements en fonction de leurs besoins.Idéalement, ces systèmes orchestrent l'exécution des services fournis par les équipements pour réaliser des services complexes. Mieux encore, ces systèmes doivent s'adapter à la variété des environnements en termes d'équipements et des besoins des utilisateurs. Ils doivent également pouvoir s'adapter dynamiquement, si possible de manière autonome, au changement de leur contexte d'exécution (apparition ou disparition d'un équipement, évolution des besoins).Dans cette thèse, nous apportons une réponse à cette problématique avec SAASHA, un système domotique multi-agents à base de composants. La combinaison de ses deux paradigmes permet de gérer l'adaptation à trois niveaux : présentation (interfaces utilisateur),organisation (architecture du système) et comportement (architecture interne des agents).Les agents perçoivent le contexte et ses changements. Les utilisateurs se voient proposer une vue dynamique du contexte leur permettant de définir des scénarios personnalisés sous forme de règles. Les agents se répartissent les rôles pour réaliser les scénarios. Ils modifient dynamiquement leur architecture interne grâce à la génération, au déploiement et à l'assemblage de composants pour se doter de nouveaux comportements de contrôle des équipements et des scénarios. Les agents collaborent ainsi pour exécuter les scénarios. En cas de changement, ces trois niveaux d'adaptation sont mis en oeuvre de manière dynamique et autonome pour maintenir la continuité de service. Un prototype de SAASHA, basé sur les standards industriels UPnP et OSGi, a été développé pour évaluer la faisabilité de notre proposition. / Home automation environments are ubiquitous environments where domestic devices, scattered throughout a home, provide services that can be used remotely over a network. Home automation systems are proposed to enable the users of controlling the devices according to their needs. Ideally, these systems orchestrate the execution of the services provided by the devices to achieve complex services. Even more, these systems must adapt to the variety of environments in terms of devices and users needs. They must also be able to adapt dynamically, if possible in an autonomous manner, to the changes of their execution context (appearance or disappearance of a device, changing needs).In this thesis, we provide an answer to this problematic with SAASHA, a multi-agent home automation system based on components. The combination of these two paradigms enables managing the adaptation on three levels: presentation (user interface), organization (system architecture) and behavior (internal architecture of agents). The agents perceive their context and its changes. The Users are offered a dynamic view of the context allowing them to define custom scenarios as rules. The agents divide the roles among them to realize the scenarios. They modify dynamically their internal architecture throughout the generation, deployment and assembly of components to adopt new device control behaviors and scenarios. The agents collaborate to execute the scenarios. In case of a change, these three levels of adaptation are updated dynamically and autonomously to maintain the service continuity. A SAASHA prototype, based on UPnP and OSGi industry standards, has been developed to assess the feasibility of our proposal.
19

Migration des applications orientées-objet vers celles à base de composants / Migrating Object Oriented Applications into Component-Based ones

Al Shara, Zakarea 17 November 2016 (has links)
Les applications orientées objet de tailles significatives ont des dépendances complexes et nombreuses, et généralement ne disposent pas d'architectures logicielles explicites. Par conséquent, elles sont difficiles à maintenir, et certaines parties de ces applications sont difficiles à réutiliser. Le paradigme de développement à base de composants est né pour améliorer ces aspects et pour soutenir la maintenabilité et la réutilisation efficaces. Il offre une meilleure compréhensibilité à travers une vue d'architecture de haut niveau. Ainsi, la migration des applications orientées objet à celles à base de composants contribuera à améliorer ces caractéristiques, et de soutenir l'évolution des logiciels et la future maintenance.Dans cette thèse, nous proposons une approche pour transformer automatiquement les applications orientées objet à celles à base de composants. Plus particulièrement, l'entrée de l'approche est le résultat fourni par la récupération de l'architecture logicielle: une description de l'architecture à base de composants. Ainsi, notre approche transforme le code source orienté objet afin de produire des composants déployables. Nous nous concentrons sur la transformation des dépendances orientées objet en celles basées sur les interfaces. De plus, nous passons du concept d'objet au concept d'instance d'un composant. En outre, nous fournissons une approche de transformation déclarative en utilisant des langages dédiés. Nous démontrons notre approche sur de nombreux modèles de composants bien connus. / Large object-oriented applications have complex and numerousdependencies, and usually do not have explicitsoftware architectures. Therefore they are hard to maintain, and parts of themare difficult to reuse. Component-based development paradigm emergedfor improving these aspects and for supporting effectivemaintainability and reuse. It provides better understandabilitythrough a high-level architecture view of the application. Thus, migrating object-oriented applications to component-based ones will contribute to improve these characteristics, and support software evolution and future maintenance.In this dissertation, we propose an approach to automatically transform object-oriented applications tocomponent-based ones. More particularly, the input of the approach isthe result provided by software architecture recovery: acomponent-based architecture description. Then, our approachtransforms the object-oriented source code in order to producedeployable components. We focus on transforming object-oriented dependencies into interface-based ones. Moreover, we move from the concept of object to the concept of component instance. Furthermore, we provide a declarative transformation approach using domain-specific languages. We demonstrate our approach on many well-known component models.
20

UDeploy : une infrastructure de déploiement pour les applications à base de composants logiciels distribués / A Generic Framework for Distributed Components-based Software Systems Deployment

Dibo, Mariam 28 January 2011 (has links)
Dans le cycle de vie logiciel nous avons principalement les activités (1) de pré-développement (l’analyse des besoins, les spécifications, la conception architecturale et la conception détaillée), (2) de développement (l’implémentation, le prototypage, les tests unitaires et les tests d’intégration) et (3) de post-développement (déploiement). Le déploiement de logiciel couvre l’ensemble des activités post-développement. Les activités de déploiement permettent de rendre une application utilisable. Elles sont identifiées comme cycle de vie de déploiement couvrant l'archivage des logiciels, leur chargement, leur installation sur les sites clients, leur configuration, leur activation ainsi que leur mise à jour. Le développement de systèmes à composants a permis de mieux identifier cette partie du cycle de vie global du logiciel, comme le montrent de nombreux travaux industriels et académiques. Cependant ces travaux sont en général développés de manière ad’ hoc, spécifiques à une plate-forme donnée. Peu flexibles, ils s'adaptent difficilement aux stratégies des entreprises. Les systèmes de déploiement comme le montrent ceux supportés par les environnements de type intergiciel CCM, .Net, EJB développent de manière spécifique les mécanismes et outils de déploiement et introduisent des choix prédéfinis et figés de stratégies de déploiement. Nos travaux se situent dans le contexte de logiciels à base de composants distribués et portent sur la proposition d'un environnement générique pour supporter leur déploiement. C'est une nouvelle génération de systèmes proposée essentiellement par le monde académique de génie logiciel qui s'est approprié la problématique de déploiement à large échelle. Dans ce contexte, nous proposons une approche basée sur l’ingénierie dirigée par les modèles où nous introduisons les abstractions nécessaires pour décrire les logiciels à déployer, les infrastructures de déploiement, les stratégies de déploiement ainsi que le processus de déploiement avec l’identification et l’ordonnancement des activités à accomplir et le support pour leur exécution. / In the software life cycle we have mainly (1) the pre-development (requirements, specification and design), (2) the development (implementation, prototyping, testing) and (3) the post-development (deployment) activities. Software deployment encompasses all post-development activities that make an application operational. These activities, identified as deployment life cycle, include: i) software packaging, ii) loading and installation of software on client sites, iii) instance creation, iv) configuration and v) updating. The development of system-based components made it possible to better highlight this part of the global software lifecycle, as illustrated by numerous industrial and academic studies. However these are generally developed ad hoc, and consequently platform-dependent. Deployment systems, such as supported by middleware environments (CCM, .Net and EJB), specifically develop mechanisms and tools related to pre-specified deployment strategies. Our work, related to the topic of distributed component-based software applications, aims at specifying a generic deployment framework independent of the target environments. Driven by the meta-model approach, we first describe the abstractions used to characterize the deployed software. We then specify the deployment infrastructure and processes, highlighting the activities to be carried out and the support for their execution.Keywords

Page generated in 0.1055 seconds