 






          Software
          Product
          Description

          ________________________________________________________________

          PRODUCT NAME:  VAX DEC/CMS, Version 3.4             SPD 25.52.15

          1  DESCRIPTION

          VAX DEC/CMS (Code Management System) is a library system that
          facilitates the development and maintenance of software sys-
          tems. Software systems are divided into different functional
          components that are, in turn, organized into sets of one or more
          files. During development, one or more programmers continually
          make changes to these files. VAX DEC/CMS helps manage the files
          during development (and later during maintenance) by storing
          the files in a project library, tracking changes, and monitoring
          access to the library.

          VAX DEC/CMS also supplies a means of manipulating different
          combinations of files within a library. The ability to formalize
          these combinations provides a focus for system design and a
          means of organizing the files within a library.

          VAX DEC/CMS supports the DECwindows software environment, and
          provides either a DECwindows or command line user interface.

          VAX DEC/CMS is included in the VAXset (SPD 27.07.xx) Software
          Development Tools Package. This package provides simplified
          ordering and maintenance of various tools. See the appropriate
          Software Product Description for more information on VAXset.

          Features

          o  Provides a DECwindows interface in addition to its command-
             line interface

          o  Store ASCII and non-ASCII (e.g., .EXE, .OBJ, and ISAM) files
             in a project library

                                       DIGITAL              September 1990

                                                               AE-M629R-TE

 


          VAX DEC/CMS, Version 3.4                            SPD 25.52.15



          o  Support for multiple project libraries

          o  Retrieve previous file generations

          o  Delete, purge, or collapse generations

          o  Obtain a report of file modifications, including when, why,
             and by whom the modification was made

          o  Determine the origin of each line of a file, either as an
             annotated listing or as comments in the file

          o  Manage concurrent modifications

          o  Merge separately-developed modifications

          o  Combine related files together as a "group"

          o  Relate the generation of one element to the corresponding
             generations of other elements for purposes of freezing base-
             lines or releases and for organizing ongoing development

          o  Interface via callable routines as well as DCL commands or
             DECwindows functions

          o  Through the use of CMS access control lists, fine tune VMS
             security mechanisms applied to CMS Libraries and provide a
             means of notification about Library events

          Each CMS command may be invoked from VMS's command level to per-
          form a specific function, such as reserving a file for modifi-
          cation or obtaining a report of development status. The command
          then returns to VMS's command level, where the user may edit,
          compile, and test in the usual manner.

          Since VAX DEC/CMS allows the user to work with sequential ASCII
          files (among others), all of the standard editors and compilers
          can still be used.

          All text files for the project can be stored in a single or mul-
          tiple project library which the user identifies at the beginning
          of each session by means of the CMS SET LIBRARY command. In the
          case of multiple project libraries, the user provides a search

                                          2

 


          VAX DEC/CMS, Version 3.4                            SPD 25.52.15



          list of directory specifications for the desired project li-
          braries. ASCII and non-ASCII files can be stored in the project
          library, including source programs, command files, documenta-
          tion, and test data.

          A project library is a collection of elements. Elements can
          be created from ASCII and non-ASCII files and combined into
          "groups". A user can specify an element for review prior to
          acceptance. Commands operate on elements or groups, or they can
          operate on wild card specifications as in VMS.

          For each element, the library stores successive generations or
          historical instances of the element's files. Once an element
          generation exists in the library, it never changes. A modifica-
          tion to a generation is stored as a new generation. Successive
          generations, each a modification of the previous, form a line
          of descent. Typically, each element generation will have one
          successor, which is the main line of descent. VAX DEC/CMS allows
          two or more successors to a generation, forming variant lines of
          descent.

          Generation expressions allow the user to retrieve a particular
          generation or the latest in a particular line of descent. A
          generation or line of descent can be identified by a generation
          number, or by a user-defined class name. A class can denote a
          base level, a release, the current stable version, a debugging
          version, or any other characteristic agreed upon by the users
          for their project.

          Historical generations of source and other files are retained
          efficiently by storing only their differences. VAX DEC/CMS
          determines the differences, and this information enables it to
          report the generation of origin for each line of a file, i.e.,
          the generation in which the line was most recently inserted or
          modified. This origin information can be optionally inserted as
          "history" comments on each line of the file itself.



                                          3

 


          VAX DEC/CMS, Version 3.4                            SPD 25.52.15



          A history is kept of all file movements into and out of the
          project library. In addition, a list of reservations is kept
          for all modifications that are in progress at any time. A user
          who wishes to reserve, for modification, an element that is
          previously reserved by someone else, is informed and asked
          permission to continue. If the user chooses to proceed, the
          occurrence is recorded as an unusual event. The other users
          involved will similarly be informed and queried, when they
          attempt to put their modifications back into the library. Users
          in general, can be notified through MAIL when any event occurs
          in the project libraries. This notification is achieved by
          processing the entries in the access control list (ACL).

          Concurrent modifications are not lost; they are stored in the
          library on different lines of descent. Modifications on differ-
          ent lines of descent can be merged, and the result can be edited
          to resolve any conflicting modifications.

          Principal VAX DEC/CMS Subcommands

          o  REVIEW commands - ACCEPT GENERATION, REJECT GENERATION, MARK
             GENERATION, REVIEW GENERATION, CANCEL REVIEW, and the /REVIEW
             qualifier on CREATE and MODIFY ELEMENT commands. These allow
             a user to specify that a generation of an element must be
             reviewed before becoming a "normal" part of the CMS library,
             to monitor the review process, and to approve the generation
             (or mark it as disapproved).

          o  RESERVE - Places a copy of a generation in the user's working
             directory and notes that the user is working on a modifi-
             cation for it. The entire element may be reserved against
             concurrent modification by another user. A user can have sev-
             eral elements reserved at the same time. Multiple generations
             of an element can be saved or the same generation of an ele-
             ment can be saved multiple times. A remark can optionally be
             inserted into each line to show the origin of the line (see
             ANNOTATE). A qualifier allows another generation of the same
             element to be merged into the copy supplied to the user.

                                          4

 


          VAX DEC/CMS, Version 3.4                            SPD 25.52.15



          o  FETCH - Similar to RESERVE, except that the element is not
             reserved for modification. The copy placed in the working
             directory cannot be used to create a new generation of the
             same element.

          o  REPLACE - Creates a new generation of an element that the
             user has reserved. The files of the new generation are moved
             to the project library from the user's working directory.

          o  UNRESERVE - Cancels an existing reservation of an element.

          o  ANNOTATE - Produces an annotated listing of any element
             in the library. The annotations describe the element and
             its ancestors, and indicate the origin of each line of the
             element (i.e., the generation in which each line was inserted
             or most recently modified).

          o  SHOW - Displays information about any objects in the li-
             brary: elements, element generations, groups, classes. For
             any generation, the command can give the author, creation
             data, creating command, and author's remark. This information
             can also be obtained for a generation's ancestors or descen-
             dants. The command can also list all elements of the library,
             all that are reserved, or all that have a generation in a
             given class. All or a portion of the project history can be
             displayed by object name, user name, or command.

          o  CREATE - Creates a new element, class, or group

          o  INSERT - Puts an element into a group or an element genera-
             tion into a class

          o  SET LIBRARY - Identifies the user's project library or multi-
             ple project libraries at the start of a session

          o  SET ACL - Allows modification of the access control list on
             various objects in the DEC/CMS library. Access control lists
             can be used to control access to individual DEC/CMS commands.

                                          5

 


          VAX DEC/CMS, Version 3.4                            SPD 25.52.15



          o  VERIFY - Performs consistency checks on the library, and
             recovers from a malfunction by voiding a partially-completed
             transaction.

          Performance Considerations

          Response time performance might appear to be less than expected
          because of the checking and processing done, for certain opera-
          tions, ensuring the safety and accuracy of the user's file. It
          is not appropriate to compare these CMS commands to the VMS COPY
          command.

          2  HARDWARE REQUIREMENTS

          VAX, MicroVAX, VAXstation or VAXserver configuration as speci-
          fied in the System Support Addendum (SSA 25.52.15-x).

          3  SOFTWARE REQUIREMENTS*

          For systems using terminals (no DECwindows interface):

          o  VMS Operating System

          For workstations running VWS (no DECwindows interface):

          o  VMS Operating System

          o  VMS Workstation Software

          For workstations running DECwindows:

          o  VMS Operating System (and necessary components of VMS DECwin-
             dows)

          *  Refer to the System Support Addendum (SSA 25.52.15-x) for
             availability and required versions of prerequisite/optional
             software and for information regarding components of VMS
             DECwindows.

                                          6

 


          VAX DEC/CMS, Version 3.4                            SPD 25.52.15



          4  ORDERING INFORMATION

          Software Licenses: QL-007A*-**
          Software Media: QA-007A*-**
          Software Documentation: QA-007AA-GZ
          Software Product Services: QT-007A*-**

          *  Denotes variant fields. For additional information on avail-
             able licenses, services and media, refer to the appropriate
             price book.

          5  SOFTWARE LICENSING

          This software is furnished under the licensing provisions of
          Digital Equipment Corporation's Standard Terms and Conditions.
          For more information about Digital's licensing terms and poli-
          cies, contact your local Digital office.

          6  LICENSE MANAGEMENT FACILITY SUPPORT

          This layered product supports the VMS License Management Facil-
          ity.

          License units for this product are allocated on a CPU-capacity
          basis. For more information on the License Management Facility,
          refer to the VMS Operating System Software Product Description
          (SPD 25.01.xx) or the License Management Facility manual of the
          VMS Operating System documentation set.

          For more information about Digital's licensing terms and poli-
          cies, contact your local Digital office.

          7  SOFTWARE PRODUCT SERVICES

          A variety of service options are available. For more information
          on these or other services, please contact your local Digital
          office.


                                          7

 


          VAX DEC/CMS, Version 3.4                            SPD 25.52.15



          8  SOFTWARE WARRANTY

          Warranty for this software product is provided by Digital with
          the purchase of a license for the product as defined in the
          Software Warranty Addendum of this SPD.

          [TM]  The DIGITAL Logo, VMS, DECwindows, VAX, MicroVAX, VAXs-
                tation, VAXserver and VAXset are trademarks of Digital
                Equipment Corporation.






























                                          8
