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-2 | English |
|---|---|
| Toekennende instantie |
|
| Begeleider(s)/adviseur |
|
| Plaats van publicatie | Brussels |
| Status | Published - 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
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver