Difference between revisions of "Online Project List"
From GlueXWiki
m |
m |
||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | == | + | == "Boots-on-the-ground" projects (in no particular order) == |
Line 35: | Line 35: | ||
*** Dave Heddle wrote initial version, Carl Timmer took it over. | *** Dave Heddle wrote initial version, Carl Timmer took it over. | ||
*** Version 4 (in preparation) has improved functionality. | *** Version 4 (in preparation) has improved functionality. | ||
+ | |||
+ | |||
+ | * '''Remote monitoring of experiment''' | ||
+ | ** Develop plan for remote monitoring of histograms, EPICS data, etc. | ||
+ | ** estimate 4 man-weeks effort. | ||
+ | ** Status: | ||
* '''RootSpy''' | * '''RootSpy''' | ||
− | ** Fully develop distributed Root histogram creation and viewing package | + | ** Fully develop distributed Root histogram creation and viewing package. |
− | ** estimate | + | ** Need plugin, gui, gateway, aggregator, archiver. |
+ | ** estimate 12 man-weeks effort | ||
** Status: | ** Status: | ||
*** Dave Lawrence wrote initial version. | *** Dave Lawrence wrote initial version. | ||
*** High school student worked on it for a semester, CNU summer student too. | *** High school student worked on it for a semester, CNU summer student too. | ||
*** Will improve and expand as manpower becomes available. | *** Will improve and expand as manpower becomes available. | ||
+ | |||
+ | |||
+ | * '''Process monitoring''' | ||
+ | ** Find or develop process monitoring system. | ||
+ | ** estimate 4 man-weeks effort. | ||
+ | ** Status: | ||
+ | |||
+ | |||
+ | * '''Hardware monitoring''' | ||
+ | ** Develop front-end and trigger hardware monitoring system. | ||
+ | ** estimate 6 man-weeks effort. | ||
+ | ** Status: | ||
Line 157: | Line 176: | ||
** Figure out what SNL is good for and how to use it. | ** Figure out what SNL is good for and how to use it. | ||
** estimate 4 man-weeks effort | ** estimate 4 man-weeks effort | ||
+ | ** Status: | ||
+ | |||
+ | |||
+ | * '''EPICS Wiener VXS/VME crate control''' | ||
+ | ** Find or develop driver for Wiener VXS/VME crates. | ||
+ | ** estimate 4 man-weeks effort. | ||
+ | ** Status: | ||
+ | |||
+ | |||
+ | * '''EPICS Wiener LV crate control''' | ||
+ | ** Find or develop driver for Wiener LV crates. | ||
+ | ** estimate 4 man-weeks effort. | ||
** Status: | ** Status: | ||
* '''EPICS CAEN HV control''' | * '''EPICS CAEN HV control''' | ||
− | ** | + | ** Find or develop driver for CAEN HV crates. |
− | ** estimate | + | ** estimate 6 man-weeks effort |
** Status: | ** Status: | ||
Line 202: | Line 233: | ||
** Status: | ** Status: | ||
*** Likely not needed 5-May-2011 | *** Likely not needed 5-May-2011 | ||
+ | |||
+ | |||
+ | * '''Code Management''' | ||
+ | ** Evaluate alternatives to SVN, e.g. Git or possibly Mercurial. | ||
+ | ** estimate 2 man-weeks effort. | ||
+ | ** Status: | ||
Line 279: | Line 316: | ||
** Develop code to reorder events after monitoring or level 3 farm. | ** Develop code to reorder events after monitoring or level 3 farm. | ||
** estimate 6 man-week effort. | ** estimate 6 man-week effort. | ||
+ | ** Status: | ||
+ | |||
+ | |||
+ | * '''Data storage''' | ||
+ | ** Develop data storage management system. | ||
+ | ** estimate 4 man-weeks effort. | ||
** Status: | ** Status: | ||
Line 314: | Line 357: | ||
− | * '''EPICS JAVAIOC''' | + | * '''EPICS JAVAIOC and Port Driver framework''' |
− | ** | + | ** Evaluate and test for use by Hall D. |
− | ** estimate | + | ** estimate 4 man-weeks effort |
** Status: | ** Status: | ||
− | ** Waiting for JAVIOC development effort to complete. | + | *** Waiting for JAVIOC development effort to complete. |
Line 328: | Line 371: | ||
− | * '''EPICS Asyn driver (C++)''' | + | * '''EPICS Asyn driver framework (C++)''' |
** Figure out if it might be useful for Hall D, and if so learn how to use it. | ** Figure out if it might be useful for Hall D, and if so learn how to use it. | ||
− | ** estimate | + | ** estimate 3 man-weeks effort |
** May not be needed since we may use Java instead. Depends on results of evaluation of JavaIOC and Port driver facility. | ** May not be needed since we may use Java instead. Depends on results of evaluation of JavaIOC and Port driver facility. | ||
** Status: | ** Status: | ||
Line 343: | Line 386: | ||
− | ==Completed | + | ==Completed== |
Latest revision as of 15:11, 6 May 2011
"Boots-on-the-ground" projects (in no particular order)
- DANAEVIO
- Serialize DANA objects to EVIO file.
- estimate 3 man-weeks effort.
- Status:
- almost DONE 7-May-2010 ejw 4 man-weeks
- handles associated objects, tagged factories, name/tag dictionary
- currently serializes 20 DANA objects, easy to add more
- needs updating due to changes to DANA framework 1-Apr-2011
- EVIODANA
- Deserialize DANA objects from EVIO file.
- estimate 2 man-weeks effort.
- Status:
- Elliott and Dave L have just begun working on this.
- Java Online Event Display
- Implement Hall D geometry and other functionality in Dave Heddle's Java event display framework.
- estimate 8 man-weeks effort
- Status:
- Dave Heddle implemented basic geometry in a few days.
- CNU student worked Summer 2010 on implementing H-D geometry and functionality.
- Students will work again Summer 2011 to connect to DANA process and improve user interface.
- Reads DANAEVIO output so has access to reconstruction objects.
- Java EVIO
- Need Java EVIO package implementing same functionality as C++ version
- estimate 4 man-weeks effort
- Status:
- Dave Heddle wrote initial version, Carl Timmer took it over.
- Version 4 (in preparation) has improved functionality.
- Remote monitoring of experiment
- Develop plan for remote monitoring of histograms, EPICS data, etc.
- estimate 4 man-weeks effort.
- Status:
- RootSpy
- Fully develop distributed Root histogram creation and viewing package.
- Need plugin, gui, gateway, aggregator, archiver.
- estimate 12 man-weeks effort
- Status:
- Dave Lawrence wrote initial version.
- High school student worked on it for a semester, CNU summer student too.
- Will improve and expand as manpower becomes available.
- Process monitoring
- Find or develop process monitoring system.
- estimate 4 man-weeks effort.
- Status:
- Hardware monitoring
- Develop front-end and trigger hardware monitoring system.
- estimate 6 man-weeks effort.
- Status:
- EPICS/Labview connection
- Many ways to do this.
- estimate 4 man-weeks effort
- Status:
- Used DESY package for coil test, worked fine, not clear how well it scales.
- Waiting for ORNL pure Labview version
- IRMIS detector/electronics/cable/controls database
- Implement one complete detector system as a test case.
- estimate 6 man-weeks effort
- Status:
- Did not work with JBoss.
- 5-Mah-2011 installing Glassfish on Windows VM.
- Control System Studio development environment for EPICS applications
- Download and test (CSS is based on Java/Eclipse).
- estimate 4 man-weeks effort
- Status:
- EPICS Java channel access library
- Learn how to use the new JCA/CAJ client and server library.
- estimate 4 man-weeks effort
- Status:
- EPICS Port driver (Java)
- Figure out if it might be useful for Hall D, and if so learn how to use it.
- estimate 4 man-weeks effort
- Status:
- cMsg/Labview connection
- Write Linux Labview module that communicates using the cMsg package from the JLab DAQ group.
- estimate 8 man-weeks effort
- Status:
- SNS EPICS alarm system (BEAST)
- Download and test.
- estimate 4 man-weeks effort
- Status:
- SNS EPICS Archiver
- Download and test.
- estimate 4 man-weeks effort
- Status:
- ORNL EPICS backup/restore/compare system (SCORE)
- Download and test.
- estimate 4 man-weeks effort
- Status:
- EPICS tools
- Survey the many EPICS tools available and figure out which ones might be useful for Hall D. Then download and test.
- estimate 6 man-weeks effort
- Status:
- AFECS state machine language
- Learn how to use AFECS from DAQ group.
- estimate 6 man-weeks effort
- Status:
- cMsg publish/subscribe interprocess communication package
- Learn how to use the cMsg package from the DAQ group.
- estimate 2 man-weeks effort
- Status:
- Ganglia, NAGIOS, and/or Mon remote monitoring/alarm systems
- Learn about Ganglia, NAGIOS and MonAlisa and determine which (if any) might be useful.
- Learn about the NAGIOS connection to EPICS PV's.
- estimate 4 man-weeks effort
- Status:
- Event display
- Fully develop online event display using bCNU framework.
- estimate 26 man-weeks effort
- Status:
- Remote access and display of EPICS data
- Investigate mechanisms for remote display of controls data.
- Choose system and implement.
- estimate 8 man-weeks effort
- Status:
- National Instruments cRIO FPGA system
- Learn about the NI cRIO system, Labview FPGA programming support, and whether this might be useful in the Hall D trigger system.
- estimate 2 man-weeks effort
- Status:
- Visual DCT - EPICS configuration tool
- Figure out if this might be useful for Hall D.
- estimate 2 man-weeks effort
- Status:
- EPICS State Notation Language for state machines
- Figure out what SNL is good for and how to use it.
- estimate 4 man-weeks effort
- Status:
- EPICS Wiener VXS/VME crate control
- Find or develop driver for Wiener VXS/VME crates.
- estimate 4 man-weeks effort.
- Status:
- EPICS Wiener LV crate control
- Find or develop driver for Wiener LV crates.
- estimate 4 man-weeks effort.
- Status:
- EPICS CAEN HV control
- Find or develop driver for CAEN HV crates.
- estimate 6 man-weeks effort
- Status:
- Labview CAEN HV control
- Find a Labview control system for CAEN HV crates and test.
- estimate 2 man-weeks effort
- Status:
- Labview Wiener crate control
- Download module from Wiener and test.
- estimate 2 man-weeks effort
- Status:
- J5 database application development system
- Download, test, and work out how we might use it for database apps and elogs.
- estimate 6 man-weeks effort
- Status:
- OPC control protocol
- Is OPC useful for Hall D? If so, get it and test.
- estimate 4 man-weeks effort
- Status:
- Likely not needed 5-May-2011
- CAN control protocol
- Learn about CAN and how we might control 3000 devices (FCAL PMT bases).
- estimate 4 man-weeks effort
- Status:
- SMBus control protocol
- Learn about SMBus and the design of the preamp card distribution box, and how we might control 1000 channels.
- estimate 4 man-weeks effort
- Status:
- Likely not needed 5-May-2011
- Code Management
- Evaluate alternatives to SVN, e.g. Git or possibly Mercurial.
- estimate 2 man-weeks effort.
- Status:
- SCONS ("make" replacement)
- Learn about and teach us how to use the SCONS build system.
- estimate 2 man-weeks effort
- Status:
- EPICS on the web
- Learn how to use CAML and Web2cToolkit.
- estimate 6 man-weeks effort
- Status:
- Info Server for generic information storage and retreival
- Investigate and define role for generic info server (as in CLAS), either based on cMsg or something else.
- estimate 4 man-weeks effort
- Status:
- EVIO event I/O package
- Learn how to use the EVIO package from the DAQ group. Recommend improvements or extensions.
- Possible improvements: no fixed block size, dictionary, random access, implement Java DOM.
- estimate 2 man-weeks effort
- Status:
- Major improvements coming in vsn 4 5-May-2011.
- Configuration database
- Work out strategy for storing, retrieving and archiving detector configuration information (EPICS and non-EPICS information).
- estimate 12 man-weeks effort
- Status:
- Offline group working on Calibrations and Conditions Database (CCDB) 5-May-2011
- Event stream architecture
- Determing optimal architecture for event stream.
- I.e. number and topology of event builders, farm nodes, event recorders, etc.
- estimate 6 man-week effort.
- Status:
- Monitoring and level 3 farm system
- Recommend features needed and architecture for monitoring and level 3 farm systems.
- estimate 4 man-weeks effort
- Status:
- Farm system CODA component
- Develop CODA component capable of managing monitoring or level 3 farm system.
- estimate 8 man-weeks effort
- Status:
- Self-configuring front end readout list
- Develop readout list capable of detecting which boards are in a crate and reading them out efficiently.
- Should also document configuration in Hall D database.
- estimate 6 man-week effort.
- Status:
- Top-level experiment control control system and gui
- Develop top-level experiment control configuration and associated gui.
- Combines run control and slow controls into one interface.
- estimate 6 man-week effort.
- Status:
- Event disentangler
- Develop Hall D specific event disentangler capable of handling full luminosity.
- estimate 6 man-week effort.
- Status:
- Event stream reorderer
- Develop code to reorder events after monitoring or level 3 farm.
- estimate 6 man-week effort.
- Status:
- Data storage
- Develop data storage management system.
- estimate 4 man-weeks effort.
- Status:
- Evaluate web service architectures
- Many possibilities, compare CLARA, SOAP, etc.
- estimate 1 man-week effort.
- Status:
- CLARA-enable DANA framework
- Allow DANA program to act as web service.
- estimate 2 man-week effort.
- Status:
- Python scripting language
- Learn about and teach us how to use Python.
- estimate 4 man-weeks effort
- Status:
- Smart pointers
- Survey available smart pointers and choose one for the online.
- estimate 1 man-week effort
- Status:
- Connect Allen-Bradley PLC to Labview
- Connect PLC to Labview
- estimate 2 man-weeks effort
- Not sure if we need this.
- Status:
- I think Yi got this working 5-May-2011.
- EPICS JAVAIOC and Port Driver framework
- Evaluate and test for use by Hall D.
- estimate 4 man-weeks effort
- Status:
- Waiting for JAVIOC development effort to complete.
- EPICS C++ portable channel access server
- Learn out how to use the new C++ PCAS library.
- estimate 4 man-weeks effort
- May not be needed since we probably will use Java instead. Depends on results of evaluation of Java CA package.
- Status:
- EPICS Asyn driver framework (C++)
- Figure out if it might be useful for Hall D, and if so learn how to use it.
- estimate 3 man-weeks effort
- May not be needed since we may use Java instead. Depends on results of evaluation of JavaIOC and Port driver facility.
- Status:
- EPICS base
- Figure out how to create new record types and new device support, including use of ASYN driver.
- estimate 8 man-weeks effort
- May not be needed since we probably will use Java instead. Depends on results of evaluation of JavaIOC facility.
- Status:
Completed
- ROOT/cMsg histogram transport
- Use the JLab cMsg interprocess communication package to transport ROOT histograms over a network.
- estimate 1 man-weeks effort
- DONE 26-Jun-2009 ejw 1 m-day
- Dave L created ROOTSPY framework based on cMsg transport of ROOT histograms. ROOTSPY will become foundation of remote hist viewing for online and offline.
- Connect Allen-Bradley PLC to EPICS
- Connect PLC to EPICS channel access using SNS driver
- estimate 2 man-weeks effort
- DONE 1-Nov-2010 1 man-week
- Wesley Moore (from FEL) installed A-B driver.
- Hovanes connected to many A-B tags in coil test setup.
- Test Accelerator elog
- Test the Accelerator elog without using custom operator scripts.
- estimate 1 man-day effort.
- DONE 5-May-1011 1 man-day installation plus many weeks testing
- We are still using this for the solenoid coil test.
- Preliminary results: quirky, some bugs, VERY basic, probably not acceptable for Hall D Online use.
- Allen-Bradley PLC programming
- Learn how to program and use an A-B PLC.
- estimate 12 man-weeks effort
- DONE 1-Mar-2011 many man-weeks
- Josh Ballard learned how to program PLC from Mark Wissmann and now is our main PLC programmer.
- Josh also learned how to do HMI programming.
Probably Not Needed
- HDDM to EVIO converter
- Convert HDDM to EVIO to feed simulated data to online event display. See online event display item below.
- estimate 2 man-weeks effort.
- Status:
- Using EVIO instead - EJW, Feb 2010