Skip to topic | Skip to bottom


Home

TFA
TFA.WebHomer1.8 - 12 Dec 2008 - 10:34 - LennartKats

Start of topic | Skip to actions

Transformations for Abstractions

Research Description

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:

  • strategies for the definition of domain abstractions

  • mechanisms for open extensibility of transformations

  • methods and patterns for design of open transformations

  • constraints for independent extensibility of transformations

  • derivation of transformation extensions from definitions of abstractions

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.

Research Team

In collaboration with

Publications

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 department server.

Also available in pdf and bibtex.

2009


[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).

2008


[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).

2007


[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).

2006


[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).

2005


[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).

2004


[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).

2002


[28]  E. Dolstra and E. Visser. Building Interpreters with Rewriting Strategies. In M. van den Brand and R. Laemmel, editors, Workshop on Language Descriptions, Tools and Applications (LDTA 2002), volume 65/3 of Electronic Notes in Theoretical Computer Science, Grenoble, France, April 2002. Elsevier Science Publishers. (doi, pdf, bib).

This bibliography was generated using the Stratego/XT bibtex-tools.
This document was translated from LATEX by HEVEA.




Edit | Attach | Printable | Raw | More topic actions
Revisions: | r1.8 | > | r1.7 | > | r1.6 | Page history | Backlinks
You are here: TFA > WebHome

to top

Copyright © 2003-2017, Software Engineering Research Group, Delft University of Technology, The Netherlands