This Article 
 Bibliographic References 
 Add to: 
A Testbed for Configuration Management Policy Programming
January 2002 (vol. 28 no. 1)
pp. 79-99

Even though the number and variety of available configuration management systems has grown rapidly in the past few years, the need for new configuration management systems still remains. Driving this need are the emergence of situations requiring highly specialized solutions, the demand for management of artifacts other than traditional source code and the exploration of entirely new research questions in configuration management. Complicating the picture is the trend toward organizational structures that involve personnel working at physically separate sites. We have developed a testbed to support the rapid development of configuration management systems. The testbed separates configuration management repositories (i.e., the stores for versions of artifacts) from configuration management policies (i.e., the procedures, according to which the versions are manipulated) by providing a generic model of a distributed repository and an associated programmatic interface. Specific configuration management policies are programmed as unique extensions to the generic interface, while the underlying distributed repository is reused across different policies. In this paper, we describe the repository model and its interface and present our experience in using a prototype of the testbed, called NUCM, to implement a variety of configuration management systems.

[1] R. Agrawal, S. Buroff, N.H. Gehani, and D. Shasha, “Object Versioning in ODE,” Proc. Seventh Int'l Conf. Data Eng., pp. 446–455, Apr. 1991.
[2] L. Allen, G. Fernandez, K. Kane, D. Leblang, D. Minard, and J. Posner, “ClearCase MultiSite: Supporting Geographically-Distributed Software Development,” Software Configuration Management: Int'l Conf. Software Eng. SCM-4 and SCM-5 Workshops Selected Papers, pp. 194-214, 1995.
[3] Atria Software, ClearCase Concepts Manual. Natick, Mass., 1992.
[4] D. Belanger, D. Korn, and H. Rao, “Infrastructure for Wide-Area Software Development,” Proc. Sixth Int'l Workshop Software Configuration Management, pp. 154-165 1996.
[5] Bell Labs, Lucent Tech nologies, Sablime v5.0 User's Reference Manual. Murray Hill, New Jersey, 1997.
[6] L. Bendix, P.N. Larsen, A.I. Nielsen, J.L.S. Petersen, “CoED—A Tool for Versioning of Hierarchical Documents,” Proc. Eighth Int'l Symp. System Configuration Management, 1998.
[7] B. Berliner, “CVS II: Parallelizing Software Development,” Proc. 1990 Winter USENIX Conference, pp. 174-187, 1990.
[8] C. Burrows and I. Wesley, Ovum Evaluates Configuration Management. Burlington, Mass.: Ovum Ltd., 1998.
[9] A. Carzaniga, DVS 1.2 Manual. Dept. of Computer Science, Univ. of Colorado, Boulder, June 1998.
[10] J.X. Ci, M. Poonawala, and W.-T. Tsai, “ScmEngine: A Distributed Software Configuration Management Environment on X.500,” Proc. Seventh Int'l Workshop Software Configuration Management, pp. 108-127, 1997.
[11] P.C. Clements and N. Weiderman, “Report on the Second International Workshop on Development and Evolution of Software Architectures for Product Families,” Technical Report SEI-98-SR-003, Software Eng. Inst., Pittsburgh, Penn., May 1998.
[12] Continuus Software Corporation, Continuus Task Reference. Irvine, Calif., 1994.
[13] Continuus Software Corporation, Distributed Code Management for Team Engineering. Irvine, Calif., 1998.
[14] S. Dart, Concepts in Configuration Management Systems Proc. Third Int'l Software Configuration Management Workshop, pp. 1-18, June 1991.
[15] S. Dart, “Not All Tools are Created Equal,” Application Development Trends, vol. 3, no. 10, pp. 39–54, Oct. 1996.
[16] A. Dix, T. Rodden, and I. Sommerville, “Modeling the Sharing of Versions,” Proc. Sixth Int'l Workshop Software Configuration Management, pp. 282-290, 1996.
[17] J. Estublier and R. Casallas, “The Adele Configuration Manager,” Configuration Management, Trends in Software, W. Tichy, ed., no. 2, pp. 99–134, 1994.
[18] P.H. Feiler, “Configuration Management Models in Commercial Environments,” Technical Report SEI-91-TR-07, Software Eng. Inst., Pittsburgh, Penn., Apr. 1991.
[19] P.H. Feiler and G. Downey, “Transaction-Oriented Configuration Management: A Case Study,” Technical Report CMU/SEI-90-TR-23, Software Eng. Inst., Pittsburgh, Penn., 1990.
[20] R. Fielding, J. Gettys, J.C. Mogul, H. Frystyk, L. Masinter, P. Leach, and T. Berners-Lee, “Hypertext Transfer Protocol–HTTP/1.1,” Internet Proposed Standard RFC 2068, Jan. 1998.
[21] P. Fröhlich and W. Nejdl, “WebRC: Configuration Management for a Cooperation Tool,” Proc. Seventh Int'l Workshop Software Configuration Management, pp. 175-185, 1997.
[22] Y.Y. Goland, E.J. Whitehead, Jr., A. Faizi, S. Carter, and D. Jensen, “HTTP Extensions for Distributed Authoring—WEBDAV,” Internet Proposed Standard RFC 2518, Feb. 1999.
[23] G.T. Heineman, “A Transaction Manager Component for Cooperative Transaction Models,” PhD thesis, Columbia Univ., Dept. of Computer Science, New York, June 1996.
[24] T. Hung and P.F. Kunz, “UNIX Code Management and Distribution,” Technical Report SLAC-PUB-5923, Stanford Linear Accelerator Center, Stanford, Calif., Sept. 1992.
[25] J.J. Hunt, F. Lamers, J. Reuter, and W.F. Tichy, “Distributed Configuration Management via Java and the World Wide Web,” Proc. Seventh Int'l Workshop Software Configuration Management, pp. 161-174, 1997.
[26] J.J. Hunt and W.F. Tichy, RCE API Introduction and Reference Manual. Germany: Xcc Software, 1997.
[27] J.J. Hunt, K.-P. Vo, and W.F. Tichy, “Delta Algorithms: An Empirical Analysis,” ACM Trans. Software Eng. and Methodology, vol. 7, no. 2, pp. 192–214, Apr. 1998.
[28] INTERSOLV, PVCS VM SiteSync and Geographically Distributed Development. Rockville, Md., 1998.
[29] R. Leung, “Versioning on Legal Applications Using Hypertext,” Proc. Workshop Versioning in Hypertext Systems, Sept. 1994.
[30] Y.-J. Lin and S.P. Reiss, “Configuration Management with Logical Structures,” Proc. 18th Int'l Conf. Software Eng., pp. 298–307, Mar. 1996.
[31] A. Mahler and A. Lampen, “An Integrated Toolset for Engineering Software Configurations,” Proc. ACM SOFSOFT/SIGPLAN Software Eng. Symp. Practical Software Eng. Environments, pp. 191–200, Nov. 1988.
[32] Microsoft Corporation, Managing Projects with Visual SourceSafe, Redmond, Wash., 1997.
[33] B. Milewski, “Distributed Source Control System,” Proc. Seventh Int'l Workshop Software Configuration Management, pp. 98-107, 1997.
[34] Mortice Kern Systems, Inc., Untangling the Web: Eliminating Chaos, Waterloo, Canada, 1996.
[35] B.P. Munch, “Versioning in a Software Engineering Database—the Change-Oriented Way,” PhD thesis, DCST, NTH, Trondheim, Norway, Aug. 1993.
[36] B. O'Donovan and J.B. Grimson, “A Distributed Version Control System for Wide Area Networks,” Software Eng. J., Sept. 1990.
[37] F. Parisi-Presicce and A.L. Wolf, “Foundations for Software Configuration Management Policies Using Graph Transformations,” Proc. 2000 Conf. Foundational Aspects of Software Eng., Mar. 2000.
[38] Perforce Software, Networked Software Development: SCM over the Internet and Intranets. Alameda, Calif., Mar. 1998.
[39] Recommendation X.500 (08/97)–Information Technology–Open Systems Interconnection–the Directory: Overview of Concepts, Models and Services, Aug. 1997.
[40] R.J. Ray, “Experiences with a Script-Based Software Configuration Management System,” Software Configuration Management: Int'l Conf. Software Eng. SCM-4 and SCM-5 Workshops Selected Papers, 1995.
[41] M.J. Rochkind, “The Source Code Control System,” IEEE Trans. Software Eng., vol. 1, no. 4, pp. 364–370, Dec. 1975.
[42] L. Rodriguez, H. Ogata, and Y. Yano, “An Access Mechanism for a Temporal Versioned Object-Oriented Database,” IEICE Trans. Information and Systems, vol. E82–D, no. 1, pp. 128–135, Jan. 1999.
[43] R.A. Smith, “Analysis and Design for a Next Generation Software Release Management System,” Master's thesis, Univ. of Colorado, Boulder, Dec. 1999.
[44] Softool Corp., CCC/Manager, Managing the Software Life Cycle across the Complete Enterprise, Goleta, Calif., 1994.
[45] Software Maintenance&Development Systems, Inc., Aide de Camp Product Overview, Concord, Mass., Sept. 1994.
[46] SQL Software, The Inside Story: Process Configuration Management with PCMS Dimensions, Vienna, Va., 1998.
[47] W. Tichy, "RCS—A System for Version Control," Software-Practice&Experience, July 1985, pp. 637-654.
[48] A. van der Hoek, “A Generic, Reusable Repository for Configuration Management Policy Programming,” PhD thesis, Dept. of Computer Science, Univ. of Colorado, Boulder, Jan. 2000.
[49] A. van der Hoek,R.S. Hall, D.M. Heimbigner, and A.L. Wolf, “Software Release Management,” Proc. Sixth European Software Eng. Conf., pp. 159-175, Sept. 1997.
[50] A. van der Hoek, D. Heimbigner, and A.L. Wolf, "A Generic Peer-to-Peer Repository for Distributed Configuration Management," Proc. 18th Int'l Conf. Software Eng.,Berlin, Germany, Mar. 1996.
[51] B. Westfechtel, “A Graph-Based System for Managing Configurations of Engineering Design Documents,” Int'l J. Software Eng. and Knowledge Eng., vol. 6, no. 4, pp. 549–583, 1996.
[52] E.J. Whitehead, Jr., “World Wide Web Distributed Authoring and Versioning (WebDAV): An Introduction,” StandardView, vol. 5, no. 1, pp. 3–8, Mar. 1997.
[53] A. Zeller and G. Snelting, “Unified Versioning through Feature Logic,” ACM Trans. Software Eng. and Methodology, vol. 6, no. 4, pp. 398-441, Oct. 1997.

Index Terms:
configuration management, configuration management policies, distributed configuration management, policy programming, peer-to-peer, version control
A. van der Hoek, A. Carzaniga, D. Heimbigner, A.L. Wolf, "A Testbed for Configuration Management Policy Programming," IEEE Transactions on Software Engineering, vol. 28, no. 1, pp. 79-99, Jan. 2002, doi:10.1109/32.979990
Usage of this product signifies your acceptance of the Terms of Use.