Title: SCRAM
1SCRAM
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.
2SCRAM
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
3SCRAM
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.
4SCRAM
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.
5SCRAM
- 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.
6SCRAM
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.
7SCRAM
Projects currently managed ORCA OSCAR FAMOS
IGUANA COBRA DEPUTY
8SCRAM
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.
9SCRAM
- 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.
10SCRAM
11SCRAM
12SCRAM