• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 2
  • 1
  • Tagged with
  • 4
  • 4
  • 4
  • 4
  • 4
  • 4
  • 3
  • 3
  • 2
  • 2
  • 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

Modelling and Reasoning with Software Product Lines with Design Choices

Kaur, Navpreet 03 1900 (has links)
No description available.
2

Ingéniérie dirigée par les modèles pour la gestion de la variabilité dans le test d'applications mobiles / Model-Driven Engineering for Variability Management in Mobile Application Testing

Ridene, Youssef 23 September 2011 (has links)
L'engouement du grand public pour les applications mobiles, dont le nombre ne cessede croître, a rendu les utilisateurs de plus en plus exigeants quant à la qualité de cesapplications. Seule une procédure de test efficace permet de répondre à ces exigences.Dans le contexte des applications embarquées sur téléphones mobiles, le test est unetâche coûteuse et répétitive principalement à cause du nombre important de terminauxmobiles qui sont tous différents les uns des autres.Nous proposons dans cette thèse le langage MATeL, un DSML (Domain-Specific ModelingLanguage) qui permet de d’écrire des scénarios de test spécifiques aux applicationsmobiles. Sa syntaxe abstraite, i.e. un méta modèle et des contraintes OCL, permet auconcepteur de manipuler les concepts métier du test d'applications mobiles (testeur, mobileou encore résultats attendus et résultats obtenus). Par ailleurs, il permet d'enrichirces scénarii avec des points de variabilité qui autorisent de spécifier des variations dansle test en fonction des particularités d'un mobile ou d'un ensemble de mobiles. La syntaxeconcrète de MATeL, qui est inspirée de celle des diagrammes de séquence UML,ainsi que son environnement basé sur Eclipse permettent à l'utilisateur de concevoir desscénarii relativement facilement.Grâce à une plateforme de test en ligne construite pour les besoins de notre projet,il est possible d'exécuter les scénarii sur plusieurs téléphones différents. La démarcheest illustrée dans cette thèse à travers des cas d'utilisation et des expérimentations quiont permis de vérifier et valider notre proposition. / Mobile applications have increased substantially in volume with the emergence ofsmartphones. Ensuring high quality and successful user experience is crucial to the successof such applications. Only an efficient test procedure allows developers to meet these requirements. In the context of embedded mobile applications, the test is costly and repetitive. This is mainly due to the large number of different mobile devices. In this thesis, we describe MATeL, a Domain-Specific Modeling Language (DSML) for designing test scenarios for mobile applications. Its abstract syntax, i.e. a meta model and OCL constraints, enables the test designer to manipulate mobile applications testing concepts such as tester, mobile or outcomes and results. It also enables him/her to enrich these scenarios with variability points in the spirit of Software Product-Line engineering, that can specify variations in the test according to the characteristics of one mobile or a set of mobiles. The concrete syntax of MATeL that is inspired from UML sequence diagrams and its environment based on Eclipse allow the user to easily develop scenarios. MATeL is built upon an industrial platform (a test bed) in order to be able to run scenarios on several different phones. The approach is illustrated in this thesis through use cases and experiments that led to verify and validate our contribution.
3

A development process for building adaptative software architectures / Un processus de développement d'architectures logicielles adaptatives

Huynh, Ngoc Tho 30 November 2017 (has links)
Les logiciels adaptatifs sont une classe de logiciels qui peuvent modifier leur structure et comportement à l'exécution afin de s'adapter à des nouveaux contextes d'exécution. Le développement de logiciels adaptatifs a été un domaine de recherche très actif les dix dernières années. Plusieurs approches utilisent des techniques issues des lignes des produits afin de développer de tels logiciels. Ils proposent des outils, des frameworks, ou des langages pour construire des architectures logicielles adaptatives, mais ne guident pas les ingénieurs dans leur utilisation. De plus, ils supposent que tous les éléments spécifiés à la conception sont disponibles dans l'architecture pour l'adaptation, même s'ils ne seront jamais utilisés. Ces éléments inutiles peuvent être une cause de soucis lors du déploiement sur une cible dont l'espace mémoire est très contraint par exemple. Par ailleurs, le remplacement de composants à l'exécution reste une tâche complexe, elle doit assurer non seulement la validité de la nouvelle version, mais aussi préserver la terminaison correcte des transactions en cours. Pour faire face à ces problèmes, cette thèse propose un processus de développement de logiciels adaptatifs où les tâches, les rôles, et les artefacts associés sont explicites. En particulier, le processus vise la spécification d'informations nécessaires pour construire des architectures logicielles adaptatives. Le résultat d'un tel processus est une architecture logicielle adaptative qui contient seulement des éléments utiles pour l'adaptation. De plus, un mécanisme d'adaptation est proposé basé sur la gestion de transactions pour assurer une adaptation dynamique cohérente. Elle assure la terminaison correcte des transactions en cours. Nous proposons pour cela la notion de dépendance transactionnelle : dépendance entre des actions réalisées par des composants différents. Nous proposons la spécification de ces dépendances dans le modèle de variabilité, et de l'exploiter pour décider des fonctions de contrôle dans les composants de l'architecture, des fonctions qui assurent une adaptation cohérente à l'exécution. / Adaptive software is a class of software which is able to modify its own internal structure and hence its behavior at runtime in response to changes in its operating environment. Adaptive software development has been an emerging research area of software engineering in the last decade. Many existing approaches use techniques issued from software product lines (SPLs) to develop adaptive software architectures. They propose tools, frameworks or languages to build adaptive software architectures but do not guide developers on the process of using them. Moreover, they suppose that all elements in the SPL specified are available in the architecture for adaptation. Therefore, the adaptive software architecture may embed unnecessary elements (components that will never be used) thus limiting the possible deployment targets. On the other hand, the components replacement at runtime remains a complex task since it must ensure the validity of the new version, in addition to preserving the correct completion of ongoing activities. To cope with these issues, this thesis proposes an adaptive software development process where tasks, roles, and associate artifacts are explicit. The process aims at specifying the necessary information for building adaptive software architectures. The result of such process is an adaptive software architecture that only contains necessary elements for adaptation. On the other hand, an adaptation mechanism is proposed based on transactions management for ensuring consistent dynamic adaptation. Such adaptation must guarantee the system state and ensure the correct completion of ongoing transactions. In particular, transactional dependencies are specified at design time in the variability model. Then, based on such dependencies, components in the architecture include the necessary mechanisms to manage transactions at runtime consistently.
4

Gestion de la variabilité au niveau du code : modélisation, traçabilité et vérification de cohérence / Handling variability at the code level : modeling, tracing and checking consistency

Tërnava, Xhevahire 01 December 2017 (has links)
Durant le développement de grandes lignes de produits logiciels, un ensemble de techniques d’implémentation traditionnelles, comme l’héritage ou les patrons de conception, est utilisé pour implémenter la variabilité. La notion de feature, en tant qu’unité réutilisable, n’a alors pas de représentation de première classe dans le code, et un choix inapproprié de techniques entraîne des incohérences entre variabilités du domaine et de l’implémentation. Dans cette thèse, nous étudions la diversité de la majorité des techniques d’implémentation de la variabilité, que nous organisons dans un catalogue étendu. Nous proposons un framework pour capturer et modéliser, de façon fragmentée, dans des modèles techniques de variabilité, la variabilité implémentée par plusieurs techniques combinées. Ces modèles utilisent les points de variation et les variantes, avec leur relation logique et leur moment de résolution, pour abstraire les techniques d’implémentation. Nous montrons comment étendre le framework pour obtenir la traçabilité de feature avec leurs implémentations respectives. De plus, nous fournissons une approche outillée pour vérifier la cohérence de la variabilité implémentée. Notre méthode utilise du slicing pour vérifier partiellement les formules de logique propositionnelles correspondantes aux deux niveaux dans le cas de correspondence 1–m entre ces niveaux. Ceci permet d’obtenir une détection automatique et anticipée des incohérences. Concernant la validation, le framework et la méthode de vérification ont été implémentés en Scala. Ces implémentations ont été appliquées à un vrai système hautement variable et à trois études de cas de lignes de produits. / When large software product lines are engineered, a combined set of traditional techniques, such as inheritance, or design patterns, is likely to be used for implementing variability. In these techniques, the concept of feature, as a reusable unit, does not have a first-class representation at the implementation level. Further, an inappropriate choice of techniques becomes the source of variability inconsistencies between the domain and the implemented variabilities. In this thesis, we study the diversity of the majority of variability implementation techniques and provide a catalog that covers an enriched set of them. Then, we propose a framework to explicitly capture and model, in a fragmented way, the variability implemented by several combined techniques into technical variability models. These models use variation points and variants, with their logical relation and binding time, to abstract the implementation techniques. We show how to extend the framework to trace features with their respective implementation. In addition, we use this framework and provide a tooled approach to check the consistency of the implemented variability. Our method uses slicing to partially check the corresponding propositional formulas at the domain and implementation levels in case of 1–to–m mapping. It offers an early and automatic detection of inconsistencies. As validation, we report on the implementation in Scala of the framework as an internal domain specific language, and of the consistency checking method. These implementations have been applied on a real feature-rich system and on three product line case studies, showing the feasibility of the proposed contributions.

Page generated in 0.0867 seconds