31 |
Composition d'applications et de leurs Interfaces homme-machine dirigée par la composition fonctionnelleJoffroy, Cédric 06 June 2011 (has links) (PDF)
La réutilisation d'applications n'est pas un problème récent et de nombreux travaux ont étudié différentes façons de réutiliser tout ou partie d'une application. L'apparition des services et des composants au niveau fonctionnel facilite la construction et l'extension d'applications par composition de fonctionnalités indépendantes. En parallèle, des travaux sur les Interfaces Homme-Machine (IHM) proposent des solutions pour créer des IHM par composition d'IHM existantes. Mais ce n'est que récemment que des travaux se sont intéressés à composer l'ensemble d'une application. Malgré cela, ils ne proposent que des compositions simples tant au niveau des IHM que fonctionnel. Ces travaux de thèse proposent une approche pour faciliter le travail du développeur en lui permettant de réutiliser l'intégralité des applications à composer, c'est-à-dire, la partie fonctionnelle, l'IHM et les interactions entre l'IHM et la partie fonctionnelle. La proposition faite dans cette thèse lui permet de continuer d'utiliser les outils industriels dont il dispose pour composer les parties fonctionnelles des applications. Ainsi, c'est au travers de cette composition fonctionnelle ainsi que des interactions entre la partie fonctionnelle et l'IHM présentes dans les applications que se fera l'identification des éléments d'IHM à conserver et la création de l'application résultante. Cette approche repose sur un méta-modèle AliasComponent qui fournit une architecture à base de composants permettant de décrire à la fois les applications (en distinguant la partie fonctionnelle, les IHM et les interactions entre les deux) et la composition fonctionnelle. Ce méta-modèle permet ainsi d'extraire des applications existantes et de la composition fonctionnelle l'ensemble des informations essentielles à la réalisation de la composition des applications. Elle s'appuie aussi sur une formalisation qui permet la réalisation de la composition, c'est-à-dire, la déduction des éléments d'IHM à conserver, la détection de doublons non identiques (lorsque plusieurs widgets différents peuvent convenir), l'aide à la résolution de ceux-ci et la création de l'application résultante de la composition. Cette formalisation pose également les propriétés que doivent respecter les applications et le résultat de la composition assurant ainsi une application résultante fonctionnelle. Le méta-modèle et la formalisation sont intégrés au sein d'un processus d'aide à la composition. La solution proposée a, quant à elle, été mise en oeuvre au sein d'un atelier d'aide à la composition qui a permis de valider l'approche.
|
32 |
Adaptabilité et reconfiguration des systèmes temps-réel embarquésBoukhanoufa, Mohamed-Lamine 26 September 2012 (has links) (PDF)
Les systèmes temps réel peuvent être grands, distribués et avoir un environnement dynamique. Cela exige la mise en place de différents modes de fonctionnement et techniques de fiabilité. Par ailleurs, ces différents changements dynamiques d'architecture et de comportement ont un impact sur les caractéristiques temporelles des systèmes qui nécessitent une étude particulière de la capacité des comportements d'adaptation à garantir les contraintes fixées aux systèmes. Le travail présenté dans cette thèse est focalisé sur la spécification de l'adaptabilité d'un système temps réel et l'étude sur de jeux de configurations prédéfinis de l'impact temporel des actions d'adaptation dynamique. Pour cela, nous présentons une méthodologie outillée basée sur la notion de Mode du profil MARTE. Chaque mode représente un comportement possible du système pour un environnement bien déterminé associé à une configuration logicielle. L'approche développée propose de modéliser le comportement adaptatif à travers la définition du contexte, de la variabilité, des opérations de reconfigurations et de la configuration de base. L'analyse d'ordonnançabilité est ensuite effectuée au niveau du modèle en intégrant l'impact des comportements d'adaptation. Deux paradigmes de modélisation peuvent alors être exploités pour effectuer cette analyse : les requêtes et les flots de données. Cela permet de vérifier que les contraintes temporelles de notre système resteront satisfaites en intégrant les opérations de reconfiguration issues du comportement adaptatif. Enfin, l'approche permet de générer des implantations des comportements adaptatifs à partir des modèles afin d'automatiser l'intégration des mécanismes d'adaptation dans les systèmes temps réel.
|
33 |
Du support générique d'opérateurs de composition dans les modèles de composants logiciels, application au calcul à haute performance.Bigot, Julien 06 December 2010 (has links) (PDF)
Les applications scientifiques posent un véritable défi de par leur complexité et la quantité de données qu'elles traitent. Leur exécution nécessite l'utilisation de ressources matérielles complexes et variées comme les super-calculateurs, les grappes et les grilles de calcul. Les modèles de composants logiciels et en particulier ceux qui proposent des schémas de composition adaptés au calcul à haute performance offrent une piste intéressante pour leur développement. Ces derniers permettent aux applications de s'abstraire des ressources d'exécution et de favoriser ainsi les performances à l'exécution sur une grande gammes d'architectures. Ces modèles restent toutefois limités à un ensemble restreint de schémas de composition. Il en résulte une multiplication des modèles dès que de nouvelles formes de composition apparaissent nécessaires, ce qui est dommageable à l'objectif de réutilisation. La complexité de modifier un modèle existant pour y intégrer de nouveaux opérateurs de composition défavorise aussi ces efforts. Cette thèse propose un modèle de composants logiciels appelé HLCM dans lequel de nouveaux opérateurs de composition peuvent être introduits sans modification du modèle. Ceci est rendu possible par l'introduction en son sein de quatre concepts : la hiérarchie, les connecteurs, la généricité et le choix de mise en œuvre. Afin de favoriser la réutilisation de l'existant, ce modèle est abstrait et il est rendu concret dans des spécialisations qui s'appuient sur les éléments primitifs de modèles existants. Au cours de ces travaux, nous avons étudié comment le concept de généricité pouvait s'appliquer aux modèles de composants et nous avons proposé une approche pour l'y intégrer. Nous avons étudié les interactions problématiques entre les concepts de connecteur et de hiérarchie et avons offert une solution s'appuyant sur une nouvelle approche pour la description des connexions entre composants. Finalement, nous avons proposé une approche pour la mise en œuvre de HLCM qui s'appuie sur des principes issus de l'ingénierie basée sur les modèles. Ces travaux ont été validés en développant un prototype de mise en œuvre de HLCM/CCM, une spécialisation de HLCM qui s'appuie sur le modèle de composant de Corba (CCM). Il a été utilisé pour décrire des interactions complexes entre composants (mémoire partagée et appels de méthode parallèles) et assurer une exécution efficace sur des ressources matérielles variées, notamment sur Grid'5000.
|
34 |
L'introduction de la gestion du cycle de vie produit dans les entreprises de sous-traitance comme vecteur d'agilité opérationnelle et de maîtrise du produitPinel, Muriel 30 May 2013 (has links) (PDF)
Pour faire face à un environnement en perpétuelle évolution, les entreprises doivent changer et parfois en profondeur. Ces évolutions en principe voulues et contrôlées se font au moyen de projets dits " d'entreprise ". Parmi les buts qu'il s'agit d'atteindre par le biais de ces projets, deux buts majeurs sont identifiables : le développement de l'agilité opérationnelle et la maîtrise des produits. Dans ces travaux de thèse, nous nous focalisons sur le projet PLM (Product Lifecycle Management) et plus particulièrement sur la mise en oeuvre du système d'information nécessaire à la gestion du cycle de vie des produits : le système PLM. Ce système d'information coordonne tout ou partie des informations liées à la définition, à la réalisation, à l'usage et au retrait des produits. Après un état de l'art permettant de définir de façon précise les concepts liés à la gestion du cycle de vie des produits, une méthode est proposée pour définir le cahier des charges du système PLM. La définition de cette méthode montre la nécessité d'assurer la cohérence entre les différents modèles du système PLM d'une part et entre les différentes représentations du produit utilisées tout au long de son cycle de vie d'autre part. Un cadre de modélisation basé sur le paradigme systémique, sur le paradigme d'ambivalence et sur des concepts de métamodélisation est alors proposé. Ce cadre de modélisation apporte des éléments de réponse aux besoins de cohérence identifiés. Il supporte également l'adoption du raisonnement synergique indispensable au développement de l'agilité opérationnelle recherchée par l'entreprise. Une expérimentation est réalisée pour illustrer les concepts introduits dans notre cadre de modélisation.
|
35 |
Contribution à la mise en oeuvre d'un moteur d'exécution de modèles UML pour la simulation d'applications temporisées et concurrentes.Benyahia, Abderraouf 26 November 2012 (has links) (PDF)
L'Ingénierie Dirigée par les Modèles (IDM) place les modèles au cœur des processus de d'ingénierie logicielle et système. L'IDM permet de maitriser la complexité des logiciels et d'améliorer la rapidité et la qualité des processus de développement. Le Model Driven Architecture (MDA) est une initiative de l'Object Management Group (OMG) définissant un cadre conceptuel, méthodologique et technologique pour la mise-en-œuvre de flots de conception basés sur l'IDM. Le MDA s'appuie particulièrement sur une utilisation intensive des formalismes normalisés par l'OMG pour la mise-en-œuvre des flots IDM (UML pour la modélisation, QVT pour les transformations, etc.). Ce travail s'intéresse à la sémantique d'exécution du langage UML appliqué à l'exécution de modèles des applications temps réel embarquées. Dans ce contexte, l'OMG propose une norme qui définit un modèle d'exécution pour un sous-ensemble d'UML appelé fUML (foundational UML subset). Ce modèle d'exécution définit une sémantique précise non ambigüe facilitant la transformation de modèles, l'analyse, l'exécution de modèles et la génération de code. L'objectif de cette thèse est d'étudier et mettre-en-œuvre un moteur d'exécution de modèles UML pour les systèmes temps réel embarqués en explicitant les hypothèses portant sur la sémantique d'exécution des modèles à un niveau d'abstraction élevé afin de permettre l'exécution d'un modèle le plus tôt possible dans le flot de conception de l'application. Pour cela, nous avons étendu le modèle d'exécution défini dans fUML, en apportant une contribution sur trois aspects importants concernant les systèmes temps réel embarqués : * Gestion de la concurrence: fUML ne fournit aucun mécanisme pour gérer la concurrence dans son moteur d'exécution. Nous répondons à ce problème par l'introduction d'un ordonnanceur explicite permettant de contrôler les différentes exécutions parallèles, tout en fournissant la flexibilité nécessaire pour capturer et simuler différentes politiques d'ordonnancements. * Gestion du temps : fUML ne fixe aucune hypothèse sur la manière dont les informations sur le temps sont capturées ainsi que sur les mécanismes qui les traitent dans le moteur d'exécution. Pour cela, nous introduisons une horloge, en se basant sur le modèle de temps discret, afin de prendre en compte les contraintes temporelles dans les exécutions des modèles. * Gestion des profils : les profils ne sont pas pris en compte par ce standard, cela limite considérablement la personnalisation du moteur d'exécution pour prendre en charge de nouvelles variantes sémantiques. Pour répondre à ce problème, nous ajoutons les mécanismes nécessaires qui permettent l'application des profils et la capture des extensions sémantiques impliquées par l'utilisation d'un profil. Une implémentation de ces différentes extensions est réalisée sous forme d'un plugin Eclipse dans l'outil de modélisation Papyrus UML.
|
36 |
Workflows conceptuelsCerezo, Nadia 20 December 2013 (has links) (PDF)
Les workflows sont de plus en plus souvent adoptés pour la modélisation de simulations scientifiques de grande échelle, aussi bien en matière de données que de calculs. Ils profitent de l'abondance de sources de données et infrastructures de calcul distribuées. Néanmoins, la plupart des formalismes de workflows scientifiques restent difficiles à exploiter pour des utilisateurs n'ayant pas une grande expertise de l'algorithmique distribuée, car ces formalismes mélangent les processus scientifiques qu'ils modélisent avec les implémentations. Ainsi, ils ne permettent pas de distinguer entre les objectifs et les méthodes, ni de repérer les particularités d'une implémentation ou de l'infrastructure sous-jacente. Le but de ce travail est d'améliorer l'accessibilité aux workflows scientifiques et de faciliter leur création et leur réutilisation. Pour ce faire, nous proposons d'élever le niveau d'abstraction, de mettre en valeur l'expérience scientifique plutôt que les aspects techniques, de séparer les considérations fonctionnelles et non-fonctionnelles et de tirer profit des connaissances et du savoir-faire du domaine.Les principales contributions de ce travail sont : (i) un modèle de workflows scientifiques à structure flexible, sémantique et multi-niveaux appelé "Conceptual Workflow Model", qui permet aux utilisateurs de construire des simulations indépendamment de leur implémentation afin de se concentrer sur les objectifs et les méthodes scientifiques; et (ii) un processus de transformation assisté par ordinateur pour aider les utilisateurs à convertir leurs modèles de simulation de haut niveau en workflows qui peuvent être délégués à des systèmes externes pour exécution.
|
37 |
Gestion de la variabilité et automatisation des processus de développement logicielRouillé, Emmanuelle 01 April 2014 (has links) (PDF)
De nombreux outils existent afin de faire face à la complexité des logiciels et des projets de développement logiciel. Leur utilisation est cependant à l'origine de tâches manuelles répétitives, sources d'erreurs et coûteuses en temps. L'automatisation de ces tâches permet de gagner en productivité. Mais la difficulté est de déterminer quand une automatisation de tâche manuelle répétitive doit être réutilisée, ainsi que de créer des automatisations réutilisables à travers leurs différents cas d'utilisation. Nous proposons donc une approche outillée pilotant la réutilisation des automatisations de tâches manuelles répétitives par les processus de développement logiciel, où un processus de développement logiciel décrit les étapes à réaliser pour mener à bien un projet de développement logiciel. Cette approche consiste à capitaliser sur un ensemble de processus et à réutiliser des processus de cet ensemble en fonction des exigences des projets, indépendamment du formalisme utilisé pour définir les processus. Des automatisations de tâches manuelles répétitives sont liées aux étapes des processus qu'elles automatisent. Ce lien permet de savoir quelles automatisations utiliser pour un projet donné et quand. Il permet également d'expliciter les différents cas d'utilisation de chaque automatisation. Cette information est utilisée afin de créer des automatisations réutilisables à travers leurs différents cas d'utilisation. L'approche ainsi que l'outillage associé ont été appliqués sur une famille de processus industriels de développement Java ainsi que sur une famille de processus consistant à définir et outiller un langage de modélisation.
|
38 |
Adaptation à la volée de situations d'apprentissage modélisées conformément à un langage de modélisation pédagogiqueOuari, Salim 25 November 2011 (has links) (PDF)
Le travail présenté dans ce mémoire s'inscrit dans le domaine des Environnements Informatiques pour l'Apprentissage Humain (EIAH), plus précisément celui de l'ingénierie des EIAH dans le cadre d'une approche de type " Learning Design ". Cette approche propose de construire des EIAH à partir de la description formelle d'une activité d'apprentissage. Elle suppose l'existence d'un langage de modélisation communément appelé EML (Educational Modelling Language) et d'un moteur capable d'interpréter ce langage. LDL est le langage sur lequel nous avons travaillé, en relation avec l'infrastructure LDI intégrant un moteur d'interprétation de LDL. L'EML est utilisé pour produire un scénario, modèle formel d'une activité d'apprentissage. L'EIAH servant de support au déroulement de l'activité décrite dans le scénario est alors construit de manière semi-automatique au sein de l'infrastructure associée au langage selon le processus suivant : le scénario est créé lors d'une phase de conception ; il est instancié et déployé sur une plate-forme de services lors d'une phase d'opérationnalisation (choix des participants à l'activité, affectation des rôles, choix des ressources et services) ; le scénario instancié et déployé est pris en charge par le moteur qui va l'interpréter pour en assurer l'exécution. Dans ce cadre, l'activité se déroule conformément à ce qui a été spécifié dans le scénario. Or il est impossible de prévoir par avance tout ce qui peut se produire dans une activité, les activités étant par nature imprévisibles. Des situations non prévues peuvent survenir et conduire à des perturbations dans l'activité, voire à des blocages. Il devient alors primordial de fournir les moyens de débloquer la situation. L'enseignant peut par ailleurs vouloir exploiter une situation ou une opportunité en modifiant l'activité en cours d'exécution. C'est le problème qui est traité dans cette thèse : il s'agit de fournir les moyens d'adapter une activité " à la volée ", c'est-à-dire pendant son exécution, de manière à pouvoir gérer une situation non prévue et poursuivre l'activité. La proposition que nous formulons s'appuie sur la différentiation entre les données convoquées dans chacune des trois phases du processus de construction de l'EIAH : la conception, l'opérationnalisation et l'exécution. Nous exhibons un modèle pour chacune de ces phases, qui organise ces données et les positionne les unes par rapport aux autres. Adapter une activité " à la volée " revient alors à modifier ces modèles en fonction des situations à traiter. Certaines nécessitent la modification d'un seul de ses modèles, d'autres conduisent à propager les modifications d'un modèle vers un autre. Nous considérons l'adaptation " à la volée " comme une activité à part entière menée, en parallèle de l'activité d'apprentissage, par un superviseur humain qui dispose d'un environnement adéquat pour observer l'activité, détecter les éventuels problèmes et y remédier par intervention dans l'activité d'apprentissage en modifiant les modèles qui la spécifient. Pour développer les outils support à la modification et les intégrer dans l'infrastructure LDI, nous avons eu recours à des techniques de l'Ingénierie Dirigée par les Modèles. Les modèles manipulés dans ces outils en sont ainsi des données à part entière : les outils réalisés n'en offrent ainsi que plus de flexibilité et d'abstraction. Les modèles sont alors exploités comme des leviers pour atteindre et modifier les données ciblées par l'adaptation.
|
39 |
Facilités de typage pour l'ingénierie des langagesGuy, Clément 10 December 2013 (has links) (PDF)
Le nombre et la complexité toujours croissants des préoccupations prises en compte dans les systèmes logiciels complexes (e.g., sécurité, IHM, scalabilité, préoccupations du domaine d'application) poussent les concepteurs de tels systèmes à séparer ces préoccupations afin de les traiter de manière indépendante. L'ingénierie dirigée par les modèles (IDM) prône la séparation des préoccupations au sein de langages de modélisation dédiés. Les langages de modélisation dédiés permettent de capitaliser le savoir et le savoir-faire associés à une préoccupation au travers des constructions du langage et des outils associés. Cependant la définition et l'outillage d'un langage dédié demande un effort de développement important pour un public par définition réduit. Nous proposons dans cette thèse une relation liant les modèles et une interface de modèle permettant de faciliter la mise en place de facilités de typage pour la définition et l'outillage d'un langage dédié. Cette interface expose les éléments de modèle et les transformations de modèles associés à un langage de modélisation dédié. Nous représentons une telle interface par un type de modèles supportant des relations de sous-typage et d'héritage. Dans ce but nous définissons : une relation de typage entre les modèles et les langages de modélisation dédiés permettant de considérer les modèles comme des entités de première classe ; des relations de sous-typage entre langages de modélisation dédiés permettant la réutilisation de la syntaxe abstraite et des transformations de modèles.
|
40 |
Quality of Human-Computer Interaction : Self-Explanatory User Interfaces by Model-Driven Engineering / Qualité de l'interaction homme machine : interfaces auto-explicatives par ingénierie dirigée par les modèlesGarcia Frey, Alfonso 03 July 2013 (has links)
En Interaction Homme-Machine, la qualité est une utopie : malgré toutes les précautions prises en conception, il existe toujours des utilisateurs et des situations d'usage pour lesquels l'Interface Homme-Machine (IHM) est imparfaite. Cette thèse explore l'auto-explication des IHM pour améliorer la qualité perçue par les utilisateurs. L'approche s'inscrit dans une Ingénierie Dirigée par les Modèles. Elle consiste à embarquer à l'exécution les modèles de conception pour dynamiquement augmenter l'IHM d'un ensemble de questions et de réponses. Les questions peuvent être relatives à l'utilisation de l'IHM (par exemple, "A quoi sert ce bouton ?", "Pourquoi telle action n'est pas possible ?) et à sa justification (par exemple, "Pourquoi les items ne sont-ils pas rangés par ordre alphabétique ?"). Cette thèse propose une infrastructure logicielle UsiExplain basée sur les méta-modèles UsiXML. L'évaluation sur un cas d'étude d'achat de voitures montre que l'approche est pertinente pour les questions d'utilisation de l'IHM. Elle ouvre des perspectives en justification de conception. / In Human-Computer Interaction, quality is an utopia. Despite all the design efforts, there are always uses and situations for which the user interface is not perfect. This thesis investigates self-explanatory user interfaces for improving the quality perceived by end users. The approach follows the principles of model-driven engineering. It consists in keeping the design models at runtime so that to dynamically enrich the user interface with a set of possible questions and answers. The questions are related to usage (for instance, "What's the purpose of this button?", "Why is this action not possible"?) as well as to design rationale (for instance, "Why are the items not alphabetically ordered?"). This thesis proposes a software infrastructure UsiExplain based on the UsiXML metamodels. An evaluation conducted on a case study related to a car shopping webiste confirms that the approach is relevant especially for usage questions. Design rationale will be further explored in the future.STAR
|
Page generated in 0.0369 seconds