• 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.
31

Contribution à la spécification et à l'élaboration d'une plateforme de maintenance orientée connaissances

Karray, Mohamed Hedi 09 March 2012 (has links) (PDF)
Le maintien en condition opérationnelle des équipements industriels est un des enjeux importants de l'entreprise, et a fait passer la maintenance d'un centre de coût à un centre de profit, ce qui a eu pour conséquence une éclosion de logiciels d'aide à la maintenance allant de la GMAO aux plateformes de e-maintenance. Ces systèmes d'aide fournissent aux différents acteurs de la maintenance, un support à la décision et un ensemble de services permettant une gestion informatisée d'activités de base appartenant au processus de maintenance (exemple l'intervention, la planification, le diagnostic, etc.). Toutefois, les besoins des utilisateurs évoluent dans le temps en fonction de nouvelles contraintes, de leur expertise, des nouvelles connaissances. Par contre les services fournis n'évoluent pas et nécessitent une réactualisation. Afin de tenir compte de l'évolution de ces connaissances, pour que ces systèmes d'aide puissent répondre aux besoins des utilisateurs et puissent proposer des services à la demande et des services évolutifs nous avons fait le point dans cette thèse sur les avantages et limites des systèmes informatiques d'aide existants notamment les plateformes de e-maintenance (systèmes les plus avancés aujourd'hui en maintenance). Pour pallier le manque des systèmes existants, nous avons proposé le concept de s-maintenance qui est caractérisé principalement par les échanges collaboratifs entre applications et utilisateurs, par des connaissances communes du domaine de maintenance. Pour mettre en œuvre ce concept, nous avons proposé une plateforme orientée connaissances assurant des fonctionnalités auto-x (auto-traçabilité, auto-apprentissage, autogestion) qui permettent de répondre aux caractéristiques de la s-maintenance. L'architecture à base de composants de cette plateforme prend appui sur une base de connaissances partagée entre les différents composants qu'elle intègre au profit de l'interopérabilité sémantique ainsi que de la capitalisation des connaissances. Nous avons par ailleurs développé une ontologie du domaine de maintenance sur laquelle s'appuie cette base de connaissances. Finalement, afin de développer les fonctionnalités auto-x assurées par la plateforme nous avons proposé un système à base de traces exploitant la base de connaissances et l'ontologie associée
32

Contribution à la spécification et à l'élaboration d'une plateforme de maintenance orientée connaissances.

Hedi Karray, Mohamed 09 March 2012 (has links) (PDF)
Le maintien en condition opérationnelle des équipements industriels est un des enjeux importants de l'entreprise, et a fait passer la maintenance d'un centre de coût à un centre de profit, ce qui a eu pour conséquence une éclosion de logiciels d'aide à la maintenance allant de la GMAO aux plateformes de e-maintenance. Ces systèmes d'aide fournissent aux différents acteurs de la maintenance, un support à la décision et un ensemble de services permettant une gestion informatisée d'activités de base appartenant au processus de maintenance (exemple l'intervention, la planification, le diagnostic, etc.). Toutefois, les besoins des utilisateurs évoluent dans le temps en fonction de nouvelles contraintes, de leur expertise, des nouvelles connaissances. Par contre les services fournis n'évoluent pas et nécessitent une réactualisation. Afin de tenir compte de l'évolution de ces connaissances, pour que ces systèmes d'aide puissent répondre aux besoins des utilisateurs et puissent proposer des services à la demande et des services évolutifs nous avons fait le point dans cette thèse sur les avantages et limites des systèmes informatiques d'aide existants notamment les plateformes de e-maintenance (systèmes les plus avancés aujourd'hui en maintenance). Pour pallier le manque des systèmes existants, nous avons proposé le concept de s-maintenance qui est caractérisé principalement par les échanges collaboratifs entre applications et utilisateurs, par des connaissances communes du domaine de maintenance. Pour mettre en œuvre ce concept, nous avons proposé une plateforme orientée connaissances assurant des fonctionnalités auto-x (auto-traçabilité, auto-apprentissage, autogestion) qui permettent de répondre aux caractéristiques de la s-maintenance. L'architecture à base de composants de cette plateforme prend appui sur une base de connaissances partagée entre les différents composants qu'elle intègre au profit de l'interopérabilité sémantique ainsi que de la capitalisation des connaissances. Nous avons par ailleurs développé une ontologie du domaine de maintenance sur laquelle s'appuie cette base de connaissances. Finalement, afin de développer les fonctionnalités auto-x assurées par la plateforme nous avons proposé un système à base de traces exploitant la base de connaissances et l'ontologie associée.
33

Modélisation et validation des systèmes informatiques complexes

Kanso, Bilal 21 November 2011 (has links) (PDF)
La thèse s'inscrit dans le domaine de la modélisation et de la validation des systèmes modernes complexes. Les systèmes actuels sont en fait d'une complexité sans cesse croissante et formés de plus en plus de composants de natures différentes. Ceci rend leur processus de conception et de validation coûteux et difficile. Il semble être la simple façon permettant de faire face à cette hétérogénéité et à cette complexité est l'approche orientée composant. Suivant cette approche, le système est une entité formée par un ensemble des composants interconnectés. Les composants définissent une interface qui permet d'abstraire leur modèle interne (boîte noire), ce qui favorise la modularité et la réutilisation des composants. L'interaction entre ces composants se fait conformément à un ensemble des règles pré-établies, permettant ainsi d'avoir une vision globale de comportement du système. La conception ainsi que la validation des systèmes modernes reste alors problématique à cause de la nécessité de prendre en compte l'hétérogénéité des différents composants. Dans ce cadre, dans un premier temps, nous définirons un cadre formel générique dans lequel une large famille de formalismes de description de systèmes à base d'états peut être naturellement capturée. Ainsi, nous allons définir un ensemble de règles de composition permettant de mettre en correspondance les différents composants et ainsi de constituer un modèle global du système à concevoir. Dans un second temps, nous proposerons une approche de test d'intégration qui permet de valider le comportement d'un système complexe sous l'hypothèse que chaque composant est testé et validé. Cette approche vise à générer automatiquement des cas de test en s'appuyant sur un modèle global décrit dans notre framework du système sous test.
34

Des systèmes à base de composants aux implémentations cadencées par le temps : une approche correcte par conception / From timed component-based systems to time-triggered implementations : a correct-by-design approach

Guesmi, Hela 27 October 2017 (has links)
Dans le domaine des systèmes temps-réel embarqués critiques, les méthodes de conception et de spécification et leurs outils associés doivent permettre le développement de systèmes au comportement temporel déterministe et, par conséquent, reproductible afin de garantir leur sûreté de fonctionnement. Pour atteindre cet objectif, on s’intéresse aux méthodologies de développement basées sur le paradigme Time-Triggered (TT). Dans ce contexte, nombre de propriétés et, en particulier, les contraintes temps-réel de-bout-en-bout, se voient satisfaites par construction. Toutefois, garantir la sûreté de fonctionnement de tels systèmes reste un défi. En général, les outils de développement existants n’assurent pas par construction le respect de l’intégralité des spécifications, celles-ci doivent, en général, être vérifiées à posteriori. Avec la complexité croissante des applications embarquées, celle de leur validation à posteriori devient, au mieux, un facteur majeur dans les coûts de développement et, au pire, tout simplement impossible. Il faut, donc, définir une méthode qui, tout en permettant le développement des systèmes corrects par constructions, structure et simplifie le processus de spécification. Les méthodologies de conception de haut niveau à base de composants, qui permettent la conception et la vérification des systèmes temps-réels critiques, présentent une solution ultime pour la structuration et la simplification du processus de spécification de tels systèmes.L’objectif de cette thèse est d'associer la méthodologie BIP (Behaviour-Interaction-Priority) qui est une approche de conception basée sur composants avec la plateforme d'exécution PharOS, qui est un système d'exploitation temps-réel déterministe orienté sûreté de fonctionnement. Le flot de conception proposé dans cette thèse est une approche transformationnelle qui permet de conserver les propriétés fonctionnelles des modèles originaux de BIP. Il est composé essentiellement de deux étapes. La première étape, paramétrée par un mapping de tâche défini par l'utilisateur, permet de transformer un modèle BIP en un modèle plus restreint qui représente une description haut niveau des implémentations basées sur des primitives de communication TT. La deuxième étape permet la génération du code pour la plateforme PharOS à partir de ce modèle restreint.Un ensemble d'outils a été développé dans cette thèse afin d'automatiser la plupart des étapes du flot de conception proposé. Ceci a permis de tester cette approche sur deux cas d'étude industriels ; un simulateur de vol et un relais de protection moyenne tension. Dans les deux applications, on vise à comparer les fonctionnalités du modèle BIP avec celles du modèle intermédiaire et du code généré. On fait varier les stratégies de mapping de tâche dans la première application, afin de tester leur impact sur le code généré. Dans la deuxième application, on étudie l'impact de la transformation sur le code généré en comparant quelques aspects de performance du code générer avec ceux d'une version de l'application qui a été développée manuellement. / In hard real-time embedded systems, design and specification methods and their associated tools must allow development of temporally deterministic systems to ensure their safety. To achieve this goal, we are specifically interested in methodologies based on the Time-Triggered (TT) paradigm. This paradigm allows preserving by construction number of properties, in particular, end-to-end real-time constraints. However, ensuring correctness and safety of such systems remains a challenging task. Existing development tools do not guarantee by construction specification respect. Thus, a-posteriori verification of the application is generally a must. With the increasing complexity of embedded applications, their a-posteriori validation becomes, at best, a major factor in the development costs and, at worst, simply impossible. It is necessary, therefore, to define a method that allows the development of correct-by-construction systems while simplifying the specification process.High-level component-based design frameworks that allow design and verification of hard real-time systems are very good candidates for structuring the specification process as well as verifying the high-level model.The goal of this thesis is to couple a high-level component-based design approach based on the BIP (Behaviour-Interaction-Priority) framework with a safety-oriented real-time execution platform implementing the TT approach (the PharOS Real-Time Operating System). To this end, we propose an automatic transformation process from BIPmodels into applications for the target platform (i.e. PharOS).The process consists in a two-step semantics-preserving transformation. The first step transforms a BIP model coupled to a user-defined task mapping into a restricted one, which lends itself well to an implementation based on TT communication primitives. The second step transforms the resulting model into the TT implementation provided by the PharOS RTOS.We provide a tool-flow that automates most of the steps of the proposed approach and illustrate its use on an industrial case study for a flight Simulator application and a medium voltage protection relay application. In both applications, we compare functionalities of both original, intermediate and final model in order to confirm the correctness of the transformation. For the first application, we study the impact of the task mapping on the generated implementation. And for the second application, we study the impact of the transformation on some performance aspects compared to a manually written version.
35

Coordination modulaire de gestionnaires autonomes par contrôle discret / Modular Coordination of Autonomic Managers Using Discrete Control

Gueye, Soguy Mak-Karé 03 December 2014 (has links)
Les systèmes informatiques sont devenus de plus en plus distribués et hétérogènes, ce qui rend leur administration manuelle difficile et source d'erreurs. L'administration autonome a été proposée comme solution à ce problème. Elle consiste à automatiser l'administration des systèmes informatiques à l'aide de boucles de contrôle appelées gestionnaires autonomes. De nombreux travaux de recherche se sont intéressés à l'automatisation des fonctions d'administration de systèmes informatiques et aujourd'hui, beaucoup de gestionnaires autonomes sont disponibles. Toutefois, les gestionnaires autonomes existants sont, la plupart, spécialisés dans la gestion de quelques aspects d'administration. Cela rend nécessaire la coexistence de plusieurs gestionnaires autonomes pour atteindre une gestion globale des systèmes. La coexistence de plusieurs gestionnaires permet la gestion de plusieurs aspects, mais nécessite des mécanismes de coordination afin d'éviter des décisions incohérentes. Nous étudions l'utilisation de techniques de contrôle pour la conception de contrôleurs de coordination, nous utilisons la programmation synchrone qui fournit des méthodes formelles, et la synthèse de contrôleur discret pour automatiser la construction de contrôleur. Nous suivons une approche à base de composants, et utilisons le contrôle discret modulaire qui permet de décomposer la complexité combinatoire inhérente à la technique d'exploration d'espace d'états. Cela améliore le passage à l'échelle de notre approche et permet la construction d'un contrôle hiérarchique. Notre approche permet la réutilisation de gestionnaires complexes dans des contextes différents, sans modifier leurs spécifications de contrôle. Nous construisons une coordination de gestionnaires basée sur le modèle à composants offrant introspection, adaptabilité et reconfiguration. Cette thèse présente notre méthodologie et des études de cas. Nous évaluons et démontrons les avantages de notre approche par la coordination de gestionnaires autonomes dédiés à la gestion de la disponibilité, et à la gestion de la performance et l'optimisation de ressources. / Computing systems have become more and more distributed and heterogeneous, making their manual administration difficult and error-prone. The Autonomic Computing approach has been proposed to overcome this issue, by automating the administration of computing systems with the help of control loops called autonomic managers. Many research works have investigated the automation of the administration functions of computing systems and today many autonomic managers are available. However the existing autonomic managers are mostly specialized in the management of few administration concerns. This makes necessary the coexistence of multiple autonomic managers for achieving a global system management. The coexistence of several managers make possible to address multiple concerns, yet requires coordination mechanisms to avoid incoherent management decisions. We investigate the use of control techniques for the design of coordination controllers, for which we exercise synchronous programming that provide formal semantics, and discrete controller synthesis to automate the construction of the controller. We follow a component-based approach, and explore modular discrete control allowing to break down the combinatorial complexity inherent to the state-space exploration technique. This improves scalability of the approach and allows constructing a hierarchical control. It also allows re-using complex managers in different contexts without modifying their control specifications. We build a component-based coordination of managers, with introspection, adaptivity and reconfiguration. This thesis details our methodology and presents case-studies. We evaluate and demonstrate the benefits of our approach by coordinating autonomic managers which addresse the management of availability, and the management of performance and resources optimization.
36

Automatic non-functional testing and tuning of configurable generators / Une approche pour le test non-fonctionnel et la configuration automatique des générateurs

Boussaa, Mohamed 06 September 2017 (has links)
Les techniques émergentes de l’ingénierie dirigée par les modèles et de la programmation générative ont permis la création de plusieurs générateurs (générateurs de code et compilateurs). Ceux-ci sont souvent utilisés afin de faciliter le développement logiciel et automatiser le processus de génération de code à partir des spécifications abstraites. De plus, les générateurs modernes comme les compilateurs C, sont devenus hautement configurables, offrant de nombreuses options de configuration à l'utilisateur de manière à personnaliser facilement le code généré pour la plateforme matérielle cible. Par conséquent, la qualité logicielle est devenue fortement corrélée aux paramètres de configuration ainsi qu'au générateur lui-même. Dans ce contexte, il est devenu indispensable de vérifier le bon comportement des générateurs. Cette thèse établit trois contributions principales : Contribution I: détection automatique des inconsistances dans les familles de générateurs de code : Dans cette contribution, nous abordons le problème de l'oracle dans le domaine du test non-fonctionnel des générateurs de code. La disponibilité de multiples générateurs de code avec des fonctionnalités comparables (c.-à-d. familles de générateurs de code) nous permet d'appliquer l'idée du test métamorphique en définissant des oracles de test de haut-niveau (c.-à-d. relation métamorphique) pour détecter des inconsistances. Une inconsistance est détectée lorsque le code généré présente un comportement inattendu par rapport à toutes les implémentations équivalentes de la même famille. Nous évaluons notre approche en analysant la performance de Haxe, un langage de programmation de haut niveau impliquant un ensemble de générateurs de code multi-plateformes. Les résultats expérimentaux montrent que notre approche est capable de détecter plusieurs inconsistances qui révèlent des problèmes réels dans cette famille de générateurs de code. Contribution II: une approche pour l'auto-configuration des compilateurs. Le grand nombre d'options de compilation des compilateurs nécessite une méthode efficace pour explorer l'espace d’optimisation. Ainsi, nous appliquons, dans cette contribution, une méta-heuristique appelée Novelty Search pour l'exploration de cet espace de recherche. Cette approche aide les utilisateurs à paramétrer automatiquement les compilateurs pour une architecture matérielle cible et pour une métrique non-fonctionnelle spécifique tel que la performance et l'utilisation des ressources. Nous évaluons l'efficacité de notre approche en vérifiant les optimisations fournies par le compilateur GCC. Nos résultats expérimentaux montrent que notre approche permet d'auto-configurer les compilateurs en fonction des besoins de l'utilisateur et de construire des optimisations qui surpassent les niveaux d'optimisation standard. Nous démontrons également que notre approche peut être utilisée pour construire automatiquement des niveaux d'optimisation qui représentent des compromis optimaux entre plusieurs propriétés non-fonctionnelles telles que le temps d'exécution et la consommation des ressources. Contribution III: Un environnement d'exécution léger pour le test et la surveillance de la consommation des ressources des logiciels. Enfin, nous proposons une infrastructure basée sur les micro-services pour assurer le déploiement et la surveillance de la consommation des ressources des différentes variantes du code généré. Cette contribution traite le problème de l'hétérogénéité des plateformes logicielles et matérielles. Nous décrivons une approche qui automatise le processus de génération, compilation, et exécution du code dans le but de faciliter le test et l'auto-configuration des générateurs. Cet environnement isolé repose sur des conteneurs système, comme plateformes d'exécution, pour une surveillance et analyse fine des propriétés liées à l'utilisation des ressources (CPU et mémoire). / Generative software development has paved the way for the creation of multiple generators (code generators and compilers) that serve as a basis for automatically producing code to a broad range of software and hardware platforms. With full automatic code generation, users are able to rapidly synthesize software artifacts for various software platforms. In addition, they can easily customize the generated code for the target hardware platform since modern generators (i.e., C compilers) become highly configurable, offering numerous configuration options that the user can apply. Consequently, the quality of generated software becomes highly correlated to the configuration settings as well as to the generator itself. In this context, it is crucial to verify the correct behavior of generators. Numerous approaches have been proposed to verify the functional outcome of generated code but few of them evaluate the non-functional properties of automatically generated code, namely the performance and resource usage properties. This thesis addresses three problems : (1) Non-functional testing of generators: We benefit from the existence of multiple code generators with comparable functionality (i.e., code generator families) to automatically test the generated code. We leverage the metamorphic testing approach to detect non-functional inconsistencies in code generator families by defining metamorphic relations as test oracles. We define the metamorphic relation as a comparison between the variations of performance and resource usage of code, generated from the same code generator family. We evaluate our approach by analyzing the performance of HAXE, a popular code generator family. Experimental results show that our approach is able to automatically detect several inconsistencies that reveal real issues in this family of code generators. (2) Generators auto-tuning: We exploit the recent advances in search-based software engineering in order to provide an effective approach to tune generators (i.e., through optimizations) according to user's non-functional requirements (i.e., performance and resource usage). We also demonstrate that our approach can be used to automatically construct optimization levels that represent optimal trade-offs between multiple non-functional properties such as execution time and resource usage requirements. We evaluate our approach by verifying the optimizations performed by the GCC compiler. Our experimental results show that our approach is able to auto-tune compilers and construct optimizations that yield to better performance results than standard optimization levels. (3) Handling the diversity of software and hardware platforms in software testing: Running tests and evaluating the resource usage in heterogeneous environments is tedious. To handle this problem, we benefit from the recent advances in lightweight system virtualization, in particular container-based virtualization, in order to offer effective support for automatically deploying, executing, and monitoring code in heterogeneous environment, and collect non-functional metrics (e.g., memory and CPU consumptions). This testing infrastructure serves as a basis for evaluating the experiments conducted in the two first contributions.
37

Generic autonomic service management for component-based applications / Gestion autonomique générique des services pour les applications à base de composants

Belhaj, Nabila 25 September 2018 (has links)
Au cours de la dernière décennie, la complexité des applications a considérablement évolué afin de répondre aux besoins métiers émergeants. Leur conception implique une composition distribuée de composants logiciels. Ces applications fournissent des services à travers les interactions métiers maintenues par leurs composants. De telles applications sont intrinsèquement en évolution dynamique en raison de la dynamicité de leurs contextes. En effet, elles évoluent dans des environnements qui changent tout en présentant des conditions très dynamiques durant leur cycle de vie d’exécution. De tels contextes représentent une lourde charge pour les développeurs aussi bien pour leurs tâches de conception que de gestion. Cela a motivé́ le besoin de renforcer l’autonomie de gestion des applications pour les rendre moins dépendantes de l’intervention humaine en utilisant les principes de l’Informatique Autonomique. Les Systèmes Informatiques Autonomes (SIA) impliquent l’utilisation des boucles autonomiques, dédiées aux systèmes afin de les aider à accomplir leurs tâches de gestion. Ces boucles ont pour objectif d’adapter leurs systèmes à la dynamicité de leurs contextes, en se basant sur une logique d’adaptation intégrée. Cette logique est souvent donnée par des règles statiques codées manuellement. La construction de ces règles demande beaucoup de temps tout en exigeant une bonne expertise. En fait, elles nécessitent une compréhension approfondie de la dynamicité du système afin de prédire les adaptations précises à apporter à celui-ci. Par ailleurs, une telle logique ne peut envisager tous les scénarios d’adaptation possibles, donc, ne sera pas en mesure de prendre en compte des adaptations pour des situations précédemment inconnues. Les SIA devraient donc être assez sophistiqués afin de pouvoir faire face à la nature dynamique de leurs contextes et de pouvoir apprendre par eux-mêmes afin d’agir correctement dans des situations inconnues. Les SIA devraient également être capables d’apprendre de leur propre expérience passée afin de modifier leur logique d’adaptation en fonction de la dynamicité de leurs contextes. Dans ce manuscrit, nous abordons les lacunes décrites en utilisant les techniques d’Apprentissage par Renforcement (AR) afin de construire notre logique d’adaptation. Cependant, les approches fondées sur l’AR sont connues pour leur mauvaise performance lors des premières phases d’apprentissage. Cette mauvaise performance entrave leur utilisation dans le monde réel des systèmes déployés. Par conséquent, nous avons amélioré cette logique d’adaptation avec des capacités d’apprentissage plus performantes avec une approche AR en multi-pas. Notre objectif est d’optimiser la performance de l’apprentissage et de le rendre plus efficace et plus rapide, en particulier durant les premières phases d’apprentissage. Nous avons aussi proposé́ un cadriciel générique visant à aider les développeurs dans la construction d’applications auto-adaptatives. Nous avons donc proposé de transformer des applications existantes en ajoutant des capacités d’autonomie et d’apprentissage à leurs composants. La transformation consiste en l’encapsulation des composants dans des conteneurs autonomiques pour les doter du comportement auto-adaptatif nécessaire. Notre objectif est d’alléger la charge des tâches de gestion des développeurs et de leur permettre de se concentrer plus sur la logique métier de leurs applications. Les solutions proposées sont destinées à être génériques, granulaires et basées sur un standard connu, à savoir l’Architecture de Composant de Service. Enfin, nos propositions ont été évaluées et validées avec des résultats expérimentaux. Ils ont démontré leur efficacité en montrant un ajustement dynamique des applications transformées face aux dynamicités de leurs contextes en un temps beaucoup plus court comparé aux approches existantes / During the past decade, the complexity of applications has significantly scaled to satisfy the emerging business needs. Their design entails a composition of distributed and interacting software components. They provide services by means of the business interactions maintained by their components. Such applications are inherently in a dynamic evolution due to their context dynamics. Indeed, they evolve in changing environments while exhibiting highly dynamic conditions during their execution life-cycle (e.g., their load, availability, performance, etc.). Such contexts have burdened the applications developers with their design and management tasks. Subsequently, motivated the need to enforce the autonomy of their management to be less dependent on human interventions with the Autonomic Computing principles. Autonomic Computing Systems (ACS) implies the usage of autonomic loops, dedicated to help the system to achieve its management tasks. These loops main role is to adapt their associated systems to the dynamic of their contexts by acting upon an embedded adaptation logic. Most of time, this logic is given by static hand-coded rules, often concern-specific and potentially error-prone. It is undoubtedly time and effort-consuming while demanding a costly expertise. Actually, it requires a thorough understanding of the system design and dynamics to predict the accurate adaptations to bring to the system. Furthermore, such logic cannot envisage all the possible adaptation scenarios, hence, not able to take appropriate adaptations for previously unknown situations. ACS should be sophisticated enough to cope with the dynamic nature of their contexts and be able to learn on their own to properly act in unknown situations. They should also be able to learn from their past experiences and modify their adaptation logic according to their context dynamics. In this thesis manuscript, we address the described shortcomings by using Reinforcement Learning (RL) techniques to build our adaptation logic. Nevertheless, RL-based approaches are known for their poor performance during the early stages of learning. This poor performance hinders their usage in real-world deployed systems. Accordingly, we enhanced the adaptation logic with sophisticated and better-performing learning abilities with a multi-step RL approach. Our main objective is to optimize the learning performance and render it timely-efficient which considerably improves the ACS performance even during the beginning of learning phase. Thereafter, we pushed further our work by proposing a generic framework aimed to support the application developers in building self-adaptive applications. We proposed to transform existing applications by dynamically adding autonomic and learning abilities to their components. The transformation entails the encapsulation of components into autonomic containers to provide them with the needed self-adaptive behavior. The objective is to alleviate the burden of management tasks on the developers and let them focus on the business logic of their applications. The proposed solutions are intended to be generic, granular and based on a well known standard (i.e., Service Component Architecture). Finally, our proposals were evaluated and validated with experimental results. They demonstrated their effectiveness by showing a dynamic adjustment to the transformed application to its context changes in a shorter time as compared to existing approaches
38

Contribution à la spécification et à l’élaboration d’une plateforme de maintenance orientée connaissances / A contribution to the specification and the development of an oriented knowledge platform for maintenance

Karray, Mohamed Hedi 09 March 2012 (has links)
Le maintien en condition opérationnelle des équipements industriels est un des enjeux importants de l'entreprise, et a fait passer la maintenance d'un centre de coût à un centre de profit, ce qui a eu pour conséquence une éclosion de logiciels d'aide à la maintenance allant de la GMAO aux plateformes de e-maintenance. Ces systèmes d'aide fournissent aux différents acteurs de la maintenance, un support à la décision et un ensemble de services permettant une gestion informatisée d'activités de base appartenant au processus de maintenance (exemple l'intervention, la planification, le diagnostic, etc.). Toutefois, les besoins des utilisateurs évoluent dans le temps en fonction de nouvelles contraintes, de leur expertise, des nouvelles connaissances. Par contre les services fournis n'évoluent pas et nécessitent une réactualisation. Afin de tenir compte de l'évolution de ces connaissances, pour que ces systèmes d'aide puissent répondre aux besoins des utilisateurs et puissent proposer des services à la demande et des services évolutifs nous avons fait le point dans cette thèse sur les avantages et limites des systèmes informatiques d'aide existants notamment les plateformes de e-maintenance (systèmes les plus avancés aujourd'hui en maintenance). Pour pallier le manque des systèmes existants, nous avons proposé le concept de s-maintenance qui est caractérisé principalement par les échanges collaboratifs entre applications et utilisateurs, par des connaissances communes du domaine de maintenance. Pour mettre en œuvre ce concept, nous avons proposé une plateforme orientée connaissances assurant des fonctionnalités auto-x (auto-traçabilité, auto-apprentissage, autogestion) qui permettent de répondre aux caractéristiques de la s-maintenance. L'architecture à base de composants de cette plateforme prend appui sur une base de connaissances partagée entre les différents composants qu'elle intègre au profit de l'interopérabilité sémantique ainsi que de la capitalisation des connaissances. Nous avons par ailleurs développé une ontologie du domaine de maintenance sur laquelle s'appuie cette base de connaissances. Finalement, afin de développer les fonctionnalités auto-x assurées par la plateforme nous avons proposé un système à base de traces exploitant la base de connaissances et l'ontologie associée / Operational condition maintenance of industrial equipment is a principal challenge for the firm production. This fact transfer the maintenance from the cost center to the profit center which has lead to massif development of maintenance support system starting from the GMAO to the e-maintenance platform. These systems provide to the maintenance agent, decision-support, and set of services allowing a computerized management of core activities for maintenance process. (e.g. intervention, planning, diagnostic,...). However, the user request continues evolving in time with respect of their expertise, their renewed knowledge and new constraints. On the other hand, the existing services are not following their requirements and they need to be updated. In this thesis, an overview on the advantage and drawback of existing computerized support system, in particular the e-maintenance platform (the most advanced maintenance system) is presented in order to meet the users needs and propose scalable and on-demand services. To overcome the existing system shortage, we propose the s-maintenance concept characterized by the collaborative exchange between users and applications and the common knowledge of the maintenance field. Thus, to implement this concept, a knowledge-oriented platform is proposed providing the auto-x functionalities (auto-traceability, auto-learning and auto-management) and meeting the s-maintenance characteristics. The architecture based on components of this platform, is also based on shared knowledge between integrated components for the benefit of the semantic interoperability as well as for the knowledge capitalization. Maintenance domain ontology is also developed on which the knowledge base is rested. Finally, in order to develop the auto-x functionalities, provided by the platform, a trace-based system is proposed by exploiting the knowledge base and the associated ontology.
39

Développement d'Applications à Base de Composants avec une Approche Centrée sur les Données et dans une Architecture Orientée Service et Pair-à-Pair : Spécification, Analyse et Intergiciel

Ait Lahcen, Ayoub 15 December 2012 (has links) (PDF)
Le développement d'applications avec une architecture Pair-à-Pair (P2P) est devenu de plus en plus important en ingénierie du logiciel. Aujourd'hui, un grand nombre d'organisations de tailles et secteurs différents compte d'une manière croissante sur la collaboration entre multiples acteurs (individus, groupes, communautés, etc.) pour accomplir des tâches essentielles. Ces applications P2P ont généralement un comportement récursif que plusieurs approches de modélisation ne peuvent pas décrire et analyser (ex. les approches basées sur les automates à états finis). Un autre challenge qui concerne le développement d'applications P2P est le couplage fort entre la spécification d'une part, et les technologies et protocoles sous-jacents d'autre part. Cela force les développeurs à faire des efforts considérables pour trouver puis comprendre des informations sur les détails de ces couches basses du P2P. De plus, ce couplage fort oblige les applications à s'exécuter dans des environnements figés. Par conséquent, choisir par exemple un autre protocole pour répondre à un nouveau besoin à l'exécution devient une tache très difficile. Outre ces points, les applications P2P sont souvent spécifiées avec une faible capacité à déléguer des traitements entre les pairs, et se focalisent surtout sur le partage et le stockage de données. Ainsi, elles ne profitent pas pleinement de la puissance de calcul et de traitement offerte par le réseau P2P sous-jacent. Dans cette thèse, nous présentons une approche qui combine les principes du développement orienté composants et services avec des techniques issues des Grammaires Attribuées et d'analyses de flot de données (techniques utilisées surtout dans la construction de compilateurs) afin de faciliter la spécification, l'analyse et le déploiement d'applications dans des architectures P2P. Cette approche incorpore: i) Un langage formel nommé DDF (de l'anglais Data-Dependency Formalism) pour spécifier les applications et construire leurs graphes de dépendances de données. Un graphe de dépendances de données est nommé DDG (de l'anglais Data-Dependency Graph) et est défini pour être une représentation abstraite de l'application spécifiée. ii) Une méthode d'analyse qui utilise le graphe de dépendances de données pour inférer et calculer diverses propriétés, y compris certaines propriétés que les model-checkers ne peuvent pas calculer si le système présente un comportement récursif. iii) Un intergiciel nommé SON (de l'anglais Shared data Overlay Network) afin de développer et d'exécuter des applications dans une architecture P2P sans faire face à la complexité des couches sous-jacentes. Cela grâce essentiellement au couplage faible (par une approche orientée services) et à la fonctionnalité de génération de code automatique.
40

Gestion multi autonome pour l'optimisation de la consommation énergétique sur les infrastructures en nuage

Alvares De Oliveira Junior, Frederico 09 April 2013 (has links) (PDF)
Conséquence directe de la popularité croissante des services informatique en nuage, les centres de données se développent à une vitesse vertigineuse et doivent rapidement faire face à des problèmes de consommation d'énergie. Paradoxalement, l'informatique en nuage permet aux infrastructure et applications de s'ajuster dynamiquement afin de rendre l'infrastructure plus efficace en termes d'énergie et les applications plus conformes en termes de qualité de service (QdS). Toutefois, les décisions d'optimisation prises isolément à un certain niveau peuvent indirectement interférer avec (voire neutraliser) les décisions prises à un autre niveau, par exemple, une application demande plus de ressources pour garder sa QdS alors qu'une partie de l'infrastructure est en cours d'arrêt pour des raisons énergétiques. Par conséquent, il devient nécessaire non seulement d'établir une synergie entre les couches du nuage, mais aussi de rendre ces couches suffisamment souples et sensibles pour être en mesure de réagir aux changements d'exécution et ainsi profiter pleinement de cette synergie. Cette thèse propose une approche d'auto-adaptation qui prend en considération les composants applicatifs (élasticité architecturale) ainsi que d'infrastructure (élasticité des ressources) pour réduire l'empreinte énergétique. Chaque application et l'infrastructure sont équipées d'une boucle de contrôle autonome qui leur permet d'optimiser indépendamment leur fonctionnement. Afin de créer une synergie entre boucles de contrôle autour d'un objectif commun, nous proposons un modèle pour la coordination et la synchronisation de plusieurs boucles de contrôle. L'approche est validée expérimentalement à la fois qualitativement (amélioration de QdS et des gains d'énergie) et quantitativement (passage à l'échelle).

Page generated in 0.1037 seconds