Unified Versioning Through Feature Logic
by Andreas Zeller, Gregor Snelting

ACM Transactions on Software Engineering and Methodology, Pages 398-441, Volume 6, Number 4, ACM Press, New York, NY, USA, October 1997.

ISSN: 1049331X

Digital Library via DOI: 10.1145/261640.261654 - Local copy: Download as compressed PostScript file.

Abstract

Software configuration management (SCM) suffers from tight coupling between SCM version-ing models and the imposed SCM processes. In order to adapt SCM tools to SCM processes, rather than vice versa, we propose a unified versioning model, the version set model. Version sets denote versions, components, and configurations by feature terms, that is, Boolean terms over (feature : value)-attributions. Through feature logic, we deduce consistency of abstract configurations as well as features of derived components and describe how features propagate in the SCM process; using feature implications, we integrate change-oriented and version-oriented SCM models. We have implemented the version set model in an SCM system called ICE, for Incremental Configuration Environment. ICE is based on a featured file system (FFS), where version sets are accessed as virtual files and directories. Using the well-known C preprocessor (CPP) representation, users can view and edit multiple versions simultaneously, while only the differences between versions are stored. It turns out that all major SCM models can be realized and integrated efficiently on top of the FFS, demonstrating the flexible and unifying nature of the version set model.

Keywords

BibTeX Entry

@article{zeller-tosem-1997,
    title = "Unified Versioning Through Feature Logic",
    author = "Andreas Zeller and Gregor Snelting",
    year = "1997",
    month = oct,
    address = "New York, NY, USA",
    journal = "ACM Transactions on Software Engineering and Methodology",
    number = "4",
    pages = "398--441",
    publisher = "ACM Press",
    volume = "6",
    ISSN = "1049331X",
    doi = "10.1145/261640.261654",
}

Show all publications of the Software Engineering Chair.