scram software configuration, release and management background scram has been developed to enable...

12
SCRAM 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.

Upload: elfreda-bryant

Post on 11-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups

SCRAMSCRAMSoftware Configuration, Release And Management

BackgroundSCRAM 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.

Page 2: SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups

SCRAM

What is SCRAM?

A Configuration ManagerThe 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 ConfigurationCommon ConfigurationsSource Code Control Environment Control

Page 3: SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups

SCRAM

A distribution systemSCRAM 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.

Page 4: SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups

SCRAM

A System resource/application interfaceProducts 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.

Page 5: SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups

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.

Page 6: SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups

SCRAM

A development environmentInstalled 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 independentlyThe development area will have the same configuration, environment etc. as the base release. SCRAM ensures that an installed release is independent of any other.

Page 7: SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups

SCRAM

Projects currently managed:ORCA OSCAR FAMOS IGUANA COBRA DEPUTY

Page 8: SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups

SCRAMDAR 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.

Page 9: SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups

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.

Page 10: SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups

SCRAM

Page 11: SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups

SCRAM

Page 12: SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups

SCRAM