Abstract
Implementing software configuration management (SCM) in an organization raises various integration problems. We present the Incremental Configuration Environment (ICE), a novel SCM system providing smooth integration with both the software process and the development environment. ICE is based on the version set model, where versions, components, and configurations are grouped into sets according to their features, using feature logic as a formal base to denote sets and operations and to deduce consistency. Version sets generalize well-known SCM concepts such as components, repositories, workspaces, or configurations and allow for flexibility in combining these concepts. For integration in software development environments, ICE provides a featured file system (FFS), where version sets are represented as files and directories. In the FFS, arbitrary programs can incrementally access and explore version sets. Using the well-known C preprocessor (CPP) representation, users can view and edit multiple versions simultaneously, while still only the differences between version sets are stored. Facilities for multi-version merging or deductive program construction care for effective work coordination and automatic reuse of derived objects.
This work is funded by the Deutsche Forschungsgemeinschaft, grants Sn11‐2 and Sn11–2.
Preview
Unable to display preview. Download preview PDF.
References
Paul Adams and Marvin Solomon. An overview of the CAPITL software development environment. In Jacky Estublier, editor, Software Configuration Management: selected papers /ICSE SCM-4 and SCM-5 workshops, number 1005 in Lecture Notes in Computer Science, pages 1–34, Seattle, Washington, October 1995. Springer-Verlag.
Brian Berliner. CVS II: Parallelizing software development. In Proc. of the 1990 Winter USENIX Conference, Washington, D.C., 1990.
David Binkley, Susan Horwitz, and Thoas Reps. Program integration for languages with procedure calls. ACM Transactions on Software Engineering and Methodology, 4(1):3–35, January 1995.
Ronald. J. Brachman and H. J. Levesque. The tractability of subsumption in frame-based description languages. In Proc. of the 4th National Conference of the American Association for Artificial Intelligence, pages 34–37, Austin, Texas, August 1984.
A. Brown, S. Dart, P. Feiler, and K. Wallnau. The state of automated configuration management. Technical Report CMU/SEI-ATR-91, Software Engineering Institure, Carnegie Mellon University, Pittsburgh, PA, September 1991.
Geoffrey M. Clemm. The Odin specification language. In Jürgen F. H. Winkler, editor, Proc. of the International Workshop on Software Version and Configuration Control pages 145–158, Grassau, January 1988. Teubner Verlag, Stuttgart.
William Courington. The Network Software Environment. Technical Report FE 197-0, Sun Microsystems, Inc., February 1989.
Jacky Estublier and Rubby Casallas. The Adele configuration manager. In Tichy [41], pages 99–133.
Peter H. Feiler. Configuration management models in commercial environments. Technical Report CMU/SEI-91-TR-7, Software Engineering Institure, Carnegie Mellon University, Pittsburgh, PA, March 1991.
Peter H. Feiler, editor. Proc. 3rd International Workshop on Software Configuration Management, Trondheim, Norway, June 1991. ACM Press.
Stuart Feldman, editor. Proc. 4th International Workshop on Software Configuration Management (Preprint), Baltimore, Maryland, May 1993.
Stuart I. Feldman. Make—A program for maintaining computer programs. Software—Practice and Experience, 9:255–265, April 1979.
Bernd Fischer, Matthias Kievernagel, and Gregor Snelting. Deduction-based software component retrieval. In Köhler et al. [21], pages 1–5.
Glenn Fowler, David Korn, and Herman Rao. n-DFS: The multiple dimensional file system. In Tichy [41], pages 135–154.
Bjørn Gulla, Even-André Karlsson, and Dashing Yeh. Change-oriented version descriptions in EPOS. Software Engineering Journal, 6(6):378–386, November 1991.
Richard Harter. Version management and change control; systematic approaches to keeping track of source code and support files. Unix World, 6(6), June 1989.
The International Organization for Standardization and The International Electrotechnical Commission. Programming Languages—C, December 1990. ISO/IEC International Standard 9899:1990 (E).
R. T. Kasper and W. C. Rounds. A logical semantics for feature structures. In Proc. of the 24th Annual Meeting of the ACL, pages 257–265, Columbia University, New York, 1986.
M. Kay. Functional unification grammar: A formalism for machine translation. In Proc. 10th International Joint Conference on Artificial Intelligence, pages 75–78, Stanford, 1984.
Thilo Kielmann. Using PROLOG for software system maintenance. In Proc. of the First International Conference on the Practical Application of PROLOG, London, UK, April 1992.
Jana Köhler, Fausto Giunchiglia, Cordell Green, and Christoph Walther, editors. Working Notes of the IJCAI-95 Workshop: Formal Approaches to the Reuse of Plans, Proofs, and Programs, Montréal, August 1995.
Maren Krone and Gregor Snelting. On the inference of configuration structures from source code. In Proc. 16th International Conference on Software Engineering, pages 49–57, Sorrento, Italy, May 1994. IEEE Computer Society Press.
M. Lacroix and P. Lavency. Preferences: Putting more knowledge into queries. In Peter M. Stocker and William Kent, editors, Proc. of the 13th International Conference on Very Large Data Bases, pages 217–225, Brighton, 1987.
Andreas Lampen and Axel Mahler. An object base for attributed software objects. In Proc. of the Fall '88 EUUG Conference, pages 95–105, Cascais, October 1988.
David B. Leblang. The CM challenge: Configuration management that works. In Tichy [41], pages 1–37.
Anund Lie, Reidar Conradi, Tor M. Didriksen, Even-André Karlsson, Svein O. Hallsteinsen, and Per Holager. Change oriented versioning in a software engineering database. In Walter F. Tichy, editor, Proc. 2nd International Workshop on Software Configuration Management, pages 56–65, Princeton, New Jersey, October 1989. ACM Press.
Christian Lindig. Concept-based component retrieval. In Köhler et al. [21], pages 21–25.
Axel Mahler. Variants: Keeping things together and telling them apart. In Tichy [41], pages 39–69.
W. Miller and Eugene Myers. A file comparison program. Software—Practice and Experience, 15(11): 1025, 1985.
Bjørn P. Munch, Jens-Otto Larsen, Bjørn Gulla, Reidar Conradi, and Even Andre Karlsson. Uniform versioning: The change-oriented model. In Feldman [11], pages 188–196.
B. Nebel and G. Smolka. Representation and reasoning with attributive descriptions. In K. H. Bläsius, U. Hedstück, and C.-R. Rollinger, editors, Sorts and Types in Artificial Intelligence, volume 256 of Lecture Notes in Artificial Intelligence, pages 112–139, Eringerfeld, April 1989. Springer-Verlag.
Peter Nicklin. Managing multi-variant software configurations. In Feiler [10], pages 53–57.
Rubén Prieto-Diaz. Classifying software for reusability. IEEE Software, 4(1), January 1987.
Anthony Rich and Marvin Solomon. A logic-based approach to system modelling. In Feiler [10], pages 84–93.
Marc J. Rochkind. The source code control system. IEEE Transactions on Software Engineering, SE-1(4):364–370, December 1975.
R. Sandberg, D. Goldberg, S. Kleiman, D. Walsh, and B. Lyon. Design and implementation of the Sun Network filesystem. In Proc. of the Summer 1985 USENIX conference, pages 119–130, Portland, Oregon, June 1985.
S. Shieber, H. Uszkorzeit, F. Pereira, J. Robinson, and M. Tyson. The formalism and implementation of PATR-II. In J. Bresnan, editor, Research on Interactive Acquisition and Use of Knowledge. SRI International, 1983.
Gerd Smolka and Hassan Aït-Kaci. Inheritance hierarchies: Semantics and unification. In Claude Kirchner, editor, Unification, pages 489–516. Academic Press, London, 1990.
Gert Smolka. Feature-constrained logics for unification grammars. Journal of Logic Programming, 12:51–87, 1992.
Walter F. Tichy. RCS—A system for version control. Software—Practice and Experience, 15(7):637–654, July 1985.
Walter F. Tichy, editor. Configuration Management, volume 2 of Trends in Software. John Wiley & Sons, Chichester, England, 1994.
Bernhard Westfechtel. Structure-oriented merging of revisions of software documents. In Feiler [10], pages 86–79.
Douglas Wiebe. Object-oriented software configuration management. In Feldman [11], pages 241–252.
Wuu Yang, Susan Horwitz, and Thomas Reps. A program integration algorithm that accommodates semantics-preserving transformations. ACM Transactions on Software Engineering and Methodology, 1(3):310–354, July 1992.
Andreas Zeller. A unified version model for configuration management. In Gail Kaiser, editor, Proc. 3rd ACM SIGSOFT Symposium on the Foundations of Software Engineering, volume 20 (4) of ACM Software Engineering Notes, pages 151–160, Washington, DC, October 1995. ACM Press.
Andreas Zeller and Gregor Snelting. Handling version sets through feature logic. In Wilhelm Schäfer and Pere Botella, editors, Proc. 5th European Software Engineering Conference, volume 989 of Lecture Notes in Computer Science, pages 191–204, Sitges, Spain, September 1995. Springer-Verlag.
Andreas Zeller and Gregor Snelting. Unified versioning through feature logic. Computer Science Report 96-01, Technical University of Braunschweig, Germany, February 1996. Submitted for publication.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zeller, A. (1996). Smooth operations with square operators — The version set model in ICE. In: Sommerville, I. (eds) Software Configuration Management. SCM 1996. Lecture Notes in Computer Science, vol 1167. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0023078
Download citation
DOI: https://doi.org/10.1007/BFb0023078
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61964-2
Online ISBN: 978-3-540-49569-7
eBook Packages: Springer Book Archive