News Letter 20040108

Trace
Welcome to the trace-announce mailinglist!

LIST: trace-announce@cs.uu.nl

This is a mailinglist for announcements directly related to the TraCE project, e.g., about new papers, software releases, and events. The list is moderated and will have low traffic (a dozen messages a year). If the need arises a trace-discuss list will be set up. For internal use we have the trace-dev@cs.uu.nl list, which you can use to reach the TraCE team.

You were subscribed to this list because we thought you would be interested in following the project. If this is not the case you can unsubscribe at https://mail.cs.uu.nl/mailman/listinfo/trace-announce.

PROJECT: Transparent Configuration Environments

The goal of the TraCE 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, and 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 ideas underlying the project are described in the project proposal [2], two position papers [3,5], and a short piece in the dutch IT magazine Informatie [6].

With the hiring of Martin Bravenboer as PhD student and Merijn de Jonge as postdoc, the team is now at full force. But with Eelco Dolstra as PhD student, and the not-yet-official-team-members, we have already been working on the themes of the project for a while and have several results.

TOOLS: Maak, Nix, XTC, Buildfarm

We are investigating the treatment of variability in different stages of the software deployment cycle and we are building tools to make this treatment more uniform.

  • Maak is a build system integrating build management and package management in a single formalism (a simple functional language). By providing a sufficiently powerful module system and caching facility, Maak can be used to describe dependencies within packages (normally covered by a build system), and between packages (normally covered by package management). In addition, the Maak language makes it easy to describe build variants and incorporates variability information into dependencies. A paper about Maak was presented at SCM-11 [4].

  • Nix is a deployment system with a generic, platform and language independent, discipline for software deployment that allows precise dependency verification; exact identification of component variants; computation of complete closures containing all components on which a component depends; maximal sharing of components between such closures; and concurrent installation of revisions and variants of components. The system is based on the application of principles from memory management to software deployment. A paper with an analysis of the problems of software deployment and the foundations of the Nix memory management discipline has been accepted at ICSE'04 [7]. Another paper describing higher-level policies built on top of the basic store manipulation interface has been submitted for publication.

  • XTC is a transformation tool composition framework developed in the setting of the StrategoXT bundle of transformation tools. The framework supports the (recursive) composition of data-flow systems from basic transformation components.

  • We have set up a buildfarm that we use for regression and portability testing, and for automatic construction of software distributions. We are currently working on a new buildfarm based on Nix, which will make it easier to manage the testing of variants of packages.

PUBLICATIONS

  1. TraCE website. http://www.cs.uu.nl/groups/ST/TraCE

  2. E. Visser (PI). TraCE : Capturing Timeline Variability with Transparent Configuration Environments. Grant proposal for Jacquard program. July 2002.

  3. E. Dolstra, G. Florijn and E. Visser. Timeline Variability: The Variability of Binding Time of Variation Points. In J. van Gurp and Jan Bosch, editors, Workshop on Software Variability Management (SVM'03), Groningen, The Netherlands, February 2003.

  4. E. Dolstra. Integrating Software Construction and Software Deployment. In 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.

  5. E. Dolstra, G. Florijn, M. de Jonge and E. Visser. Capturing Timeline Variability with Transparent Configuration Environments. In International Workshop on Software Variability Management, Portland, Oregon, USA, May 2003.

  6. Eelco Dolstra, Gert Florijn, Merijn de Jonge en Eelco Visser. Beheersen van Variabiliteit met Transparante Configuratieomgevingen. Informatie, Januari 2004. (To appear; in dutch)

  7. E. Dolstra, E. Visser, and M. de Jonge. Imposing a Memory Management Discipline on Software Deployment. 26th International Conference on Software Engineering (ICSE'04). Edinburgh, Scotland. IEEE Computer Society, May 2004. (Accepted for publication)

The TraCE team

Eelco Visser
Martin Bravenboer
Eelco Dolstra
Gert Florijn
Merijn de Jonge