13 research outputs found

    Migrating GWT to Angular 6 using MDE

    Get PDF
    International audienceIn the context of a collaboration with Berger-Levrault, a major IT company, we are working on the migration of a GWT application to Angular. We focus on the GUI aspect of this migration which, even if both are web frameworks, is made difficult because they use different programming languages (Java for one, Typescript for the other) and different organization schemas (e.g. different XML files). Moreover, the new application must mimic closely the visual aspect of the old one so that the users of the application are not disturbed. We propose an approach in three steps that uses a meta-model to represent the GUI at a high abstraction level. We evaluated this approach on an application comprising 470 Java (GWT) classes representing 56 screens. We are able to model all the web pages of the application and 93% of the wid-gets they contain, and we successfully migrated (i.e., the result is visually equal to the original) 26 out of 39 pages (66%). We give examples of the migrated pages, both successful and not

    GUI Migration using MDE from GWT to Angular 6: An Industrial Case

    Get PDF
    International audienceDuring the evolution of an application, it happens that developers must change the programming language. In the context of a collaboration with Berger-Levrault, a major IT company, we are working on the migration of a GWT application to Angular. We focus on the GUI aspect of this migration which, even if both frameworks are web Graphical User Interface (GUI) frameworks, is made difficult because they use different programming languages and different organization schema. Such migration is complicated by the fact that the new application must be able to mimic closely the visual aspect of the old one so that the users of the application are not disrupted. We propose an approach in four steps that uses a meta-model to represent the GUI at a high abstraction level. We evaluated this approach on an application comprising 470 Java (GWT) classes representing 56 pages. We are able to model all the web pages of the application and 93% of the widgets they contain, and we successfully migrated 26 out of 39 pages (66%). We give examples of the migrated pages, both successful and not

    Appendix To Software Migration: A Theoretical Framework A Grounded Theory approach on Systematic Literature Review

    Get PDF
    Software migration has been a research subject for a long time. Major research and industrial implementations have been conducted, shaping not only the techniques available nowadays, but also a good part of Software evolution jargon. To understand systematically the literature and grasp the major concepts is challenging and time consuming. Even more, research evolves, and it does based on the assumption that there is a single meaning that we all share redounding in the pollution of words with multiple and many times opposite meanings. In our quest to understand, share and contribute scientifically in this domain, we recognise this situation as a problem. To tackle down this problem we propose a taxonomy on the subject as a theoretical framework grounded on a systematic literature review. In this study we contribute a bottom-up taxonomy that links from the object of a migration t

    Challenges for Layout Validation: Lessons Learned

    Get PDF
    International audienceCompanies are migrating their software systems. The migration process contemplates many steps, UI migration is one of them. To validate the UI migration, most existing approaches rely on visual structure (DOM) comparison. However, in previous work, we experimented such validation and reported that it is not sufficient to ensure a result that is equivalent or even identical to the visual structure of the interface to be migrated. Indeed, two similar DOM may be rendered completely differently. So, we decide to focus on the layout migration validation. We propose a first visual comparison approach for migrated layout validation and experiment it on an industrial case. Hence, from this first experiment and already existing studies on image comparison field, we highlight challenges for layout comparison. For each challenge, we propose possible solutions, and we detail the three main features we need to create a good layout validation approach

    Évaluation des risques et de la complexité sur le contexte de la migration linguistique

    Get PDF
    International audienceLanguage Migration is a highly risky and complex process. Many authors have provided different ways to tackle down the problem, but it still not completely resolved, even-more it is considered almost impossible on many circumstances. Despite the approaches and solutions available, no work has been done on measuring the risks and complexity of a migration process based on the technological gap. In this article we contribute a first iteration on Language Migration complexity metrics, we apply and interpret metrics on an industrial project. We end the article with a discussion and proposing future works.La migration de langage est un processus hautement risqué et complexe. De nombreux auteurs ont proposé différentes manières d'aborder le problème, mais il n'est toujours pas complètement résolu, encore plus, il est considéré comme presque impossible dans de nombreuses circonstances. Malgré les approches et les solutions disponibles, aucun travail n'a été fait pour mesurer les risques et la complexité d'un processus de migration basé sur le décalage technologique. Dans cet article, nous contribuons à une première itération sur les métriques de complexité de la migration linguistique, nous appliquons et interprétons des métriques sur un projet industriel. Nous terminons l'article par une discussion et proposons des travaux futurs

    Parsing Fortran-77 with proprietary extensions

    Full text link
    Far from the latest innovations in software development, many organizations still rely on old code written in "obsolete" programming languages. Because this source code is old and proven it often contributes significantly to the continuing success of these organizations. Yet to keep the applications relevant and running in an evolving environment, they sometimes need to be updated or migrated to new languages or new platforms. One difficulty of working with these "veteran languages" is being able to parse the source code to build a representation of it. Parsing can also allow modern software development tools and IDEs to offer better support to these veteran languages. We initiated a project between our group and the Framatome company to help migrate old Fortran-77 with proprietary extensions (called Esope) into more modern Fortran. In this paper, we explain how we parsed the Esope language with a combination of island grammar and regular parser to build an abstract syntax tree of the code.Comment: Accepted at ICSME'23 Industrial trac

    Analysing Microsoft Access Projects: Building a model in a Partially Observable Domain

    Get PDF
    International audienceDue to the technology evolution, every IT Company migrates their software systems at least once. Reengineering tools build system models which are used for running software analysis. These models are traditionally built from source code analysis and information accessible by data extractors (that we call such information observable). In this article we present the case of Microsoft Access projects and how this kind of project is partially observable due to proprietary storing formats. We propose a novel approach for building models that allows us to overcome this problem by reverse engineering the development environment runtime through the usage of Microsoft COM interface. We validate our approach and implementation by fully replicating 10 projects, 8 of them industrial, based only on our model information. We measure the repli-cation performance by measuring the errors during the process and completeness of the product. We measure the replication error, by tracking replication operations. We used the scope and completeness measure to enact this error. Completeness is measured by the instrumentation of a simple and scoped diff based on a third source of information. We present extensive results and interpretations. We discuss the threats to validity, the possibility of other approaches and the technological restrictions of our solution

    Elaboración de una guía de migración de XML a Jetpack Compose en aplicaciones Android: un caso de estudio de modernización de software

    Get PDF
    Las interfaces de usuario de aplicaciones móviles han evolucionado mucho en los últimos años. En concreto, en el campo del desarrollo de apps Android, originalmente las interfaces de usuario sólo se podían definir mediante archivos XML basándose en un paradigma imperativo, pero recientemente se ha introducido el paradigma declarativo como una forma de definir interfaces de usuario mucho más efectiva, al menos en teoría, mediante un nuevo kit de herramientas: Jetpack Compose. Dada la creciente popularidad de este fenómeno y que la gran mayoría de interfaces de usuario de aplicaciones Android aún siguen definidas en paradigma imperativo, el presente Trabajo de Fin de Máster se dedica a desarrollar un caso de estudio que se utiliza como medio de apoyo para elaborar lo que es el principal objetivo de este trabajo: una guía de migración para interfaces de usuario en Android de paradigma imperativo (XML) a paradigma declarativo (Jetpack Compose). Finalmente, basándose en el caso de estudio, se contrastan las hipótesis planteadas en relación a los beneficios que supone el uso de Jetpack Compose frente a XML en la construcción de interfaces de usuario de apps Android.User interfaces in mobile applications have evolved a lot in the latest years. Specifically, in the Android app development field, originally user interfaces could only be defined through XML files based in an imperative paradigm, but recently the declarative paradigm has been introduced as a much more effective way of defining user interfaces, at least in theory, through a new toolkit: Jetpack Compose. Given the growing popularity of this phenomenon and that the majority of Android apps’ user interfaces are still defined in an imperative paradigm, the present Master Thesis aims to develop a case study which is used as means of support to work out what is the main objective in this work: a migration guide for user interfaces in Android from imperative paradigm (XML) to declarative paradigm (Jetpack Compose). Finally, based on the case study, the stated hypothesis related to Jetpack Compose benefits versus XML in Android user interfaces are contrasted.Departamento de Informática (Arquitectura y Tecnología de Computadores, Ciencias de la Computación e Inteligencia Artificial, Lenguajes y Sistemas Informáticos)Máster en Ingeniería Informátic
    corecore