Doorgaan naar hoofdnavigatie Doorgaan naar zoeken Ga verder naar hoofdinhoud

Advanced Round-Trip Engineering: An Agile Analysis-driven Approach for Dynamic Languages

Ellen Van Paesschen

Onderzoeksoutput: PhD Thesis

Samenvatting

Concepts and processes that are typical for human problem solving, such as approaching a problem from different viewpoints or different levels of abstraction, and iterative and incremental trial and error thought processes underlie the state-of-the-art in software engineering methods. Model-Driven Development (MDD) considers multiple models at different levels of abstraction and transforms them in a semi-automated way, while Agile Development advocates a lightweight, change-oriented development cycle. Agile MDD aims at combining MDD and its voluminous transformations between complex models, with Agile Development that considers a highly iterative and incremental development process. The use of multiple, manipulable views on a system requires that these views are kept consistent. Keeping different evolving artifacts in software engineering consistent is a key factor in Round-Trip Engineering (RTE) as it combines forward and reverse engineering activities. Current RTE tools however implement insufficient agility to support Agile MDD practices. Therefore, we propose a new approach to RTE, that can be supported by the next generation of RTE tools that meet the specific needs of Agile MDD. Advanced Round-Trip Engineering (ARTE) extends traditional RTE by considering a high-level view, by applying an Agile Development cycle, and by integrating run-time objects in the RTE process. In this dissertation, we elaborate on an instance of ARTE, myARTE. First, myARTE includes an analysis view, to which role modelling is added, that is kept consistent with an implementation view. Second, myARTE approaches RTE from an agile, lightweight perspective by continuously realising high-level, incremental transformations between the analysis and the implementation view that represent a common model, in combination with a rapid prototyping phase. Finally, myARTE considers the run-time object generations that are created during rapid prototyping. These object generations are rescued between different iterations of the RTE process and are constrained by multiplicities and dependency relationships in the analysis view. Using the high-level prototype-based programming language Self for the implementation view in myARTE not only allows us to implement the myARTE approach in a concise way, but moreover enables to map the three criteria of myARTE to twelve finer-grained language mechanisms in object-oriented programming languages, that are required for implementing myARTE tools. From a detailed analysis of the presence of building blocks for these language mechanism in object-oriented programming languages, we observe that dynamically-typed prototype-based programming languages with a powerful meta-programming mechanism that combine the high flexibility of "everything is an object" with the efficiency of an explicit mechanism for sharing behaviour, provide basic language constructs for building the required language mechanisms. myARTE employs an EER model in its analysis view, that applies existing EER notations in combination with a role modelling concept that allows to express mutually exclusive roles. A warped hierarchies implementation pattern presents a general solution to implement roles that are modelled in the analysis view. We have implemented a graphical drawing editor that represents this extended model, and that is integrated in the Self programming environment. SelfSync is a proof-of-concept tool that implements our myARTE instance. The SelfSync tool is validated in terms of scal
Originele taal-2English
Toekennende instantie
  • Vrije Universiteit Brussel
Begeleider(s)/adviseur
  • D'Hondt, Maja, Co-Promotor
  • D'Hondt, Theo, Promotor
Plaats van publicatieBrussels
StatusPublished - 2006

Vingerafdruk

Duik in de onderzoeksthema's van 'Advanced Round-Trip Engineering: An Agile Analysis-driven Approach for Dynamic Languages'. Samen vormen ze een unieke vingerafdruk.

Citeer dit