Start: 6/15/03 Effort: 10 Abstract: Shahkar Project DZero and CMS both make use of a tool called (Mc)Runjob. It was originally developed at DZero by Greg Graham for automating Monte Carlo production, and maintained at DZero by Dave Evans. It is now the default production tool for both CMS and DZero. The code bases have been maintained separately for about two years now, but there is still enough in common that it makes sense to cooperate on a common project. We expect in this way to exchange technology between the two experiments. Deliverables: A definition of Shahkar: what is in common between DZero and CMS versions of (Mc)Runjob? A common code base consisting of base Linker and base Configurator classes at minimum. Distribution mechanisms: RPM for CMS and UPS/UPD for DZero. Common utilities, including parsers, tokenizers, etc. A testing regimen to be conducted before every release. Stakeholders: DZero Monte Carlo Production Team CMS Monte Carlo Production Team SAM Grid Plans: Week 1 (June 2): Write the requirements for the project, evaluate the list of modules from each CMS and D0 that will become the common code base maintained in Shahkar. Learn python basics. Get an account on clued0. Begin using the product for CMS and as it is installed on clued0. Review packaging and distribution methods. Week 2 (June 9): Define the packages needed and create the cvs areas in cdcvs. Begin to work with the cms and d0 mcrunjob code bases to identify common pieces. Develop an approach to merge/rewrite/reuse the code as needed. Begin working on the code. Further develop the strategy for interfacing with the experiments and delivering code for the common classes. Week 3 (June 16): Develop a test procedure with each experiment so that the work being done for Shahkar can easily be tested. Need unit tests and end-to-end testing procedure. Begin identifying the pieces of the documentation that will be maintained in common and start to work on this. Continue to work on the common code elements in the cvs repository. Week 4 (June 23): Continue to work on the common code elements in the cvs repository. Develop test procedures as needed. Create makefile to build. Establish system for productizing, use fnkits for ups/upd deployment to D0, CMS will have different method, possibly through cvs or Linux rpms. Week 5 (June 30): Continue to work on the common code elements in the cvs repository. Develop test procedures as needed. Week 6 (July 7): Continue to work on the common code elements in the cvs repository. Test as needed. Integrate with D0 and CMS Week 7 (July 14): Continue to work on the common code elements in the cvs repository. Provide first version of common product, with test procedures, and documentation. Week 8 (July 21): Develop follow-on Shahkar project. Identify problems encountered so far. Meet with stakeholders to discuss progress and plans.