Abstract

In this paper, we present a hybrid-based model transformation, according to the Architecture Driven Modernization (ADM) approach, intended for getting UML (Unified Modeling Language) models from the PHP (Hypertext Preprocessor) code. This latter has been done by offering a tool support for automated generation of UML platform independent models from PHP ASTM (Abstract Syntax Tree Metamodel) representations, which are specific platform models. The model transformation rules are expressed in ATL (Atlas Transformation Language), which is a widely used model transformation language based on the hybrid approach. This work aims to fill the gap between the web-based applications maintenance, especially PHP-based implementations, and the model transformation processes in the ADM context.

Highlights

  • Among the various web development technologies, PHP language (Hypertext Preprocessor) [1] is the most popular server-side scripting language especially suited for web development and dynamic web pages creation

  • We present the different meta-classes that make up the platform specific models (PSMs) and platform independent models (PIMs) meta-models used in our model transformation process

  • Thanks to the Eclipse platform, notably via PDT and EMF-Ecore, we were able to implement a Meta model of the PHP language to be able to manipulate the elements of this language as part of the Architecture Driven Modernization (ADM) approach

Read more

Summary

Introduction

Among the various web development technologies, PHP language (Hypertext Preprocessor) [1] is the most popular server-side scripting language especially suited for web development and dynamic web pages creation. This programming language has become the basis for many web applications thanks to its ease of use and management of the development, deployment and integration lifecycle. In order to support the ever-increasing complexity of user needs, the PHP web-based application maintenance is becoming ever more critical. Reverse engineering is supposed to solve this kind of problem. Classical reverse engineering tasks can be very complex and incur additional costs

Objectives
Methods
Conclusion

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.