Skip to content

Commit 678fd70

Browse files
committed
Add data product translation section
Add a stub section file for data product translation and register it first in the supporting design toctree. Replace placeholder IO subsystem text ("unclear") with a description of its interface and relationship to IO Backend plugins. Add a paragraph describing IO Backends and FORM as a concrete example. Change "ellipses" to "elliptical nodes" in the subsystem diagram description.
1 parent 1f9a641 commit 678fd70

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
The Role of Data Product Concepts
2+
=================================
3+
4+

doc/supporting_design.rst

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Technical Design
55
The graph below depicts the relationships between the framework subsystems.
66
A *subsystem* is a cohesive set of components that together provide a well-defined set of functionalities to the rest of the framework.
77
Each subsystem has a set of responsibilities and a well-defined interface to be used by the other subsystems and plugins that need to use the provided functionality.
8-
In the figure, the ellipses represent subsystems, and the arrows indicate what other subsystems each subsystem depends upon.
8+
In the figure, the elliptical nodes represent subsystems, and the arrows indicate what other subsystems each subsystem depends upon.
99
The subsystems have no circular dependencies.
1010
The diagram shows a box that identifies the *core framework subsystems*, another that identifies the *external subsystems*, and a third one that shows examples of *plugins*.
1111

@@ -37,8 +37,8 @@ The 14 core subsystems and their dependency arrows show the following structure:
3737

3838

3939
- **IO** provides the mechanisms by which data products and relevant metadata are read and written to persistent storage.
40-
It is unclear exactly what the responsibilities of the IO subsystem are.
41-
It is unclear what the relationship betwen the IO subsystem and FORM is.
40+
It defines an interface implemented by IO plugins.
41+
Providers and perservers use this interface to read and write data products and metadata.
4242

4343
- **Plugin Management** depend on *Registration* and
4444
*Monitoring*, contributing discovered plugins and data-model events to those subsystems
@@ -62,7 +62,9 @@ Three representative plugin categories are shown — *User Algorithms*, *IO Back
6262
As a group, plugins depend on **Configuration** (to configure each plugin) and **Logging**
6363
(to emit messages), but are otherwise decoupled from core internals.
6464

65-
65+
*IO Backends* are plugins that implement the IO interface provided by the IO subsystem.
66+
One such implementation is FORM, which provides the ability to read and write from ROOT and HDF5 files.
67+
Other IO technologies may be supported by implementing another IO Backend plugin.
6668

6769
Five externally-managed concerns — *Build*, *CI*, *Documentation*, *Event Display*, and
6870
*Workflow Management* — are grouped separately.
@@ -74,6 +76,7 @@ itself.
7476
.. toctree::
7577
:maxdepth: 2
7678

79+
ch_subsystem_design/data_product_translation
7780
ch_subsystem_design/task_management
7881
ch_subsystem_design/data_modeling
7982
ch_subsystem_design/data_product_management

0 commit comments

Comments
 (0)