UCM (Unix Code Management) Software

Readme File  |  Software  |  Documentation

Abstract
UCM (Unix Code Management) provides the tools for a UNIX based code management system suitable for HEP physics experiments and other similar programming environments.

There are two parts to UCM: UVM and KPP.

  • UVM (Unix Version Management) consists of a number of PERL programs for creating and maintaing source libraries. It represents an alternative to the widely used product CVS. Both UVM and CVS use RCS files and related commands as their basic version management system and provide tools for organizing RCS files into modules and libraries. The difference between UVM and CVS is in their philosophies towards code developement. CVS encourages concurrent developement of the source code whereas UVM imposes sequential development. In many ways UVM libraries are very similar to the CMS libraries of VMS.

    UVM itself consists of four basic components; UVMI, UVMA, UVMHTML, and UVMBLD.

    • UVMI provides a set of commands for collecting information about UVM libraries and their contents.

    • UVMA provides the commands for creating and modifying the contents of the libraries.

    • UVMHTML provides a mechanism for accessing UVM library and element information through the world wide web.

    • UVMBLD is a tool for building Makefiles from UVM library elements. Using this tool solves the problem of keeping track of the number of elements in a library as well as their dependencies on include files.

  • KPP is a text preprocessor (written in generic C) which functions much like the C preprocessor CPP. The difference is that KPP is language insensitive and can be used to add include files and conditional lines to any text files. Its intended purpose in the UCM package is to provide a simple way of dealing with software which is system or platform dependent.

Send questions or comments to ucm_support@fnal.gov.

last modified 04/27/06   ucm_support@fnal.gov
Security, Privacy, LegalFermi National Accelerator Laboratory