• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 5
  • 3
  • Tagged with
  • 8
  • 8
  • 8
  • 8
  • 8
  • 8
  • 6
  • 6
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 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.
1

Question-learn-test-feedback pattern to test emerging software construction paradigms

Baudry, Benoit 10 December 2010 (has links) (PDF)
This habilitation introduces the question-learn-test-feedback pattern that resulted from a series of investigations in the domains of software testing and modular software construction. The contributions to these fields are of various natures, but are all fundamentally related through two major assumptions: software construction paradigms have to constantly evolve in order to deal with the increasingly complex requirements that software-intensive systems have to meet; a tester's perspective can support this evolution through the development of effective testing techniques and new empirical knowledge about these paradigms. Abstraction, modularity and separation of concerns have been advocated as key factors for rigorous software engineering for a long time. These principles have been incarnated by various software construction paradigms such as object-oriented programming and design, model-driven development and aspect-oriented modeling. These paradigms evolve in order to deal with the increasing number of heterogeneous requirements, the large number of variations and the need for adaptation that software-intensive systems have to integrate. The work presented here is about the integration of effective testing techniques in these paradigms and how this led us towards a more precise understanding of these paradigms. A major discovery in our work is that we could follow a systematic pattern when investigating these paradigms to integrate error detection capabilities. First, we have to question these paradigms about the new assumptions they introduce on software systems. When answering these questions we can can perform the following actions: learn through rigorous evaluation of hypotheses about these paradigms; test software systems developed in these new paradigms; provide feedback to the paradigms in the form of new construction techniques that improve testability. We capture these four facets for the investigation of software construction paradigms in the question-learn-test-feedback pattern (QLTF). This habilitation reports on investigations in three software construction techniques: object-oriented programming and design, aspect-oriented programming, model transformations. Each investigation is synthesized around the question-learn-test-feedback pattern.
2

Modèles à la Conception et à l'Exécution pour Gérer la Variability Dynamique

Morin, Brice 17 September 2010 (has links) (PDF)
La dépendance croissante de la société à l'égard des systèmes logiciels nécessite de concevoir des logiciels robustes, adaptatifs et disponibles sans interruption. De tels systèmes proposent souvent de nombreux points de variation avec de nombreuses variantes, conduisant à une explosion combinatoire du nombre des configurations. Il devient rapidement impossible de spécifier et de valider toutes ces configurations lors de la conception d'un système adaptatif complexe. Cette thèse présente une approche dirigée par les modèles et basée sur la modélisation par aspects pour contenir la complexité de systèmes logiciels adaptatifs (Dynamically Adaptive Systems, DAS). Lors de la conception, les différentes facettes d'un DAS (variabilité, environnement/contexte, raisonnement et architecture) sont capturées à l'aide de différents méta-modèles dédiés. En particuliers, les variants de chaque point de variation sont raffinés à l'aide d'aspect (niveau model). Ces modèles sont embarqués à l'exécution pour contrôler et automatiser le mécanisme de reconfiguration dynamique. Le système courant et son contexte d'exécution sont abstraits par des modèles. Selon le contexte courant (modèle) un composant de raisonnement interprète le modèle de raisonnement et détermine un ensemble de variantes bien adaptées au contexte. Nous utilisons un tisseur d'aspects (niveau model) pour dériver automatiquement l'architecture correspondante à cette sélection de variantes. Ainsi, les concepteurs du DAS n'ont pas besoin de spécifier toutes les configurations : au contraire, chaque configuration est automatiquement construite lorsqu'il y en a besoin. Nous utilisons finalement une comparaison de modèle pour automatiser entièrement le processus de reconfiguration dynamique, sans avoir besoin d'écrire des scripts de reconfiguration de bas niveau. Les modèles embarqués à l'exécution sont des miroirs reflétant ce qui se produit vraiment dans le système courant. Il est cependant possible de travailler sur des copies de ces modèles, indépendamment du système courant et de re-synchronizer ces copies avec la réalité pour adapter réellement le système courant. En d'autres termes, notre approche permet d'exécuter des activités offline (pendant que le système fonctionne, mais indépendamment de lui) telles que la conception continue (continuous design) ou la prévision
3

Validation des moteurs de raisonnement et mécanismes d'adaptation pour les systèmes auto-adaptatifs

Munoz, Freddy 29 September 2010 (has links) (PDF)
Les systèmes auto adaptatifs sont des systèmes logiciels capables d'observer leur environnement de travail (par des sondes), raisonner et prendre des décisions sur la façon de s'adapter aux changements environnementaux (par un moteur de raisonnement), et modifier leur structure interne pour prendre les adaptations en compte. Ces systèmes peuvent fournir une aide précieuse dans un grand nombre d'activités humaines. Cependant, ils ne fourniront entièrement leurs promesses que si les ingénieurs peuvent s'assurer que les décisions et les adaptations sont correctes sur toutes les situations. Ceci exige des techniques robustes pour valider que les mécanismes de raisonnement et d'adaptation dans de tels systèmes sont corrects. Dans cette thèse j'adresse la validation des moteurs de raisonnement et des mécanismes d'adaptation par programmation orientée aspect. Les moteurs de raisonnement sont des éléments logiciels responsables de raisonner sur un grand nombre de facteurs afin de décider comment adapter un système face à des variations dans l'environnement. Il est primordial d'assurer que les décisions prises par ces moteurs sont correctes pour chaque changement d'environnement possible. Une décision erronée peut mener vers une adaptation défectueuse qui peut empêcher le système de fonctionner correctement. Cependant, valider que les moteurs de raisonnement prennent la bonne décision entraine des défis dus au grand nombre de changements environnementaux possibles. Dans cette thèse je présente multi dimesional covering arrays (MDCA) pour échantillonner les conditions environnementales qui peuvent affecter la prise des décisions. MDCA vise spécifiquement les environnements qui peuvent déclencher des décisions complexes en intégrant explicitement la notion de l'histoire dans l'échantillon d'environnement. La programmation orientée aspect (AOP) fourni les moyens aux ingénieurs d'augmenter ou remplacer la structure ou le comportement du système, ces propriétés font d'AOP un bon mécanisme d'adaptation. Cependant, en utilisant l'AOP il est difficile de (i) prévoir des interactions entre différents aspects et le système de base, (ii) contrôler les endroits où les aspects se tisseront, (iii) assurer que les aspects s'exécuteront sans risque pour l'évolution (des aspects ou du système de base). Ces difficultés entravent la validation et l'adoption de l'AOP en général. Dans cette thèse je présente un framework pour la spécification d'interactions dans des programmes orientée aspects (ABIS), qui permet aux ingénieurs de contrôler les interactions entre les aspects et le système de base en spécifiant les endroits où aspects sont autorisés à se tisser. ABIS permet aux ingénieurs de réduire le temps nécessaire pour diagnostiquer et corriger des problèmes dus aux aspects défectu
4

Typage de Modèles

Steel, James 23 April 2007 (has links) (PDF)
L'Ingénierie Dirigée par les Modèles est une approche pour la construction de systèmes fondées sur l'utilisation de modèles. Malgré une recherche très active sur les technologies d'IDM et leur application, il existe relativement peu de travaux sur la réutilisation et la composition fiable des éléments qui manipulent des modèles. Cette thèse présente une approche fondée sur les idées et formalismes du domaine des systèmes de types, pour définir des notions claires de modèles et de types de modèles, ainsi qu'une relation pour la substituabilité des types de modèles. Ces principes du typage de modèles ont été validés par leur application dans le langage de méta-modèlisation Kermeta. De plus, la thèse revisite le problème de l'extensibilité des langages sous l'angle de l'ingénierie dirigée par les modèles, et elle détaille comment les types de modèles en résolvent certains aspects.
5

Langage et méthode pour une ingénierie des modèles fiable

Fleurey, Franck 09 October 2006 (has links) (PDF)
Ce travail s'inscrit dans un contexte où la taille et la complexité des logiciels augmentent alors que les contraintes de temps de développement, de qualité, de maintenance et d'évolution sont toujours plus fortes. Pour répondre à cette tendance, l'ingénierie dirigée par les modèles constitue une évolution prometteuse des techniques de génie logiciel. Les idées de l'ingénierie dirigée par les modèles sont, d'une part de rendre les modèles productifs, et d'autre part d'automatiser certaines étapes du développement grâce à des transformations de modèles. Une des conditions pour que l'ingénierie dirigée par les modèles tienne ses promesses, en terme de productivité et de qualité, est d'assurer, tout d'abord, la correction des modèles, et ensuite, la correction des transformations utilisées. La contribution de ce travail s'articule autour de ces deux axes et constitue un premier pas vers la fiabilisation des processus de dévelopement dirigés pas les modèles. Le premier axe de ce travail vise à améliorer les possibilités de validation des modèles en proposant une plateforme pour la définition de langages de modélisation. En fonction des expériences et du domaine considéré, les modèles utilisés dans l'ingénierie dirigée par les modèles sont exprimés dans divers langages de modélisation. Comme tout langage, un langage de modélisation est constitué de plusieurs éléments de spécification : une syntaxe abstraite (ou méta-modèle), une sémantique et des contraintes syntaxiques et sémantiques. Pour assurer la précision et la cohérence d'un tel langage, il faut d'une part spécifier sans ambiguïtés chaque élément, et d'autre part assurer la bonne intégration des différents éléments entre eux. Or, les pratiques actuelles de l'ingénierie dirigée par les modèles utilisent des formalismes hétérogènes et parfois difficiles à exploiter (le langage naturel par exemple) pour la spécification de ces éléments. Afin d'améliorer la définition des langages de modélisation, nous proposons l'utilisation d'un coeur sémantique unique et précis. Ce coeur sémantique se présente sous la forme d'un langage appelé Kermeta. Au coeur de la plateforme d'ingénierie dirigée par les modèles développée par l'équipe Triskell, le langage Kermeta a été utilisé dans des contextes variés dont la transformation de modèles, la modélisation orientée-aspects et l'analyse d'exigences logicielles. L'utilisation de Kermeta pour ces applications a permis de valider le langage et de mettre en évidence ses avantages par rapport aux techniques existantes. Le second axe de ce travail concerne la validation des transformations de modèles. Celles-ci sont utilisées pour automatiser les phases du processus de développement qui peuvent l'être. Qu'il s'agisse de raffinement, de composition, de refactoring ou encore de génération de code, la qualité des transformations de modèles est primordiale pour assurer la qualité des logiciels développés. Il suffit en effet qu'une seule transformation utilisée soit erronée pour que l'ensemble du processus de développement soit fragilisé. Dans ce contexte, nous proposons une technique pour la sélection de modèles de test permettant la validation des programmes de transformation de modèles. Cette technique tire avantage du fait que toute transformation de modèles manipule des données dont la structure est décrite par un méta-modèle.
6

De la modélisation objet des logiciels à la metamodélisation des langages informatiques

Muller, Pierre-Alain 20 November 2006 (has links) (PDF)
Mes travaux concernent la modélisation opérationnelle des systèmes à informatique prépondérante, dans le double but de capitaliser les savoir-faire et d'automatiser les réalisations. La modélisation est l'utilisation d'une représentation, en lieu et place d'une chose du monde réel, dans un but cognitif. Un modèle se substitue à un système dans un contexte donné, à moindre coût, plus simplement, plus rapidement et sans les risques ou dangers inhérents à une manipulation du système réel. Une modélisation devient opérationnelle dès lors qu'une implantation informatique peut en être dérivée de manière systématique. L'ensemble de mes travaux a pour but in fine de réduire le fossé entre les processus métier et les techniques d'informatisation. Je m'intéresse à la fois à la formalisation des savoir-faire métier et informatique. Ma démarche scientifique mélange des aspects théoriques et des validations expérimentales. Elle procède par fertilisation croisée, en reposant tout à la fois sur l'analyse de l'état de l'art, la participation à des groupes de travail ou de normalisation, et à la confrontation avec des problématiques industrielles. Les idées que j'ai approfondies dans mes travaux ont émergées dans différentes communautés (telles celles des grammaires, des bases de données, de la gestion des documents, des méthodes formelles...). Je procède en considérant la modélisation comme une alternative à la programmation. C'est une posture certes un peu radicale – car la modélisation et la programmation peuvent très bien se complémenter – mais je l'ai choisi afin d'amener les techniques de modélisation à leur extrême. Mes principales contributions portent sur : - Des avancées méthodologiques, dans le domaine de la modélisation objet avec UML et aussi dans l'intégration entre l'ingénierie dirigée par les modèles et les méthodes agiles. Ces contributions ont été validées dans des contextes industriels, en collaboration avec Rational Software et ObjeXion Software. - Des contributions pour la capitalisation du savoir-faire de modélisation des systèmes de commande et contrôle. Ces travaux à la frontière entre l'informatique et l'automatique, ont été réalisés en partenariat avec l'Ifremer et Nipson Printing System. - Des contributions pour la modélisation opérationnelle des systèmes d'information Web. Ces contributions s'inscrivent dans le cadre d'un transfert de technologie, sous la forme d'une création d'entreprise innovante : ObjeXion Software. - Des contributions pour l'application de la modélisation à l'ingénierie des langages. Ces travaux regroupés dans le projet open-source Kermeta porté par l'INRIA, font l'objet d'un déploiement industriel dans le cœur de la plateforme RNTL OpenEmbeDD.
7

Une architecture pour les transformations de modèles et la restructuration de modèles uml

Pollet, Damien 28 June 2005 (has links) (PDF)
Avec l'ingénierie des modèles on cherche à résoudre le problème de l'évolution des grands systèmes informatiques. En effet, ces systèmes doivent s'adapter à l'évolution des besoins et des technologies, et cette évolution est de plus en plus rapide par rapport à celle du domaine métier. On souhaite donc réutiliser l'expertise de ce domaine indépendamment des technologies sur lesquelles on s'appuie, grâce à des techniques de manipulation de modèles. La contribution présentée dans ce manuscrit est une architecture de manipulation de modèles indépendante d'un quelconque métamodèle. Cette architecture favorise la réutilisation des techniques reconnues de génie logiciel orienté objet pour le développement de transformations de modèles. La sémantique de l'interface d'accès aux modèles est spécifiée par une implémentation de référence en langage fonctionnel. Notre approche est fondée sur une interface de niveau mof (Meta-Object Facility) pour la manipulation de modèles. Le langage associé permet de manipuler des éléments de modèle directement, car la structure du métamodèle étend dynamiquement l'ensemble des types accessibles au programme de transformation. D'un point de vue méthodologique, on montre que les transformations de modèles synthétisent l'expertise d'implantation d'un domaine métier vers une technologie donnée ; il est donc utile de modéliser les transformations les plus complexes pour les développer en appliquant récursivement les techniques de génie logiciel et d'ingénierie des modèles. La mise en pratique illustre ce point et montre le fonctionnement de l'architecture de manipulation de modèles avec des transformations pour l'introduction de design patterns et la restructuration de modèles uml (Unified Modeling Language).
8

Performance des systèmes distribués : proposition d'une plateforme fédératrice de la supervision

Himda, Marouane 20 December 2007 (has links) (PDF)
Mesurer les performances d'une application est devenue une tâche incontournable pour mieux comprendre sa dynamique et anticiper son évolution. Cette tâche nécessite des outils de supervision qui s'adaptent aux différentes spécificités de l'application et de son environnement de déploiement (distribution, hétérogénéité, etc.). Ces outils doivent également être les moins intrusifs possibles pour ne pas perturber le fonctionnement de l'application. Notre contribution dans cette thèse est de concevoir et d'implémenter une plateforme de supervision basée sur le déploiement dynamique de sondes pour collecter des informations sur l'utilisation des ressources systèmes. Ces sondes sont choisies pour leurs faibles degrés d'intrusivité. Elles fonctionnent en mode « offline » en enregistrant localement et sans traitement préalable les informations collectées au lieu de les transmettre sur le réseau. Ce mode de fonctionnement est moins intrusif car il optimise l'utilisation des ressources systèmes et réseaux. La plateforme intègre également un moteur générique d'analyse qui assure la transformation des formats hétérogènes des informations collectées vers un format pivot basé sur XML ce qui facilite la phase de corrélation. Ce travail de thèse, réalisé dans un cadre industriel, définit une plateforme pour fédérer des sondes de supervision. Le concept de cette plateforme peut être étendue pour faciliter la construction de systèmes nécessitant de vérifier l'état des ressources. C'est le cas par exemple des systèmes qui vérifient les contrats de performances.

Page generated in 0.0197 seconds