tmtsoftware / icd

ICD - Interface Control Document Management
Other
12 stars 5 forks source link

Suggested Level 2 ICD formatting #46

Closed edwardchapin closed 7 years ago

edwardchapin commented 7 years ago

My feeling is that a Level 2 ICD (detailed documents) should focus on the commands and events/telemetry passed between the subsystems, rather than the organization into assemblies. I tend to think of the division of a subsystem into assemblies as a largely internal design choice. For example, as the software design for IRIS evolves, we may decide to combine assemblies, or split them up (e.g., if we decide to stop using "functional groups" in some places), or completely re-factor them. What I think is most important to emphasize at Level 2 is the names of telelemetry/events published, and the names of commands. If the name of the component producing/consuming these things changes, I don't think it's that important.

Take, for example, the current TCS - IRIS ICD (framework document, detailed document). Presently, the detailed documents are sorted (at the top level) into IRIS -> TCS, and then TCS -> IRIS (which is a work-around for the rendering problems described in issue #25). Next, they are sorted by assembly (IRIS Cold Stop Assembly, DRS, IRIS ODGW Assembly, etc.). To make life easier for the reader, perhaps you could add summary tables at the top (with hyperlinks to the details provided later), along the lines of Table 2-4 in the framework document linked above. For example, an "Event Summary" indicating, in columns, the event name, the publisher (assembly), and short description. You could group the table into "things published by subsystem A for B", and then "things published by subsystem B for A", and within each of those groups sort alphabetically by the event name (not the publisher). You could then do similar things for telemetry and commands.

abrighton commented 7 years ago

The latest version in the master branch has been updated to display a summary table and use the suggested publisher's view instead of the subscriber view. So now you have "things published by subsystem A for B", and then "things published by subsystem B for A", as suggested.