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

Reply via email to