Skip to main content

Smooth operations with square operators — The version set model in ICE

  • Versioning Models and Experiences
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1167))

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.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. Brian Berliner. CVS II: Parallelizing software development. In Proc. of the 1990 Winter USENIX Conference, Washington, D.C., 1990.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. William Courington. The Network Software Environment. Technical Report FE 197-0, Sun Microsystems, Inc., February 1989.

    Google Scholar 

  8. Jacky Estublier and Rubby Casallas. The Adele configuration manager. In Tichy [41], pages 99–133.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. Peter H. Feiler, editor. Proc. 3rd International Workshop on Software Configuration Management, Trondheim, Norway, June 1991. ACM Press.

    Google Scholar 

  11. Stuart Feldman, editor. Proc. 4th International Workshop on Software Configuration Management (Preprint), Baltimore, Maryland, May 1993.

    Google Scholar 

  12. Stuart I. Feldman. Make—A program for maintaining computer programs. Software—Practice and Experience, 9:255–265, April 1979.

    Google Scholar 

  13. Bernd Fischer, Matthias Kievernagel, and Gregor Snelting. Deduction-based software component retrieval. In Köhler et al. [21], pages 1–5.

    Google Scholar 

  14. Glenn Fowler, David Korn, and Herman Rao. n-DFS: The multiple dimensional file system. In Tichy [41], pages 135–154.

    Google Scholar 

  15. Bjørn Gulla, Even-André Karlsson, and Dashing Yeh. Change-oriented version descriptions in EPOS. Software Engineering Journal, 6(6):378–386, November 1991.

    Google Scholar 

  16. Richard Harter. Version management and change control; systematic approaches to keeping track of source code and support files. Unix World, 6(6), June 1989.

    Google Scholar 

  17. The International Organization for Standardization and The International Electrotechnical Commission. Programming Languages—C, December 1990. ISO/IEC International Standard 9899:1990 (E).

    Google Scholar 

  18. 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.

    Google Scholar 

  19. M. Kay. Functional unification grammar: A formalism for machine translation. In Proc. 10th International Joint Conference on Artificial Intelligence, pages 75–78, Stanford, 1984.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. 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.

    Google Scholar 

  25. David B. Leblang. The CM challenge: Configuration management that works. In Tichy [41], pages 1–37.

    Google Scholar 

  26. 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.

    Google Scholar 

  27. Christian Lindig. Concept-based component retrieval. In Köhler et al. [21], pages 21–25.

    Google Scholar 

  28. Axel Mahler. Variants: Keeping things together and telling them apart. In Tichy [41], pages 39–69.

    Google Scholar 

  29. W. Miller and Eugene Myers. A file comparison program. Software—Practice and Experience, 15(11): 1025, 1985.

    Google Scholar 

  30. 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.

    Google Scholar 

  31. 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.

    Google Scholar 

  32. Peter Nicklin. Managing multi-variant software configurations. In Feiler [10], pages 53–57.

    Google Scholar 

  33. Rubén Prieto-Diaz. Classifying software for reusability. IEEE Software, 4(1), January 1987.

    Google Scholar 

  34. Anthony Rich and Marvin Solomon. A logic-based approach to system modelling. In Feiler [10], pages 84–93.

    Google Scholar 

  35. Marc J. Rochkind. The source code control system. IEEE Transactions on Software Engineering, SE-1(4):364–370, December 1975.

    Google Scholar 

  36. 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.

    Google Scholar 

  37. 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.

    Google Scholar 

  38. Gerd Smolka and Hassan Aït-Kaci. Inheritance hierarchies: Semantics and unification. In Claude Kirchner, editor, Unification, pages 489–516. Academic Press, London, 1990.

    Google Scholar 

  39. Gert Smolka. Feature-constrained logics for unification grammars. Journal of Logic Programming, 12:51–87, 1992.

    Google Scholar 

  40. Walter F. Tichy. RCS—A system for version control. Software—Practice and Experience, 15(7):637–654, July 1985.

    Google Scholar 

  41. Walter F. Tichy, editor. Configuration Management, volume 2 of Trends in Software. John Wiley & Sons, Chichester, England, 1994.

    Google Scholar 

  42. Bernhard Westfechtel. Structure-oriented merging of revisions of software documents. In Feiler [10], pages 86–79.

    Google Scholar 

  43. Douglas Wiebe. Object-oriented software configuration management. In Feldman [11], pages 241–252.

    Google Scholar 

  44. 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.

    Google Scholar 

  45. 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.

    Google Scholar 

  46. 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.

    Google Scholar 

  47. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ian Sommerville

Rights and permissions

Reprints 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

Publish with us

Policies and ethics