The XDSM (eXtended Design Structure Matrix) is a tool used to visualize MDO processes. It is an extension of the classical Design Structure Matrix commonly used in systems engineering to describe the interfaces among components of a complex system. In a computational MDO context, the complex system is the MDO architecture, the components of the system are pieces of software (disciplinary analyses, optimization algorithms, surrogate models, etc.) used by the architecture, and the interfaces between components are the data exchanged by this software. Because the architecture also contains an algorithm defining the order in which the software is run, a numbering system and lines depicting the process are introduced in the diagram. In this way, we are able to capture all of the data and process flow of an architecture in a single diagram.
The full details of how to construct and interpret XDSMs are the subect of the paper cited in the footnote.1
For those interested in constructing XDSMs for their own work, see the attached files. We draw our diagrams using the TikZ package in LaTeX. The files contain the specific block and line styles, TikZ library imports, and formats that are common to all of our diagrams. We have also included some example diagrams and a how-to guide for the LaTeX files. Comments and suggestions are welcome.
A Python script for automatically generating XDSM tex sources has been added. This script contains a class to which components and dependencies can be added, and this class automatically writes a tex file that draws the diagonal and off-diagonal blocks, as well as data flow lines. Details can be found in the Python script.