1 |
Modernisation d’applications patrimoniales par les modèles / Software modernization : a model driven engineering approachDeltombe, Gaëtan 16 December 2013 (has links)
La modernisation logicielle est un domaine en plein essor du fait du vieillissement des technologies datant des années 1960, tel que COBOL ou FORTRAN. Aujourd'hui, bon nombre de ces applications sont toujours en service du fait de leur criticité. Ce sont elles qui continuent d'assurer le bon fonctionnement du système d'information de l'entreprise. Face à l'arrivée en force de technologies récentes de type Cloud ou Mobile, il devient urgent de les moderniser. Toutefois, près de deux projets de modernisation sur trois échouent à cause du manque ou la perte de documentation de l'application, la complexité du logiciel (qui lui n'a cessé de grandir avec le temps), la perte des connaissances techniques (les jeunes développeurs n'ont jamais étudié ces anciennes technologies), tout cela couplé à un manque d'outils et de méthodes industrielles. Face à ce constat implacable, cette thèse suggère une solution pour l'industrialisation du processus de modernisation à travers l'utilisation de l'Ingénierie Dirigée par les Modèles (IDM), notamment en prenant pour base les métamodèles issus de l'initiative Architecture Driven Modernisation de l'OMG. Nous montrons qu'il est ainsi possible d'automatiser une majorité du processus du fait de l'utilisation de métamodèles pivots technologiquement neutres, ainsi que l'utilisation d'une série d'outils permettant d'obtenir une automatisation des tâches de migration de l'application. Nous proposons également de rendre cette solution adaptable à n'importe quel langage légataire au travers d'une chaîne de modernisation paramétrable via l'utilisation d'un moteur de transformation dédié offrant des mécanismes d'extensibilité et de réutilisabilité. Pour terminer, nous illustrons l'ensemble des idées développées dans cette thèse sur l'exemple concret d'une application codée en COBOL. / Software modernization is a fast-growing sector due to the aging technologies from the 1960s, such as COBOL or FORTRAN. Nowadays, many of these applications are still being used because of their criticality. These applications allow companies to maintain their information system. But to face the arrival of newer technologies and platforms, like Cloud or Mobile, companies must modernize their systems to deliver the same services and also develop new ones in order to compete. However, nearly two out of three modernization projects fail because of the lack or the loss of applications documentation, the complexity of the software (that has continued to grow over time), the loss of technical knowledge (the junior developers have never studied these ancient technologies), plus a lack of tools and industrial methods. Faced with this relentless observation, this thesis suggests a solution to the industrialization process of modernization through the use of Model Driven (IDM) Engineering, especially by using metamodels base from Driven Architecture Modernization of the OMG. We therefore demonstrate that it is possible to automate the process thanks to technologically neutral metamodels and by using a set of tools to get the automation of application migration tasks. We also propose to have this solution adapted to any languages through a configurable chain of modernization by using a dedicated processing engine that provides scalability and reusability mechanisms. Finally, we illustrate the ideas developed in this thesis in the concrete case of a coded COBOL application.
|
2 |
Adaptation à la volée de situations d'apprentissage modélisées conformément à un langage de modélisation pédagogique / Adapt on the fly learning situations modeled according to a pedagocical modeling languageOuari, Salim 25 November 2011 (has links)
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. / The work presented in this paper is in the field of Technology for Human Learning (TEL), specifically that of engineering in the context of TEL-type approach "Learning Design". This approach proposes to build ILE from the formal description of a learning activity. It assumes the existence of a common modeling language called EML (Educational Modelling Language) and an engine capable of interpreting this language. LDL is the language on which we worked in conjunction with the LDI infrastructure including a motor interpretation of LDL. The EML is used to produce a scenario, a formal model of learning activity. The ILE serving to support the conduct of the activity described in the scenario is then constructed semi-automatically in the infrastructure associated with the language using the following process: the script is created during a design phase; it is instantiated and deployed on a platform of services in an operational phase (selection of participants in the activity, role assignment, choice of resources and services); instantiated and deployed scenario is supported by the engine will interpret it to ensure its implementation. In this context, the activity takes place in accordance with what was specified in the script. It is impossible to predict in advance all that can occur in an activity, the activities are by nature unpredictable. Unforeseen situations can occur and lead to disturbances in the activity, or even blocks. It then becomes important to provide the means to break the deadlock. The teacher may also want to exploit a situation or opportunity by altering the activity in progress. This is the problem that is addressed in this thesis: to provide the means to adapt an activity "on the fly", that is to say while running, so you can not handle a situation provided and continue the activity. The proposal we make is based on the differentiation between data convened in each of the three phases of construction of the ILE: design, operationalization and implementation. We exhibit a model for each phase, which organizes the data and positions to each other. Adapt an activity "on the fly" then returns to modify these models in different situations to deal with. Some require the modification of one of its models, while others lead to propagate changes from one model to another. We consider adaptation "on the fly" as a separate activity conducted in parallel with the learning activity by a human supervisor has an adequate environment to observe the activity, identify potential problems and be remedied by intervention in the learning activity by modifying the templates that specify. To develop tools to support the change and integrate them into the LDI infrastructure, we have used the techniques of Model Driven Engineering. Handled in these models are tools and data in its own right tools and made no offer more flexibility and abstraction. The models are then used as levers to achieve and change the data targeted by the adaptation.
|
Page generated in 0.071 seconds