2,399 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 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

    Computer-Aided Warehouse Engineering (CAWE): Leveraging MDA and ADM for the Development of Data Warehouses

    Get PDF
    During the last decade, data warehousing has reached a high maturity and is a well-accepted technology in decision support systems. Nevertheless, development and maintenance are still tedious tasks since the systems grow over time and complex architectures have been established. The paper at hand adopts the concepts of Model Driven Architecture (MDA) and Architecture Driven Modernization (ADM) taken from the software engineering discipline to the data warehousing discipline. We show the works already available, outline further research directions and give hints for implementation of Computer-Aided Warehouse Engineering systems

    Cloud migration of legacy applications

    Get PDF

    Extracting Models from Source Code in Software Modernization

    Get PDF
    International audienceModel-driven software modernization is a discipline in which model-driven development (MDD) techniques are used in the modernization of legacy systems. When existing software artifacts are evolved, they must be transformed into models to apply MDD techniques such as model transformations. Since most modernization scenarios (e.g., application migration) involve dealing with code in general-purpose programming languages (GPL), the extraction of models from GPL code is an essential task in a model-based modernization process. This activity could be performed by tools to bridge grammarware and MDD technical spaces, which is normally carried out by dedicated parsers. Grammar-to-Model Transformation Language (Gra2MoL) is a domain-specific language (DSL) tailored to the extraction of models from GPL code. This DSL is actually a text-to-model transformation language which can be applied to any code conforming to a grammar. Gra2MoL aims to reduce the effort needed to implement grammarware-MDD bridges, since building dedicated parsers is a complex and time-consuming task. Like ATL and RubyTL languages, Gra2MoL incorporates the binding concept needed to write mappings between grammar elements and metamodel elements in a simple declarative style. The language also provides a powerful query language which eases the retrieval of scattered information in syntax trees. Moreover, it incorporates extensibility and grammar reuse mechanisms. This paper describes Gra2MoL in detail and includes a case study based on the application of the language in the extraction of models from Delphi code

    MAMBA: A Measurement Architecture for Model-Based Analysis

    Get PDF
    Model-based measurement techniques are relevant in the field of software analysis. Several meta models for the specification of quantitative measures have been proposed. However, they often focus either on static or dynamic aspects of a software system. Nevertheless, considering reengineering activities often both dimensions reveal valuable complementary insights. Existing meta models are also frequently bound to specific modeling languages, redefine underlying concepts for any new meta model, or provide only limited tool support for the automated computation of measurements from modeled measures. We present MAMBA, an integrated measurement architecture for model-based analysis---both static and dynamic---of software systems, that can be specified by arbitrary Ecore-based modeling languages. MAMBA extends the Structured Metrics Meta-Model (SMM) by additional modeling features, such as arbitrary statistical aggregate functions and periodic aggregate functions, e.g., for dynamic analysis at runtime. To consider measurements for querying system models, we outline the MAMBA Query Language (MQL) that employs SMM measures. Furthermore, we provide tool support that applies the measures specified in an (extended) SMM model and can integrate raw measurements provided by arbitrary static and dynamic analysis tools to produce the desired measurement model. We demonstrate the applicability of the approach based on three evaluation scenarios from different contexts: migration of software systems into the cloud, model-based engineering of railway control systems, and dynamic analysis for model-driven software modernization

    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-

    E-Government Interoperability and Integration Architecture Modeling Using TOGAF Framework Based on Service Oriented Architecture

    Full text link
    . Development of e-Government in Indonesia continues to roll and run in every government agency, both in central government and local government. Implementation of e-Government means that there are government's efforts to build and improve the quality of public services and internal operations in each regional apparatus organization effectively and efficiently. These activities inline with one of the bureaucracy reform mission, that is the modernization of government bureaucracy through the using of information and communication technology optimization to support bureaucracy reform vision and the creation of good governance. The development and implementation of e-Government currently mostly implemented by each regional apparatus organization. This condition makes it difficult to exchange data and information related to multisectoral activities due to data and information spread across various databases from different applications, platform, environment and architecture without good documentation. In preparation for arranging the e-Government architecture, we will use The Open Group Architecture Framework - Architecture Development Method as an enterprise architecture framework. The purpose of this research is to study and conceptualize e-Government interoperability and integration solutions of all existing applications and providing some model documents such as e-Government Architecture Vision, Integrated Business Model References Architecture, and Integrated Data Model References Architecture
    corecore