Hello all,
I have been following the evolution of the subversion structure with
interest and have some observations/issues. Recall that we had to make some
assumptions while Tim and Robyn were gone and now that they are back, it is
appropriate to re-visit these assumptions.
As I see it, the long-term issue is consistency between the UML Logical
Model and the structure. I would expect them to be fairly consistent, and
in keeping with an approach I have successfully used in the past I would
expect something like:
Logical Model (EA) or Subversion Root
Release (e.g. DC1, DC2, Prod1, Prod2)
Architectural Layer (e.g. Apps, Mw, Inf)
Architectural Component (e.g. Detection Pipeline, Framework)
Class/Module (e.g. Collection, Catalog)
Source files (e.g. Catalog.py, Catalog.cpp)
This would be the general structure for source, and we would need parallel
(or integrated) structures for doc and test. Also, we can certainly use
shortened names according to coding/naming conventions, I have not attempted
to show that here. Note that neither the UML logical model nor the
Subversion structure fully comply with this currently, both would need some
changes.
Fleshing this out, we would have:
Logical Model or Subversion Root
DC1
Apps
Image Processing Pipeline
Detection Pipeline
Association Pipeline
...
Framework
Collection
collection.py
collection.cpp
...
Policy
policy.py
policy.dtd
...
Middleware
Distributed Processing Services
Control and Management
Pipeline Construction
Pipeline Execution
Logging Service
log.py
...
Security
Data Access Services
Data Ingest Service
Data Ingester (I'm speculating here)
sourceIngest.sql
sourceIngest.py
sourceIngest.cpp
Data Ingest Converter
dataingestcon.py
...
Querying
...
Catalog Construction
...
System Admin and Opns Services
SysAdmin Portal
User Interface Services
Infrastructure
(May not have much in this area,
would be things like custom drivers,
interfaces to hardware or system software)
Note also that in this model we don't structure by source language until the
leaf nodes of the overall architectural structure. That way, all of the
sources that make up an architectural element are together. This may be an
issue for certain compilers/linkers but that can be handled with make rules.
I propose we discuss this suggestion at the DM PM telecon tomorrow. Thanks!
Jeff
_______________________________________________
LSST-data mailing list
[email protected]
http://www.lsstmail.org/mailman/listinfo/lsst-data