Download presentation
Presentation is loading. Please wait.
Published byJack Wilkerson Modified over 9 years ago
1
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby
2
J.P. Wellisch, CERN/EP/SFT A SCRAM Managed Project SCRAM PROJECT Requirements Document BootStrap BootStrap BootStrap BuildFile BuildFile BuildFile BuildSystem Configuration Management scram_version Source code Distribution
3
J.P. Wellisch, CERN/EP/SFT Part of a component system l Interfaces towards –Code management –Change management –Binary distribution –Dependency analysis –Coding rule and style rule analysis –Software QA –Metrics –Integration –validation –Etc..
4
J.P. Wellisch, CERN/EP/SFT Configuration management l Based around the following concepts: –PBS (Product break-down) –Product specification –Product versioning –Configuration definition and versioning –Product-wise configuration specification –ABS (Assembly break-down)
5
J.P. Wellisch, CERN/EP/SFT The key to success l Configuration swim-lanes –Scram allows to define a set of internally compatible swim-lanes of configuration –These are backwards compatible extensions of the starting configuration of the swim-lane. –These are indispensable for staged mass production through the full chain of generation, simulation, reconstruction and analysis, where part of the code is developed, while other parts are already in production use.
6
J.P. Wellisch, CERN/EP/SFT SCRAM resource mapping SCRAM Application requires: CLHEP 1.5 Objectivity 5.2 NAG 3.1 X11 R6 Linux 2.2 Information on target system is extracted and stored by SCRAM Installation Platform Linux 2.2 CLHEP 1.7 X11 R6 Object..6.2 NAG 3.1 Installation Platform SunOS 5.8 CLHEP 1.7 X11 R6 Object..6.2 NAG 3.1 Installed Products Application System Map
7
J.P. Wellisch, CERN/EP/SFT SCRAM project development distribution model BootStrap Central Release Area Central Release Area Central Release Area Describes project Site A Site B Site C Developers Areas
8
J.P. Wellisch, CERN/EP/SFT Requirements Document - Sharing Configurations between projects Repository A Common Requirements Doc Repository C Project 2 Requirements Doc Repository B Project 1 Requirements Doc Project 1 Requirements Doc Common Requirements Doc Common Requirements Doc Project 2 Requirements Doc Inlined by ActiveDoc PreProcessor mechanisms to restrict the included configuration exist
9
J.P. Wellisch, CERN/EP/SFT Project Configuration Requirements l Requirements Document –defines products and versions of external packages (tools) –tool description document (url) required for each tool –Refers to a configuration file in case of multi-project environment l Keep Consistent configurations between projects with a centrally maintained Configuration Document –mechanisms to restrict the configuration exist
10
J.P. Wellisch, CERN/EP/SFT Tool Configuration Management SCRAMtOOLbOX –Each tool has its own configuration environment –Know exactly what product/version is being used l Finding which tools are available in the toolbox >scram tool list clhep 1.5 (default 1.5) objectspace 2.0 (default 2.0) objectivity 5.1.2 (default 5.1.2)
11
J.P. Wellisch, CERN/EP/SFT Tool Description Development l Development of tool description documents –Edit the apropriate file in.SCRAM/ToolFiles directory l e.g. CLHEP version 5.0 would be stored as clhep_5.0 –Run the tool setup command to initiate the changes l e.g. scram setup clhep 5.0 –To be useful outside of your area these documents should be made available on a server (e.g. cvs) so they can be accessed by the url mechanism
12
J.P. Wellisch, CERN/EP/SFT SCRAM project installation BootStrap Document Published with each Release of a product Client Downloads Document runs through SCRAM BootStrap 1. 2. 3. SCRAM assembles components described in BootStrap document into a designated Central Installation Area.
13
J.P. Wellisch, CERN/EP/SFT SCRAM project installation model (contd) 4. If a Requirements Document is specified, SCRAM tries to find the requested products on the client system or the site file, and creates a map in the Installation Area. Requirements Document 5. The client may, depending on the individual project, need to build the installation on the client system with the ‘scram build’ command.
14
J.P. Wellisch, CERN/EP/SFT SCRAM project installation model (contd) Freeze The Central Installation Area 6. 7. Register the Installation in the scram database (‘scram install’ command). It is now ready for use All OK? Then...
15
J.P. Wellisch, CERN/EP/SFT Developer Areas Isolated and well defined environment to develop code Based against a central release area from which it can draw resources
16
J.P. Wellisch, CERN/EP/SFT Creating a Developer Area l Area Creation - scram project >scram project ORCA ORCA_5_4_0 scram project options : Developer Area ORCA_5_4_0 Created in local directory Directory Name has format Name_Version (N.B. Removal of project name from version) -n alternative_name - Specify a different name for the area -d directory - Create in directory specified rather than locally
17
J.P. Wellisch, CERN/EP/SFT Environment Variables l Setting Up the environment - scram runtime >eval `scram runtime -csh` use -sh for borne shells >cd developer_areayou should be in an area Your environment is now set for the developer_area Undoes the effect of any previous scram runtime command (Makes it easy to switch between areas) Instead of using eval you could redirect the output from the scram runtime to a file which you could source when appropriate.
18
J.P. Wellisch, CERN/EP/SFT Build System - BuildFiles l Can be anywhere in source tree l Used to override defaults, add additional build information, specify interfaces and dependencies. l Written as XML style documents >scram build Performs the default build operations corresponding to the current directory
19
J.P. Wellisch, CERN/EP/SFT The BuildSystem Configuration Mapping src subsystems packages test SubSystem BuildFile library src BuildFile Package BuildFile unit test BuildFile Build Configuration Package B BuildFile BuildFile describes Build functionality
20
J.P. Wellisch, CERN/EP/SFT BuildSystem - Build Classes Example: Archive Shared Debug Shared Debug Archive Profiled Shared Profiled Archive Library Class Select a subset as a default build operation. Default can be overridden on the command line. BuildFile BuildFile Requests a Class and sets parameters such as source code, library name, etc.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.