Transparent Configuration Environments

Center

TraCE : Capturing Timeline Variability with Transparent Configuration Environments

Project proposal for Jacquard Program

Summary

Managing the variability in software systems is rapidly becoming an important factor in software development. Instead of developing and deploying a fixed one-of-a-kind system, it is now common to develop a family of systems whose members differ with respect to functionality or technical facilities offered. Variability is represented conceptually by variation points that identify a set of variants for which a choice or decision can be made at a particular moment--binding time--in the development and deployment cycle of a software system. Depending on the needs of the system's stakeholders, it may be desirable to allow these decisions to be made at several moments in time. This timeline variability is an extra dimension to variability that is often ignored.

Variability decisions are realized via configuration mechanisms, which are closely tied to specific moments in the deployment cycle. As a result, the variability in a system is mostly not orthogonal to the timeline, and often appears to have been designed in an ad-hoc fashion. Providing several moments at which a decision can be made is particularly hard to implement and thus seldom provided. Also, the collection of mechanisms often leads to a complex configuration interface.

The goal of this project is to study the modeling and realization of variability in modern software systems with an emphasis on a more general and generic treatment of timing-issues for variant addition/removal and binding of variation points, the related effects and the opportunities for optimization. The vehicle for the research is the development of a framework for transparent configuration environments which present a uniform interface to a variety of underlying configuration mechanisms, thus closing the current gap between variability at the conceptual and implementation levels. The realization of such environments requires:

  • models of variability that explicitly include timing-issues and can cope with timeline variability;

  • component composition mechanisms that include composition of variability in components;

  • component integration mechanisms that cater for optimization of compositions; and

  • methods and techniques for variability discovery in existing systems.

New in this project is the focus on timeline variability and the integrated treatment of variability spanning several areas including configuration management, language technology, and software reuse. The approach we take is application driven --- drawing inspiration from and validating ideas against existing software --- and tool-oriented --- developing tools to support transparent specification and realization of timeline variability.

More information

Team

  • Dr Eelco Visser (Principal investigator)
  • Ing. Gert Florijn (SERC; consultant)
  • Dr Merijn de Jonge (Postdoc, 2004)
  • Drs Eelco Dolstra (PhD student 2001 - 2005, Postdoc 2005 - 2008)
  • Martin Bravenboer (PhD student 2003 - 2007)

Also available in pdf and bibtex.

2008


[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, 2008. Under construction; Invited for special issue of Generative Programming and Component Engineering (GPCE'07) (bib).

[2]  M. Bravenboer, K. T. Kalleberg, R. Vermaas, and E. Visser. Stratego/XT 0.17. A Language and Toolset for Program Transformation. Science of Computer Programming, 2008. (To appear) (bib).

[3]  M. Bravenboer and E. Visser. Designing Syntax Embeddings and Assimilations for Language Libraries. In MoDELS'07 Satellite Events Proceedings, Lecture Notes in Computer Science, Nashville, USA, 2008. Springer. Selected paper from the Workshop on Language Engineering (ATEM'07) (bib).

[4]  E. Visser. WebDSL: A Case Study in Domain-Specific Language Engineering. In Generative and Transformational Techniques in Software Engineering (GTTSE 2007), Lecture Notes in Computer Science. Springer, 2008. Tutorial for International Summer School GTTSE 2007; to appear (bib).

2007


[5]  E. Bouwers, M. Bravenboer, and E. Visser. Grammar Engineering Support for Precedence Rule Recovery and Compatibility Checking. In A. Sloane and A. Johnstone, editors, Seventh Workshop on Language Descriptions, Tools, and Applications (LDTA'07), pages 82--96, Braga, Portugal, March 2007. (pdf, bib).

[6]  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'07), pages 3--12, New York, NY, USA, October 2007. ACM. (doi, pdf, bib).

[7]  M. Bravenboer and E. Visser. Designing Syntax Embeddings and Assimilations for Language Libraries. In 4th International Workshop on Software Language Engineering (ATEM'07), volume 4/2007 of Mainzer InformatikBerichte? , pages 100--116, Nashville, USA, 2007. Johannes Gutenberg Universität. (bib).

[8]  E. Visser. Domain-Specific Language Engineering. In R. Lämmel, J. Saraiva, and J. Visser, editors, Generative and Transformational Techniques in Software Engineering (GTTSE 2007), pages 265--318, Braga, Portugal, July 2007. Universidade do Minho. International Summer School GTTSE 2007, Pre-Proceedings (pdf, blog, bib).

2006


[9]  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'05), volume 4143 of Lecture Notes in Computer Science, pages 297--311, Braga, Portugal, 2006. Springer Verlag. (springer, pdf, gttse, tr, bib).

[10]  M. Bravenboer, K. T. Kalleberg, R. Vermaas, and E. Visser. Stratego/XT 0.16. Components for Transformation Systems. In ACM SIGPLAN 2006 Workshop on Partial Evaluation and Program Manipulation (PEPM'06), Charleston, South Carolina, January 2006. ACM SIGPLAN. (pdf, tr, acm, bib).

[11]  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'06), pages 209--228, Portland, Oregon, USA, October 2006. ACM Press. (acm, bib).

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

[13]  E. Dolstra. The Purely Functional Software Deployment Model. PhD? thesis, Faculty of Science, Utrecht University, Utrecht, The Netherlands, January 2006. (bib).

[14]  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'05), volume 147 of Electronic Notes in Theoretical Computer Science, pages 5--30, Nara, Japan, 2006. Elsevier Science Publishers. (doi, entcs, pdf, tr, bib).

2005


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

[16]  M. Bravenboer, K. T. Kalleberg, R. Vermaas, and E. Visser. Stratego/XT Tutorial, Examples, and Reference Manual for Stratego/XT 0.16. Department of Information and Computing Sciences, Universiteit Utrecht, Utrecht, The Netherlands, November 2005. (html, bib).

[17]  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'05), volume 3676 of Lecture Notes in Computer Science, pages 157--172, Tallinn, Estonia, September 2005. Springer. (pdf, tr, gpce, springer, bib).

[18]  R. de Groot. Design and Implementation of Embedded Domain-Specific Languages. Master's thesis, Utrecht University, Utrecht, The Netherlands, September 2005. INF/SCR-05-10 (pdf, bib).

[19]  M. de Jonge. Build-Level Components. IEEE Transactions on Software Engineering, 31(7):588--600, July 2005. (ieee, wiki, bib).

[20]  E. Dolstra. Secure Sharing Between Untrusted Users in a Transparent Source/Binary Deployment Model. In 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), pages 154--163. ACM Press, Nov. 2005. (acm, pdf, ase, bib).

[21]  E. Dolstra. Efficient Upgrading in a Purely Functional Component Deployment Model. In Eighth International SIGSOFT Symposium on Component-based Software Engineering (CBSE 2005), volume 3489 of Lecture Notes in Computer Science, pages 219--234, St. Louis, Missouri, USA, May 2005. Springer-Verlag. (pdf, bib).

[22]  E. Dolstra, M. Bravenboer, and E. Visser. Service Configuration Management. In J. E. James Whitehead and A. P. Dahlqvist, editors, 12th International Workshop on Software Configuration Management (SCM-12), pages 83--98, Lisbon, Portugal, September 2005. ACM. (pdf, tr, scm, bib).

[23]  N. Janssen. Transformation Tool Composition. Master's thesis, Utrecht University, Utrecht, The Netherlands, March 2005. INF/SCR-04-64 (pdf, 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'05), volume 3443 of Lecture Notes in Computer Science, pages 204--220. Springer-Verlag, April 2005. (doi, info, tr, pdf, springer, bib).

[25]  E. Visser. A Survey of Strategies in Rule-Based Program Transformation Systems. Journal of Symbolic Computation, 40(1):831--873, 2005. Special issue on Reduction Strategies in Rewriting and Programming (doi, jsc, info, tr, pdf, bib).

[26]  E. Visser. Transformations for Abstractions. In J. Krinke and G. Antoniol, editors, Fifth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'05), pages 3--12, Budapest, Hungary, October 2005. IEEE Computer Society Press. (Keynote paper) (tr, pdf, blog, wiki, scam, bib).

2004


[27]  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'04), pages 365--383, Vancouver, Canada, October 2004. ACM Press. (acm, info, pdf, bib).

[28]  M. Bravenboer and E. Visser. Reusable and Adaptable Strategies for Generative Programming. In M. Haveraaen et al., editors, GPCE Software Transformation Systems Workshop (STSW'04), Vancouver, Canada, October 2004. Position paper (pdf, sts, bib).

[29]  M. de Jonge. Decoupling Source Trees into Build-Level Components. In J. Bosch and C. Krueger, editors, Proceedings: Eighth International Conference on Software Reuse, volume 3107 of LNCS, pages 215--231. Springer-Verlag, July 2004. (bib).

[30]  M. de Jonge. Multi-level Component Composition. In J. Bosch, editor, 2nd Groningen Workshop on Software Variability Modeling (SVM'04), number 2004-7-01. Reseach Institute of Computer Science and Mathematics, University of Groningen, Dec. 2004. (pdf, bib).

[31]  E. Dolstra, M. de Jonge, and E. Visser. Nix: A Safe and Policy-Free System for Software Deployment. In L. Damon, editor, 18th Large Installation System Administration Conference (LISA '04), pages 79--92, Atlanta, Georgia, USA, November 2004. USENIX. (pdf, lisa, bib).

[32]  E. Dolstra, G. Florijn, M. de Jonge, and E. Visser. Transparantie in variabiliteit: Heldere keuzes in een eenduidige configuratieomgeving. Informatie, 46(1):18--21, Feb. 2004. (pdf, bib).

[33]  E. Dolstra, E. Visser, and M. de Jonge. Imposing a Memory Management Discipline on Software Deployment. In J. Estublier and D. Rosenblum, editors, 26th International Conference on Software Engineering (ICSE'04), pages 583--592, Edinburgh, Scotland, May 2004. IEEE Computer Society. (info, pdf, bib).

2003


[34]  E. Dolstra. Integrating Software Construction and Software Deployment. In B. Westfechtel and A. van der Hoek, editors, 11th International Workshop on Software Configuration Management (SCM-11), volume 2649 of Lecture Notes in Computer Science, pages 102--117, Portland, Oregon, USA, May 2003. Springer-Verlag. (springer, bib).

[35]  E. Dolstra, G. Florijn, M. de Jonge, and E. Visser. Capturing Timeline Variability with Transparent Configuration Environments. In J. Bosch and P. Knauber, editors, IEEE Workshop on Software Variability Management (SVM'03), Portland, Oregon, May 2003. IEEE. (pdf, info, bib).

[36]  E. Dolstra, G. Florijn, and E. Visser. Timeline Variability: The Variability of Binding Time of Variation Points. In Workshop on Software Variability Modeling (SVM'03), number IWI preprint 2003-7-01, Groningen, The Netherlands, 2003. Reseach Institute of Computer Science and Mathematics, University of Groningen. (info, pdf, bib).

2002


[37]  E. Visser. TraCE: Capturing Timeline Variability with Transparent Configuration Environments. NWO/Jacquard grant proposal, 2002. (pdf, bib).

2001


[38]  M. de Jonge, E. Visser, and J. Visser. Collaborative Software Development. Technical Report SEN-R0113, CWI, Amsterdam, The Netherlands, 2001. (psgz, bib).

[39]  G. Florijn and E. Visser. Models and Techniques for Variability Management. SERC grant for a PhD? position, 2001. (bib).

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

Failed to include URL http://www.cs.uu.nl/~visser/trace/trace-by-year.html