You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Copy file name to clipboardExpand all lines: doc/supporting_design.rst
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ Technical Design
5
5
The graph below depicts the relationships between the framework subsystems.
6
6
A *subsystem* is a cohesive set of components that together provide a well-defined set of functionalities to the rest of the framework.
7
7
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.
9
9
The subsystems have no circular dependencies.
10
10
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*.
11
11
@@ -37,8 +37,8 @@ The 14 core subsystems and their dependency arrows show the following structure:
37
37
38
38
39
39
- **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.
42
42
43
43
- **Plugin Management** depend on *Registration* and
44
44
*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
62
62
As a group, plugins depend on **Configuration** (to configure each plugin) and **Logging**
63
63
(to emit messages), but are otherwise decoupled from core internals.
64
64
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.
66
68
67
69
Five externally-managed concerns — *Build*, *CI*, *Documentation*, *Event Display*, and
0 commit comments