The project is about techniques at the intersection of two areas of
software engineering. (1) In order to automate software engineering
we would like to automate the process of producing programs by means
of automatic transformations, thereby computing with programs as we do
with other data. (2) In order to improve the expressivity of
programming languages to the concepts and notations of specific
application domains, we would would like to extend general-purpose
languages with domain-specific abstractions. Combining these
desiderata leads to the need to extend transformations for new
domain-specific abstractions.
The goal of this project is to develop a systematic approach to the
extension of general purpose languages with domain-specific
abstractions, integrating those abstractions in the syntax and
transformations of the programming environment. This requires research
into the following issues:
We approach this goal by analyzing a variety of existing
domain-specific languages and transformations, developing generic
extensibility mechanisms, and validating these first in an `in vitro'
setting and then in a programming environment for the Java
language. The project builds on a solid body of work from the
Stratego/XT project that will allow us to concentrate on the core of
the problem, rather than being distracted by infrastructural issues.
This page lists publications resulting from the TFA project and
some of our previous publications related to the project.
See also the TFA publications in the
.
|
[1] |
M. Bravenboer, E. Dolstra, and E. Visser.
Preventing
Injection Attacks with Syntax Embeddings. A Host and Guest Language
Independent Approach.
Science of Computer Programming, 2009.
(in press)
(doi,
bib).
|
| [2] |
F. Duran, M. Roldán, E. Balland, M. van den Brand, S. Eker, K. T.
Kalleberg, L. C. L. Kats, P.-E. Moreau, R. Schevchenko, and E. Visser.
The Second
Rewrite Engines Competition.
In G. Rosu, editor, Proceedings of the Seventh International
Workshop on Rewriting Logic and its Applications (WRLA 2008), volume 238 of
Electronic Notes in Theoretical Computer Science, pages 281--291.
Elsevier, June 2009.
(doi,
wrla, bib).
|
| [3] |
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).
|
| [4] |
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).
|
| [5] |
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).
|
| [6] |
L. C. L. Kats, A. M. Sloane, and E. Visser.
Decorated Attribute Grammars. Attribute Evaluation Meets Strategic
Programming.
In O. de Moor and M. I. Schwartzbach, editors, International
Conference on Compiler Construction (CC 2009), volume 5501 of Lecture
Notes in Computer Science, pages 142--157, York, United Kingdom, March 2009.
Springer.
(pdf, doi,
bib).
|
| [7] |
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). |
|
[8] |
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).
|
| [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] |
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).
|
| [11] |
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).
|
| [12] |
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).
|
| [13] |
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).
|
| [14] |
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). |
|
[15] |
M. Bravenboer, E. Dolstra, and E. Visser.
Preventing
Injection Attacks with Syntax Embeddings. A Host and Guest Language
Independent Approach.
In J. Lawall, editor, Generative Programming and Component
Engineering (GPCE 2007), pages 3--12, New York, NY, USA, October 2007. ACM.
(doi,
pdf, bib).
|
| [16] |
K. T. Kalleberg and E. Visser.
Spoofax: An Interactive Development Environment for Program Transformation
with Stratego/XT.
In A. Sloane and A. Johnstone, editors, Proceedings of the
Seventh Workshop on Language Descriptions, Tools, and Applications (LDTA
2007), pages 47--50, Braga, Portugal, March 2007.
(pdf, ldta,
bib).
|
| [17] |
L. C. L. Kats.
Supporting Language Extension and Separate Compilation by Mixing Java and
Bytecode.
Master's thesis, Utrecht University, Utrecht, The Netherlands, August
2007.
INF/SCR-07-02
(pdf,
bib). |
|
[18] |
M. Bravenboer, R. de Groot, and E. Visser.
MetaBorg in Action:
Examples of Domain-specific Language Embedding and Assimilation using
Stratego/XT.
In R. Lämmel and J. Saraiva, editors, Proceedings of the
Summer School on Generative and Transformational Techniques in Software
Engineering (GTTSE 2005), volume 4143 of Lecture Notes in Computer
Science, pages 297--311, Braga, Portugal, 2006. Springer Verlag.
(springer,
pdf,
gttse,
tr,
bib).
|
| [19] |
M. Bravenboer, E. Tanter, and E. Visser.
Declarative,
Formal, and Extensible Syntax Definition for AspectJ. A Case for
Scannerless Generalized-LR Parsing.
In W. R. Cook, editor, Proceedings of the 21th ACM SIGPLAN
Conference on Object-Oriented Programing, Systems, Languages, and
Applications (OOPSLA 2006), pages 209--228, Portland, Oregon, USA, October
2006. ACM Press.
(acm,
pdf,
bib).
|
| [20] |
M. Bravenboer, A. van Dam, K. Olmos, and E. Visser.
Program Transformation with Scoped Dynamic Rewrite
Rules.
Fundamenta Informaticae, 69(1--2):123--178, 2006.
(article,
journal,
tr,
pdf,
bib).
|
| [21] |
K. T. Kalleberg and E. Visser.
Combining
Aspect-Oriented and Strategic Programming.
In H. Cirstea and N. Marti-Oliet, editors, Workshop on
Rule-Based Programming (RULE 2005), volume 147 of Electronic Notes in
Theoretical Computer Science, pages 5--30, Nara, Japan, 2006. Elsevier
Science Publishers.
(doi,
entcs,
pdf,
tr,
bib). |
|
[22] |
A. H. Bagge, M. Bravenboer, K. T. Kalleberg, K. Muilwijk, and E. Visser.
Adaptive
Code Reuse by Aspects, Cloning and Renaming.
Technical Report UU-CS-2005-031, Department of Information and
Computing Sciences, Universiteit Utrecht, Utrecht, The Netherlands, August
2005.
(pdf,
tr,
bib).
|
| [23] |
M. Bravenboer, R. Vermaas, J. Vinju, and E. Visser.
Generalized Type-Based Disambiguation of Meta Programs with Concrete Object
Syntax.
In R. Glück and M. Lowry, editors, Proceedings of the Fourth
International Conference on Generative Programming and Component Engineering
(GPCE 2005), volume 3676 of Lecture Notes in Computer Science, pages
157--172, Tallinn, Estonia, September 2005. Springer.
(pdf,
tr,
gpce,
springer,
bib).
|
| [24] |
K. Olmos and E. Visser.
Composing Source-to-Source
Data-Flow Transformations with Rewriting Strategies and Dependent Dynamic
Rewrite Rules.
In R. Bodik, editor, 14th International Conference on Compiler
Construction (CC 2005), volume 3443 of Lecture Notes in Computer
Science, pages 204--220. Springer-Verlag, April 2005.
(doi,
info,
tr,
pdf,
springer,
bib).
|
| [25] |
E. Visser.
Transformations for
Abstractions.
In J. Krinke and G. Antoniol, editors, Fifth IEEE International
Workshop on Source Code Analysis and Manipulation (SCAM 2005), pages 3--12,
Budapest, Hungary, October 2005. IEEE Computer Society Press.
(Keynote paper) (doi,
tr,
pdf,
blog,
wiki, scam,
bib). |
|
[26] |
M. Bravenboer and E. Visser.
Concrete Syntax
for Objects. Domain-Specific Language Embedding and Assimilation without
Restrictions.
In D. C. Schmidt, editor, Proceedings of the 19th ACM SIGPLAN
Conference on Object-Oriented Programing, Systems, Languages, and
Applications (OOPSLA 2004), pages 365--383, Vancouver, Canada, October 2004.
ACM Press.
(doi,
acm,
info,
pdf,
bib).
|
| [27] |
M. Bravenboer and E. Visser.
Reusable and Adaptable Strategies for Generative Programming.
In M. Haveraaen et al., editors, GPCE Software Transformation
Systems Workshop (STSW 2004), Vancouver, Canada, October 2004.
Position paper
(pdf,
sts, bib). |