Abstract
Software Configuration Management suffers from a multitude of models for version identification and control. We propose a unified approach based on feature logic. Using feature logic, version sets are the basic units of reasoning, making attribution models and version repositories special cases of a more general scheme. Version sets are identified by feature terms, that is, a boolean expression over (name: value)-features. A system is configured by incrementally narrowing the set of versions until each component is contained in one single version. Feature logic ensures early detection of inconsistencies as well as automatic completion of the configuration thread. We have implemented a tool called ICE, realizing the above approach. As ICE uses the common C preprocessor (CPP) representation, one can select, add, or modify arbitrary version subsets as user-readable entities. ICE deduces features and constraints from existing CPP-managed sources, providing interactive and incremental exploration of the configuration space.
Preview
Unable to display preview. Download preview PDF.
References
Paul Adams and Marvin Solomon. An overview of the capitl software development environment. In Feldman [Fel93], pages 3–28.
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.
Jacky Estublier and Rubby Casallas. The Adele configuration manager. In Tichy [Tic94], pages 99–133.
Stuart Feldman, editor. Proc. 4th International Workshop on Software Configuration Management (Preprint), May 1993.
Bernd Fischer, Matthias Kievernagel, and Gregor Snelting. Deduction-based software component retrieval. In Köhler et al. [KGGW95]. To appear.
Bjorn Gulla, Even-André Karlsson, and Dashing Yeh. Change-oriented version descriptions in EPOS. Software Engineering Journal, 6(6):378–386, November 1991.
Proc. of the International Workshop on Software Version and Configuration Control. Teubner Verlag, Stuttgart, January 1988.
M. Kay. Functional unification grammar: A formalism for machine translation. In Proc. 10th International Joint Conference on Artificial Intelligence, pages 75–78, 1984.
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, August 1995. To appear.
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.
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. IEEE Computer Society Press, May 1994.
David B. Leblang. The CM challenge: Configuration management that works. In Tichy [Tic94], pages 1–37.
Christian Lindig. Concept-based component retrieval. In Köhler et al. [KGGW95], pages 21–25. To appear.
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, October 1988.
Axel Mahler. Variants: Keeping things together and telling them apart. In Tichy [Tic94], pages 39–69.
Bjorn P. Munch, Jens-Otto Larsen, Bjorn Gulla, Reidar Conradi, and Even Andre Karlsson. Uniform versioning: The change-oriented model. In Feldman [Fel93], pages 188–196.
W. Miller and Eugene Myers. A file comparison program. Software—Practice and Experience, 15(11):1025, 1985.
Peter Nicklin. Managing multi-variant software configurations. In Peter H. Feiler, editor, Proc. 3rd International Workshop on Software Configuration Management, pages 53–57. ACM Press, June 1991.
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. Springer-Verlag, April 1989.
Marc J. Rochkind. The source code control system. IEEE Transactions on Software Engineering, SE-1(4):364–370, December 1975.
Gerd Smolka and Hassan Aït-Kaci. Inheritance hierarchies: Semantics and unification. In Claude Kirchner, editor, Unification, pages 489–516. Academic Press, London, 1990.
N. Sarnak, R. Bernstein, and V. Kruskal. Creation and maintenance of multiple versions. In IWSVCC [IWS88]., pages 264–275.
Gregor Snelting, Bernd Fischer, Franz-Josef Grosch, Matthias Kievernagel, and Andreas Zeller. Die inferenzbasierte Softwareentwicklungsumgebung Nora. Informatik—Forschung und Entwicklung, 9(3):116–131, August 1994. In German.
Gregor Snelting, Franz-Josef Grosch, and Ulrik Schroeder. Inference-based support for programming in the large. In A. van Lamsweerde and A. Fugetta, editors, Proc. 3rd European Software Engineering Conference, volume 550 of Lecture Notes in Computer Science, pages 396–408. Springer-Verlag, October 1991.
Gert Smolka. Feature-constrained logics for unification grammars. Journal of Logic Programming, 12:51–87, 1992.
Gregor Snelting. Reengineering of configurations based on mathematical concept analysis. Computer Science Report 95-02, Technical University of Braunschweig, Germany, January 1995. Submitted for publication.
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.
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.
Jürgen F.H. Winkler. Version control in families of large programs. In E. Riddle, editor, Proc. 9th International Conference on Software Engineering, pages 91–105. IEEE Computer Society Press, March 1987.
Andreas Zeller. A unified version set model for configuration management. In G. Kaiser, editor, Proc. of the ACM SIGSOFT '95 Symposium on the Foundations of Software Engineering. ACM Press, October 1995. To appear.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zeller, A., Snelting, G. (1995). Handling version sets through feature logic. In: Schäfer, W., Botella, P. (eds) Software Engineering — ESEC '95. ESEC 1995. Lecture Notes in Computer Science, vol 989. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60406-5_15
Download citation
DOI: https://doi.org/10.1007/3-540-60406-5_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60406-8
Online ISBN: 978-3-540-45552-3
eBook Packages: Springer Book Archive