Abstract

In the recent decades, the amount of data produced by scientific, engineering, and life science applications has increased with several orders of magnitude. In parallel with this development, the applications themselves have become increasingly complex in terms of functionality, structure, and behavior. In the same time, development and production cycles of such applications exhibit a tendency of becoming increasingly shorter, due to factors such as market pressure and rapid evolution of supporting and enabling technologies. As a consequence, an increasing fraction of the cost of creating new applications and manufacturing processes shifts from the creation of new artifacts to the adaption of existing ones. A key component of this activity is the understanding of the design, operation, and behavior of existing manufactured artifacts, such as software code bases, hardware systems, and mechanical assemblies. For instance, in the software industry, it is estimated that maintenance costs exceed 80% of the total costs of a software product's lifecycle, and software understanding accounts for as much as half of these maintenance costs. To facilitate the software development process, it would be ideal to have tools that automatically generate or help to generate UML (Unified Modeling Language) models from source code. Reverse engineering the software architecture from source code provides a valuable service to software practitioners. Case tools implementing MDA and reverse-engineering constitute an important opportunity of software development engineers. So MDA and reverse engineering is an important key witch make makerspace more productive and more efficient.

Highlights

  • The architecture of a system is a specification of software components, interrelationships, and rules for component interactions and evolution over time

  • Reverse engineering dynamic models is to convert the code to models such as Unified Modeling Language (UML) sequence diagram, state diagram, etc, the goal is to increase the level of abstraction to better understand the behavior of software

  • We consider UML diagrams as target design models for reverse-engineering. This means that we focus only on RE of UML diagrams

Read more

Summary

INTRODUCTION

The architecture of a system is a specification of software components, interrelationships, and rules for component interactions and evolution over time. With the emergence of internet applications, the interoperability problem moved from the integration of platforms and programming languages on a company intranet to the integration of different middleware on the Internet. In this situation, the middleware is part of the problem itself [1]. The Meta Object Facility (MOF), an adopted OMG standard, (latest revision MOF 2.0) provides a metadata management framework, and a set of metadata services to enable the development and interoperability of model and metadata driven systems [5]. Architecture Driven Modernization (ADM) is an OMG initiative related to extending the modeling approach to the existing software systems and to the concept of reverse engineering [6]. The following section presents the concepts of model, metamodel, transformation, MDA and reverse engineering in more details and presents our study and how to share it in makerspaces

MDA AND REVERSE ENGINEERING
RELATED WORKS
METHODOLOGY
REVERSE ENGINEERING IN MAKERSPACE
CASE STUDY
CONCLUSION
Findings
UML: Unified Modeling Language
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call