A systematic method for roundtrip engineering of systems, automatic roundtrip engineering (ARE), is presented. It relies on the automatic derivation of inverses for domain transformations. While roundtrip engineering is a well known system engineering method, systematic conditions for its deployment have not yet been formalized, and this is done in the paper. Secondly, ARE is a generic architectural style for different architectural scenarios. To show this, the paper gives a first classification, defining several subclasses of ARE systems: sequenced ARE systems, automatic Model-View-Controller engineering (MVARE), and bidirectional aspect systems (Beavers). Sequenced ARE systems extend the ARE principle to chains of transformations. MVARE systems project a domain into a set of simpler ones, simplifying system understanding. Beaving systems generalize aspect-oriented programming to roundtrip engineering. All ARE classes describe different generic application architectures and have a great potential to simplify the construction of roundtrip engineering tools and applications.
[1]
Ralph Johnson,et al.
design patterns elements of reusable object oriented software
,
2019
.
[2]
Stanley M. Sutton,et al.
N degrees of separation: multi-dimensional separation of concerns
,
1999,
Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).
[3]
William G. Griswold,et al.
Getting started with ASPECTJ
,
2001,
CACM.
[4]
T. B. Dinesh,et al.
An extensible language for the generation of parallel data manipulation andcontrol packages
,
1995
.
[5]
David Garlan,et al.
MELDing data flow and object-oriented programming
,
1987,
OOPSLA 1987.