Developers and Applications Working Group: Lauri, Stefan, Gabriele +
all developers
Deliverables
|
List of needed
documents
[There's a LOT of work in this list. It can't all be deliverable
for this week.
I've listed my top priorities for the first deliverables below, but this is
open to discussion in the working group.
I believe the group has an updated list with assignments for people,
but I don't have it at the moment.] | Lauri, Stefan, Gabriele | (done) |
| Complete description of python
API | Lauri | (in progress) |
| Complete description of C++
API | Sinisa | (in progress) |
| Complete description of DBServer
| Steve | (in progress) |
SAM Developer Documents:
------------------------
- Prerequisites in order to be productive as a sam developer; intended audience for
further documentation
(i.e., what we assume you already know, that we will NOT be documenting)
- cvs
- understanding of product packaging techniques,
product environment bootstrapping
(specifically as related to ups/upd)
- subprojects may require knowledge about:
CORBA, oracle (sql in general), x509, globus, condor, grid protocols, xml, java, ???
>>> this probably needs to be done from scratch.
>>> Sinisa, Sinisa, Sinisa, Wyatt, Rick, Sinisa, Rob
- Automated Documententation generation:
We believe it is necessary to spend some time investigating and
configuring a set of tools for automatic code documentation generation,
so that the public interfaces, methods, etc., for
all modules are documented in a consistent way as part of
the package release procedure.
HIGH o IDL: idldoc, ?
MEDIUM o python clients: pydoc, ?
LOW o c++: ???
NONE o java: javadoc, ?
>>> ASSIGNED TO Steve and Sinisa (doxygen, idldoc)
update 16 apr: doxygen for both c++ and idl
Once these tools are in place, each component should include
standardized documentation on:
a) IDL-based (public) interfaces (via idldoc-like tool)
b) API-based (public) interfaces (via CommandParser tools)
c) internal (private) interfaces (via pydoc/javadoc/???-like tool)
- DEVELOPER OVERVIEW DOCUMENTATION:
--------------------------------
- Additional documents that need to be written and/or pulled
together from existing documents, which describe more of the
technical "how and why" behind-the-scenes issues not covered
in the automated docs.
HIGH o Overview: How the pieces fit together
- diagram showing the major SAM components and how
they fit together
>>> Rick, Wyatt, Sinisa and Rob not done
MEDIUM o Overview: SAM CORBA Infrastructure
- IDL naming conventions
- corba structure wrappers
- corba exception handling
- automarshalling proxies and servants
>>> Stefan and Lauri
Done, visible at http://d0db-dev.fnal.gov/~lauri/DocWeek/Overview_SamCorbaInfrastructure.html,
needs to be moved to a more permanent home
MEDIUM o Overview: Server Instantiation and Configuration Tools
- sam_bootstrap/sam_config
>>> Art and Lauri
Art thinks these exist on the CDF workshop page
- serverRun/jim_config
>>> Andrew/Igor and Gabriele
We think Gabriele has the links for these
LOW o Overview: Packaging Standards
- sam_util
>>> ???
- standardized GNUmakefile targets
>>> ???
HIGH o Overview: API Command Suite ToolChest (for python apps)
- sam_common_pylib/SamCommand/ suite of utilities
>>> Stefan and Lauri
Done, will be part of sam_common_pylib package
documentation at http://d0db.fnal.gov/sam_common_pylib/ when it goes live,
but until then available at http://d0db-dev.fnal.gov/sam_common_pylib.
MEDIUM o Overview: Monitoring Tools
- samTV
- jim/grid monitoring
>>> IGOR AND ADAM
MEDIUM o Overview: Test Tools
- sam_test_tools
>>> Matt and Adam
- dbserver unit tests
>>> Randy and Steve
- sam_common_pylib unit tests
>>> Lauri
MEDIUM o Overview: Data Movement
- sam_cp & protocols
>>> SINISA (sam_cp) plus individual protocols:
>>> GABRIELE (sam_gridftp)
>>> LAURI (sam_bbftp)
>>> ANDREW (sam_encp)
HIGH o Overview: Local Job Scheduler Adaptation
- sam_batch_adapter
>>> Robert Illingworth and Sinisa
- COMPONENT DOCUMENTATION:
-------------------------
Preliminary Component Breakdown:
Core SAM
INFRASTRUCTURE: (Stefan, Lauri)
http://d0db[-dev].fnal.gov/sam_common_pylib/Overview_SamCorbaInfrastructure.html
http://d0db[-dev].fnal.gov/sam_common_pylib/Overview_SamCommon.html
http://d0db[-dev].fnal.gov/sam_common_pylib/howToBuildAndRun.html
Corba Infrastructure:
dbProxy (autoMarshall)
corbaStruct wrappers
exception handling
python API Infrastructure:
commandParsing tools
http://d0db[-dev].fnal.gov/sam_common_pylib/CommandInterface.html
DB - (oracle): ???
Servers:
DBServer (Randy, Steve)
dimension parser
dbServerBase
dbServerGen
Station (Rob, Andrew)
smaster
fss
stagers
Name Server (Stefan, Sinisa)
Logger (Andrew, Igor)
Optimizer (Igor, Andrew)
(MIS)
Clients
Libraries (sam_common_pylib (lauri), sam_client_cpplib (sinisa))
Packages:
sam_user_pyapi, sam_admin_pyapi, sam_mis_pyapi
Experiment specific: sam_manager, AC++
sam_project_editor, sam_farm_request
Major Utilities:
samTV (Adam)
sam_cp + transfer protocols (Sinisa, Gabriele)
sam_bootstrap (sam_products, init_sam) (Art, Adam)
sam_config (Art, Sinisa)
test_harness (Matt, Adam)
JIM (Gabriele, Igor, Andrew)
Infrastructure
xmldb (client/server)
configuration (jim_config)
GSI (sam_gsi_config, cron jobs)
middleware (globus, condor)
Client suite
Submission site suite
Broker site
Monitoring suite
current state (push/pull models)
history
web interface (jim_www)
Execution site suite
Fabric interface (jim_job_managers)
Fabric management (jim_sandbox)
Registration services (jim_advertise)
Base docs:
Lauri_Loebel_Carpenter
Last modified: Fri Apr 16 12:41:51 CDT 2004