Murroughs list of outstanding online software tasks (10-Aug-2001) ================================================================= Organisational -------------- * Finalise sorting out the division into packages: - complete document - names of people against each package * Agree how to build and distribute libraries & binaries etc Consider use of offline CMT tools etc? At least adopt common directory structure for building each package. Agree (and use!) common source code documentation tool, eg Doxygen. Database Package ---------------- * Flesh out missing parts of configuration database document including the following: * Define how we want to extend the hardware configuration, eg what attributes do we need to store for all our modules. * Agree interfaces with Module Services package. * Define how to describe connections between modules in the database. * Agree as common as possible interface to "detector description" information between online and offline use. Ed needs mapping from (phi,eta) to module and channels to make complete and correct RoI words and also to implement the Et algorithms. * Define how we want to describe firmware configuration. * Review existing ideas on trigger menu and calibration data. * Continue with first implementation of schemas and data access libraries for the above. Hardware Access Library ----------------------- * Agree and _implement_ improvements to Part and related classes to allow convenient implementation of Module classes. * Implement other proposed HDMC changes and split of libraries, etc. * Write parts files and if necessary develop new parts for components of new modules. Module Services Package ----------------------- * Start a document describing the package, eg which classes this package should contain and summarise the high level services each class (eg Module, FPGA, Asic) should provide. This package, hopefully unlike most others, is likely to involve several people. We need to aim for consistency across the various modules in type of services they provide. * Make an initial implementation of one or two modules, eg ROD, CPM? This depends on some of the above HDMC changes. Run Control Package ------------------- * Review existing proposals. Try to finalise the document. * Agree interface with Module Services package. * Modify/redevelop initial test implementation as required, moving to latest Online software release (0.0.14). * Develop IGUI panels for run control parameters and status based on IS classes created by new IS gui. Readout ------- * Continue discussions aiming to agree a strategy for reading out our data over short and medium term timescales. Document it. * Implementation depends on the decisions... - in any case, store existing standalone ROD software in CVS - if using ROS, obtain and study software and its configuration - if continuing with "ROD crate DAQ", agree interfaces with run control, module services, etc. * Finish document describing ROD integration tests. Now or never? Testing and Simulation ---------------------- * Agree interfaces with Module Services and Database packages (eg how to describe test vectors of various kinds for modules and subcomponents in a consistent way; use of trigger menu in simulation; etc). * Store existing work in new CVS package(s). * Agree how we will actually run tests: standalone programs, via run control, etc. * Extension to other modules. * Documentation. Other stuff ----------- * Review monitoring document; calibrations; etc * When all thats done, go on holiday!