Presentation on theme: "SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups."— Presentation transcript:
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups to work together on software development projects. The groups, primarily based in universities and national institutions, independently manage their own resources. As such it can be extremely difficult or even impossible to impose software process, adequate documentation levels and heavy resource requirements - such as dedicating entire machines to a single software development project. The philosophy throughout the SCRAM project is, therefore, to encourage good practice by making the intuitive easy and convenient way to do things the right way of doing things. Take for example the fact that SCRAM is controlled and configured through XML documents. Thus documentation has to be kept up to date for SCRAM to even function.
SCRAM What is SCRAM? A Configuration Manager The main task of the SCRAM tool is to ensure that all developers are working with the same consistent set of products, libraries, environments and source codes: External Products Configuration Common Configurations Source Code Control Environment Control
SCRAM A distribution system SCRAM projects can be 'bootstrapped' from a single document that describes its structure and download information of other project documents and components. From this document SCRAM can construct a copy of a project release. Connected to a web browser such as netscape makes "single click" installation possible.
SCRAM A System resource/application interface Products can be installed in different places depending on the whims of system administrators, policy makers and system constraints. SCRAM maintains a database of system information for future reference.
SCRAM A Build System Abstraction of logical build elements from implementation details Associate directory and file structure with build operations (e.g. everything in a directory libsrc could be automatically compiled into a library, e.g.2 every binary in a directory test could be automatically linked with a test utilities library) Definition of Classes of build objects. e.g A library class can have types such as debug, archive, shared, shared debug, profiled etc. Default types can be assigned to a class/directory structure but are easy to override on the command line. Strong environment control. Makes it easy to tweak general rules for special cases - something not easy to do in make. Abstract dependency specification. You can link in a product by specifying its name, SCRAM does the rest taking care of system specifics, dependencies etc. Module Interfaces can be defined for large software modules to define dependencies etc. Other modules can then simply load the interface to use the module. Compatible with code repositories such as CVS which checkout the file with the same date that it was checked in.
SCRAM A development environment Installed project can be made available to developers by adding it to SCRAMs list of projects. Developers creates new development area where work can be done independently The development area will have the same configuration, environment etc. as the base release. SCRAM ensures that an installed release is independent of any other.
SCRAM Projects currently managed: ORCA OSCAR FAMOS IGUANA COBRA DEPUTY
SCRAM DAR Distribution After Release Dar is a CMS software distribution tool which allows to create and install the binary distributions of the SCRAM managed projects Not intended to substitute any of existing functionalities of SCRAM. Dar created distributions are based on a completely built and validated installation of the SCRAM managed project. Installation needs only write access in the installation directory. The current Dar installations install the necessary external components as well. Dar creates scripts to set up the correct environment as part of the installation process. This ensures consistency between sites.
SCRAM Summary Project installation with a click on a web page Control of Build Environment, including dependency tracking Fully configurable build operations, including default operations. Reuse of configuration management elements between projects. Configuration specifications with XML documents. Dar tool allows quick and easy installation of finished projects at remote sites.