Changes between Initial Version and Version 1 of Design


Ignore:
Timestamp:
Dec 13, 2011, 11:38:07 AM (12 years ago)
Author:
/C=FR/O=CNRS/OU=UMR8607/CN=Christian Arnault/emailAddress=arnault@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Design

    v1 v1  
     1= Design
     2
     3== Proposal for CMT2.
     4
     5(2011/12/13)
     6
     7Several developments and studies have taken place around the issue related with Configuration & Build Tools
     8 * Work by Marco et al & CERN around the Gaudi Framework (including the new framework)
     9 * Work by Sébastien around Mana (Atlas) + WAF
     10 * Work by Christian around a CMT-like layer on top of CMake
     11 * Optimization developments for CMT itself, in the direction of a project build, and reducing the internal overhead factors during the CMT-based build.
     12
     13It’s time now, considering the long term schedules (mainly considering the long shut down of LHC) to decide on a transition phase for this project: stopping the R&D phase and entering the development phase.
     14
     15So far, my vision of the possible scenarii is as follows:
     16 1. Continuation of the optmizations for CMT until the native CMT build reaches a level of performance equivalent to (or close to) what can be obtained ‘manually’ by using CMake or Waf
     17 1. Developing a completely new tool.
     18
     19=== General comments:
     20A priori, scenario 2 is needed in any case, since several important requirements (wide portability, support of IDEs) will anyway be expected, while cannot be obtained but with a very large development team. Moreover, those requirements are much better realized if based on an external toolkit for reason of maintenance and future evolutions.
     21
     22
     23=== Comments on scenario 1
     24This is appropriate only if this is achieved on a relatively short planning (order of 2-3 months)
     25
     26=== Comments and issues on scenario 2
     27The requirements for such a development should consider
     28 * The conclusions of the configuration review done in Atlas
     29 * The current list of candidate tool (CMake, WAF)
     30
     31One proposed architecture for the new tool should permit developers to:
     32 * Select (or design) a declarative language for the configuration parameters
     33 * Select an architecture of packages/projects for the software base supported by the tool
     34 * Implement a set of utilities based on this language so as to:
     35   * Let users specify configuration parameters for packages/projects/use cases
     36   * Interactively query the configuration (optionally with a GUI?)
     37   * Deduce from the set on specified parameters the operational parameters needed to build the software, test it, deploy it, configure the run time environment
     38
     39The architecture should be implemented onto a well adopted tool kit offering:
     40 * High level of performance in the build process
     41 * High level of portability across systems/IDEs
     42 * Programming flexibility
     43 * Good level of confidence on its future
     44
     45=== Comments
     46 * So far, the candidates for implementation are CMake and WAF
     47
     48=== Proposed schedule:
     49 * Organize a decision meeting mid January at CERN
     50
     51