An NWO/JACQUARD project.
The promise of model-driven engineering (MDE) is that the development
and maintenance effort can be reduced by working at the model instead
of the code level. Models define what is variable in a system, and
code generators produce the functionality that is common in the
application domain.
The problem with model-driven engineering is that it can lead to a
lock-in in the abstractions and generator technology adopted at
project initiation. Software systems need to evolve, and systems
built using model-driven approaches are no exception. What complicates
model-driven engineering is that it requires multiple dimensions of
evolution. In regular evolution, the modeling language is used to
make the changes. In meta-model evolution, changes are required to
the modeling notation. In platform evolution, the code generators and
application framework change to reflect new requirements on the target
platform. Finally, in abstraction evolution, new modeling languages
are added to the set of (modeling) languages to reflect increased
understanding of a technical or business domain. While MDE has been
optimized for regular evolution, presently little or no support exists
for metamodel, platform and abstraction evolution. It is this gap
that this project proposes to address.
The first fundamental premise of this proposal is that evolution
should be a continuous process. Software development is a continuous
search for recurring patterns, which can be captured using
domain-specific modeling languages. After developing a number of
systems using a particular meta-model, new patterns may be recognized
that can be captured in a higher-level or richer meta-model. The
second premise is that reengineering of legacy systems to the
model-driven paradigm should be a special case of this continuous
evolution, and should be performed incrementally.
The goal of this project is to develop a systematic approach to
model-driven software evolution. This approach includes methods,
techniques, and underlying tool support. We will develop a prototype
programming environment that assists software engineers with the
introduction, development, and maintenance of models and
domain-specific languages.
This page lists publications resulting from the MoDSE project and
some of our previous publications related to the project.
See also the MoDSE publications in the
.
|
[1] |
M. Bravenboer and E. Visser.
Parse Table
Composition. Separate Compilation and Binary Extensibility of Grammars.
In D. Gasevic and E. van Wyk, editors, Software Language
Engineering (SLE 2008), volume 5452 of Lecture Notes in Computer
Science, pages 74--94, Heidelberg, March 2009. Springer.
(doi,
pdf, sle,
bib).
|
| [2] |
Z. Hemel, D. M. Groenewegen, L. C. L. Kats, and E. Visser.
Code Generation by Model Transformation. A Case
Study in Transformation Modularity.
Software and Systems Modeling, 2009.
(accepted modulo minor revision) (bib).
|
| [3] |
L. C. L. Kats, M. de Jonge, E. Nilsson-Nyman, and E. Visser.
Providing Rapid Feedback
in Generated Modular Language Environments. Adding Error Recovery to
Scannerless Generalized-LR Parsing.
In G. T. Leavens, editor, Proceedings of the 24th ACM SIGPLAN
Conference on Object-Oriented Programing, Systems, Languages, and
Applications (OOPSLA 2009), ACM SIGPLAN Notices, New York, NY, USA, October
2009. ACM Press.
(to appear) (oopsla,
bib).
|
| [4] |
L. C. L. Kats, K. T. Kalleberg, and E. Visser.
Domain-Specific Languages for Composable Editor
Plugins.
In T. Ekman and J. Vinju, editors, Proceedings of the Ninth
Workshop on Language Descriptions, Tools, and Applications (LDTA 2009),
Electronic Notes in Theoretical Computer Science. Elsevier Science
Publishers, April 2009.
(bib).
|
| [5] |
A. M. Sloane, L. C. L. Kats, and E. Visser.
A Pure Object-Oriented Embedding of Attribute
Grammars.
In T. Ekman and J. Vinju, editors, Proceedings of the Ninth
Workshop on Language Descriptions, Tools, and Applications (LDTA 2009),
Electronic Notes in Theoretical Computer Science. Elsevier Science
Publishers, April 2009.
(to appear) (bib). |
|
[6] |
M. Bravenboer and E. Visser.
Designing
Syntax Embeddings and Assimilations for Language Libraries.
In H. Giese, editor, Models in Software Engineering. Workshops
and Symposia at MoDELS 2007, volume 5002 of Lecture Notes in Computer
Science, pages 34--46, Heidelberg, 2008. Springer.
Selected paper from the Workshop on Language Engineering (ATEM 2007)
(doi,
pdf, bib).
|
| [7] |
G. de Geest, S. D. Vermolen, A. van Deursen, and E. Visser.
Generating Version Convertors for Domain-Specific Languages.
In A. Zaidman, M. D. Penta, and A. Hassan, editors, Proceedings
15th Working Conference on Reverse Engineering (WCRE 2008), pages 197--201.
IEEE Press, October 2008.
(wcre,
bib).
|
| [8] |
D. M. Groenewegen, Z. Hemel, L. C. L. Kats, and E. Visser.
WebDSL: A
Domain-Specific Language for Dynamic Web Applications.
In N. Mielke and O. Zimmermann, editors, Companion to the 23rd
ACM SIGPLAN Conference on Object-Oriented Programing, Systems, Languages, and
Applications (OOPSLA 2008), pages 779--780, New York, NY, USA, October 2008.
ACM.
(poster) (doi,
oopsla, bib).
|
| [9] |
D. M. Groenewegen, Z. Hemel, L. C. L. Kats, and E. Visser.
When Frameworks Let
You Down. Platform-Imposed Constraints on the Design and Evolution of
Domain-Specific Languages.
In J. Gray, J. Sprinkle, J.-P. Tolvanen, and M. Rossi, editors, Proceedings of the 8th OOPSLA Workshop on Domain Specific Modelling
(DSM'08), pages 64--66, Nashville, Tennessee, USA, October 2008.
(dsm,
bib).
|
| [10] |
D. M. Groenewegen and E. Visser.
Declarative Access
Control for WebDSL: Combining Language Integration and Separation of
Concerns.
In D. Schwabe and F. Curbera, editors, Eighth International
Conference on Web Engineering (ICWE 2008), pages 175--188. IEEE CS Press,
July 2008.
best paper award (doi,
pdf, icwe,
bib).
|
| [11] |
Z. Hemel, L. C. L. Kats, and E. Visser.
Code
Generation by Model Transformation. A Case Study in Transformation
Modularity.
In J. Gray, A. Pierantonio, and A. Vallecillo, editors, Theory
and Practice of Model Transformations. First International Conference on
Model Transformation (ICMT 2008), volume 5063 of Lecture Notes in
Computer Science, pages 183--198, Heidelberg, July 2008. Springer.
(doi,
pdf, icmt,
bib).
|
| [12] |
Z. Hemel, R. Verhaaf, and E. Visser.
WebWorkFlow:
An Object-Oriented Workflow Modeling Language for Web Applications.
In K. Czarnecki, I. Ober, J.-M. Bruel, A. Uhl, and M. Völter,
editors, Proceedings of the 11th International Conference on Model
Driven Engineering Languages and Systems (MODELS 2008), volume 5301 of Lecture Notes in Computer Science, pages 113--127, Heidelberg, September
2008. Springer.
(doi,
pdf, models,
bib).
|
| [13] |
K. T. Kalleberg and E. Visser.
Fusing a
Transformation Language with an Open Compiler.
In A. Sloane and A. Johnstone, editors, Proceedings of the
Seventh Workshop on Language Descriptions, Tools, and Applications (LDTA
2007), volume 203 of Electronic Notes in Theoretical Computer Science,
pages 21--36. Elsevier, April 2008.
(doi,
pdf, ldta,
bib).
|
| [14] |
L. C. L. Kats, M. Bravenboer, and E. Visser.
Mixing Source and
Bytecode. A Case for Compilation by Normalization.
In G. Kiczales, editor, Proceedings of the 23rd ACM SIGPLAN
Conference on Object-Oriented Programing, Systems, Languages, and
Applications (OOPSLA 2008), pages 91--108, New York, NY, USA, October 2008.
ACM.
(doi,
pdf, oopsla,
bib).
|
| [15] |
L. C. L. Kats, K. T. Kalleberg, and E. Visser.
Generating Editors for Embedded Languages. Integrating SGLR into IMP.
In A. Johnstone and J. Vinju, editors, Proceedings of the Eighth
Workshop on Language Descriptions, Tools, and Applications (LDTA 2008),
Budapest, Hungary, April 2008.
(pdf, ldta,
bib).
|
| [16] |
S. D. Vermolen and E. Visser.
Heterogeneous
Coupled Evolution of Software Languages.
In K. Czarnecki, I. Ober, J.-M. Bruel, A. Uhl, and M. Völter,
editors, Proceedings of the 11th International Conference on Model
Driven Engineering Languages and Systems (MODELS 2008), volume 5301 of Lecture Notes in Computer Science, pages 630--644, Heidelberg, September
2008. Springer.
(doi,
models, bib).
|
| [17] |
E. Visser.
WebDSL: A
Case Study in Domain-Specific Language Engineering.
In R. Lämmel, J. Visser, and J. Saraiva, editors, International Summer School on Generative and Transformational Techniques in
Software Engineering (GTTSE 2007), volume 5235 of Lecture Notes in
Computer Science, pages 291--373, Heidelberg, October 2008. Springer.
(doi,
pdf,
blog, bib). |