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