14,600 research outputs found

    Towards maintainer script modernization in FOSS distributions

    Get PDF
    Free and Open Source Software (FOSS) distributions are complex software systems, made of thousands packages that evolve rapidly, independently, and without centralized coordination. During packages upgrades, corner case failures can be encountered and are hard to deal with, especially when they are due to misbehaving maintainer scripts: executable code snippets used to finalize package configuration. In this paper we report a software modernization experience, the process of representing existing legacy systems in terms of models, applied to FOSS distributions. We present a process to define meta-models that enable dealing with upgrade failures and help rolling back from them, taking into account maintainer scripts. The process has been applied to widely used FOSS distributions and we report about such experiences

    Recovering Sequence Diagrams from Object-oriented Code

    Get PDF
    Software modernization is a current research area in the software industry intended to transform an existing software system to a new one satisfying new demands. The initiative Architecture-Driven Modernization (ADM) helps software developers in tackling reverse engineering, software evolution and, software modernization in general. To support modernization problems, the ADM Task Force has defined a set of metamodels such as KDM (Knowledge Discovery Metamodel), being the Eclipse-MDT MoDisco project the official support for software modernization. We propose the application of ADM principles to provide relevant model-based views on legacy systems. We describe a framework to reverse engineering models from object-oriented code. In this context, we show how to recover UML sequence diagrams from Java code. We validate our approach by using ADM standards and MoDisco platform. Our research can be considered a contribution to the MoDisco community; MoDisco does not support reverse engineering of sequence diagrams and, on the other hand, the MoDisco KDM Discover was used and enriched to obtain the required information for recovering interaction diagrams

    Migrating Traditional Web Applications to CMS-based Web Applications

    Get PDF
    AbstractIn recent years, Content Management Systems (CMS) have proven to be the best platforms for maintaining the large amount of digital content managed by Web applications. Thus, many organizations have experienced the necessity to base its Web applications on these CMS platforms. To do this, they start a migration process which is complex and error prone. To support this process, we propose a method based on the principles of Architecture-Driven Modernization (ADM) which automates the migration of Web applications to CMS-based Web applications. This article focuses on the implementation of two artifacts of this method: 1) the DSL ASTM_PHP, a modeling language for defining a model from PHP code (ASTM_PHP model) and 2) the model-to-model transformation rules which generate automatically a KDM model from a ASTM_PHP model. To show the feasibility of this implementation, we use a case study based on a widget implemented in PHP which lists the online users of a Web application

    Migrating C/C++ Software to Mobile Platforms in the ADM Context

    Get PDF
    Software technology is constantly evolving and therefore the development of applications requires adapting software components and applications in order to be aligned to new paradigms such as Pervasive Computing, Cloud Computing and Internet of Things. In particular, many desktop software components need to be migrated to mobile technologies. This migration faces many challenges due to the proliferation of different mobile platforms. Developers usually make applications tailored for each type of device expending time and effort. As a result, new programming languages are emerging to integrate the native behaviors of the different platforms targeted in development projects. In this direction, the Haxe language allows writing mobile applications that target all major mobile platforms. Novel technical frameworks for information integration and tool interoperability such as Architecture-Driven Modernization (ADM) proposed by the Object Management Group (OMG) can help to manage a huge diversity of mobile technologies. The Architecture-Driven Modernization Task Force (ADMTF) was formed to create specifications and promote industry consensus on the modernization of existing applications. In this work, we propose a migration process from C/C++ software to different mobile platforms that integrates ADM standards with Haxe. We exemplify the different steps of the process with a simple case study, the migration of “the Set of Mandelbrot” C++ application. The proposal was validated in Eclipse Modeling Framework considering that some of its tools and run-time environments are aligned with ADM standards

    An Architecture to infer Business Rules from Event Condition Action Rules implemented in the Persistence Layer

    Get PDF
    The business rules that govern the behaviour of a business process can be hardcoded in different ways in a software application. The modernization or improvement of these applications to a process-oriented perspective implies typically the modification of the business rules. Frequently, legacy systems are not well-documented, and almost always, the documentation they have is not updated. As a consequence many times is necessary the analysis of source code and databases structures to be transformed into a business language more understandable by the business experts involved in the modernization process. Database triggers are one of the artefacts in which business rules are hardcoded. We focus on this kind of artefacts, having in mind to avoid the manual analysis of the triggers by a database expert, and bringing it closer to business experts. To get this aim we need to discover business rules that are hardcoded in triggers, and translate it into vocabularies that are commonly used by business experts. In this paper we propose an ADM-based architecture to discover business rules and rewrite then into a language that can be understood by the business experts.Ministerio de Ciencia y TecnologĂ­a TIN2009-13714Ministerio de Ciencia y TecnologĂ­a TIN2010-20057-C03-02Ministerio de Ciencia y TecnologĂ­a TIN2010-21744-C02-

    Developing Digital Competences. Work learn trajectories in Italian School System

    Get PDF
    The work based learning is the core European dispositions on educational and training issue and a pillar of the Europe 2020 strategy (EUCOM 2009/C119/02). Therefore, the educational system has to increase the quality of standards and learning results in order to response adequately to competence needs and to permit the successful entrance of the youth in the world of work. The SWA is a coherent reaction. Indeed, the current literature lead to reflect on the SWA as a new prospective of school and world of work relationship (Arlotti and Barberis 2015), and as a resolution for the skills mismatch (Caputo and Capecchi 2016; Froy, Giguere, Hofer, 2009; A. Green, Hasluck, Hogarth, Reynolds, 2003). In a context which needs a different school that provides different types of skills, it is desirable that a policy instrument such as the SWA – became mandatory by the reform “La Buona Scuola” (Law 107/2015) – is included in the scientific debate, especially for its potential to contribute to renewal of the school system. Many authors encourage the scientific debate regarding the question to clarify the peculiar characteristics of the SWA model in Italy and to begin effective reflection on its revolutionary impact for the school system. According to Tino and Fideli (2015), the SWA is a process, not only as an experience, a fundamental methodology to promote the knowledge of the world of work and the development of competences (professional and citizenship) thanks to the interconnection between formal-informal learning and creative combination process between theory and practice

    Migrating software to mobile technology: a model driven engineering approach

    Get PDF
    Nowadays, organizations are facing the problematic of having to modernize or replace their legacy software. This software has involved the investment of money, time and other resources through the ages and there is a high risk in replacing it. The purpose of reengineering is to adapt software in a disciplined way in order to improve its quality in aspects such as operability, functionality or performance. The focus of reengineering is on improving an existing system with a higher return on investment than would be achieved by developing a new system. In the context of reengineering, the term legacy was associated with software that survived several generations of developers, administrators and users. The entry into the market of new technologies or paradigms is increasingly occurring and, motivates the growing demand for the adaptation of systems developed more recently. Mobile Computing is crucial to harvesting the potential of these new paradigms. Smartphones are the most used computing platform worldwide. They come with a variety of sensors (GPS, accelerometer, digital compass, microphone and camera) enabling a wide range of applications in Pervasive Computing, Cloud Computing and Internet of Things (IoT)

    Automatic code modernization with Rascal

    Get PDF

    Science & engineering software migration: moving from desktop to mobile applications

    Get PDF
    The proliferation of mobile devices over the last years provides opportunities and challenges for solving problems in Science & Engineering. Among other novel features, mobile devices contain global positioning sensors, wireless connectivity, built-in web browsers and photo/video/voice capabilities that allow providing highly localized, context aware applications. Mobile phones have become as powerful as any desktop computer in terms of applications they can run. However, the software development in mobile computing is still not as mature as it is for desktop computer and the whole potential of mobile devices is wasted. A current problem in the engineering community is the adaptation of desktop applications for mobile technologies. To take advantage of new platform technologies, existing software must evolve. A number of solutions have been proposed to deal with this problem such as redevelopment, which rewrites existing applications, or migration, which moves the existing system to a more flexible environment while retaining the original system data and functionality. A good solution should be to restore the value of the existing software, extracting knowledge and exploiting investment in order to migrate to new software that incorporates the new technologies. On the one hand, traditional reverse engineering techniques can help in the software migration to mobile applications. They are related to the process of analyzing available software with the objective of extracting information and providing high-level views on the underlying code. On the other hand, to achieve interoperability with multiple platforms the migration needs of technical frameworks for information integration and tool interoperability such as the initiative of the Object Management Group (OMG) called Model Driven Architecture (MDA). The outstanding ideas behind MDA are separating the specification of the system functionality from its implementation on specific platforms and managing the software evolution from abstract models to implementations increasing the degree of automation. The objective of this paper is to describe a reengineering process that allow moving existing desktop applications for solving engineering problems of multidisciplinary character to mobile platforms. Our research aims to simplify the creation of applications for mobile platforms by integrating traditional reverse engineering techniques, such static and dynamic analysis, with MDA. We validated our approach by using the open source application platform Eclipse, EMF (Eclipse Modeling Framework), EMP (Eclipse Modeling Project) and the Android platform

    Science & engineering software migration: moving from desktop to mobile applications

    Get PDF
    The proliferation of mobile devices over the last years provides opportunities and challenges for solving problems in science and engineering. Among other novel features, mobile devices contain global positioning sensors, wireless connectivity, built-in web browsers and photo/video/voice capabilities that allow providing highly localized, context aware applications. Mobile phones have become as powerful as any desktop computer in terms of applications they can run. However, the software development in mobile computing is still not as mature as it is for desktop computer and the whole potential of mobile devices is wasted [7, 8]
    • …
    corecore