diff --git a/examples/index.rst b/examples/index.rst index c6755c4..f2c77ed 100644 --- a/examples/index.rst +++ b/examples/index.rst @@ -34,3 +34,4 @@ use cases are addressed by the architecture, including how the :caption: Architecture Examples Catalog aam/index + stem/index diff --git a/examples/stem/index.rst b/examples/stem/index.rst new file mode 100644 index 0000000..8142289 --- /dev/null +++ b/examples/stem/index.rst @@ -0,0 +1,46 @@ +.. _intersect:arch:examples:stem: + +Autonomous Microscopy +===================== + +Over the last two decades, aberration corrected :term:`STEM` has become the +mainstay of condensed matter physics, materials science, chemistry, +catalysis, and nanotechnology. Yet both deriving fundamental physical +insights from these multidimensional data sets and further using this +knowledge towards making new and better materials for energy, quantum, +and information technologies is stymied by the dearth of the methods and +the data infrastructure necessary to handle the bespoke data sets. +Similarly, human-driven operation of the microscopes is inherently +limited at the age of fast data acquisition and multidimensional data. +This project establishes the crucial link between the cutting-edge +instrumental platforms at the :term:`CNMS` and the HPC capabilities at ORNL to +enable the next generation of the HPC-driven scientific discovery +(:numref:`intersect:arch:examples:stem:stem`). Specifically, the project +targets three intertwined tasks, including (a) establishing a pipeline +for direct data transfer from the :term:`STEM` to the :term:`MD`/:term:`DFT` environment, (b) +high-fidelity structural reconstructions from 4D :term:`STEM` data, and (c) +enabling the science-driven physical discovery via deep kernel learning. +These targets, while closely linked scientifically, offer complementary +challenges for the data infrastructure, prioritizing :term:`CPU` based +calculations, :term:`GPGPU` and high-volume data transfer, and low-latency :term:`CPU` +operations respectively. + +The :term:`Oak Ridge National Laboratory` project team consists of: + +- `Maxim Ziatdinov (Principal Investigator) `_ + +.. figure:: stem.png + :name: intersect:arch:examples:stem:stem + :align: center + :width: 800 + + An autonomous microscopy science use case + +.. toctree:: + :name: intersect:arch:examples:stem:architecture + :maxdepth: 1 + :caption: Architecture + + pat + sos + ms diff --git a/examples/stem/ms.rst b/examples/stem/ms.rst new file mode 100644 index 0000000..5dccb23 --- /dev/null +++ b/examples/stem/ms.rst @@ -0,0 +1,5 @@ +.. _intersect:arch:examples:stem:ms: + +Microservices Architecture +-------------------------- + diff --git a/examples/stem/pat.rst b/examples/stem/pat.rst new file mode 100644 index 0000000..60ad120 --- /dev/null +++ b/examples/stem/pat.rst @@ -0,0 +1,75 @@ +.. _intersect:arch:examples:stem:pat: + +Science Use Case Design Patterns +-------------------------------- + +The autonomous microscopy science use +case :cite:`doi:10.1021/acsnano.1c02104` implements the +Experiment Steering strategic pattern +(:numref:`intersect:arch:examples:stem:pat:strategic`), as an ongoing :term:`STEM` +experiment is controlled by analyses of periodic experiment data. At the +strategic pattern level of abstraction, the individual pattern +components are as follows: + +- The experiment plan contains a complete description of the + predetermined actions to be performed for running the experiment, + including any parameters for operating the :term:`STEM`, safety-related + responses and how to analyze and judge experiment progress and change + the plan accordingly. The experiment plan also contains the goal of + the :term:`STEM` experiment to steer it in the right direction and to stop + its closed loop control upon completion. + +- The experiment controller executes an experiment using a + predetermined experiment plan and changes the plan’s parameters + during execution based on experiment progress. The plan’s execution + is autonomous, performed in a closed loop control and may involve + human interaction. + +- The test performed in an experiment determines the properties of + microscopic structures. + +- The experiment result is a combination of raw and analyzed :term:`STEM` data + and insights derived from this data. + +.. figure:: pat/strategic.png + :name: intersect:arch:examples:stem:pat:strategic + :align: center + + Experiment Steering strategic pattern for the autonomous microscopy + science use case + +The autonomous microscopy science use case implements the Distributed +Experiment Steering architectural pattern +(:numref:`intersect:arch:examples:stem:pat:architectural`), as an ongoing :term:`STEM` +experiment is controlled by remote analyses of periodic experiment data. +At the architectural pattern level of abstraction, the individual +pattern components are as follows: + +- In addition to the properties identified by the Experiment Steering + strategic pattern, the experiment controller is either local or + remote and may feature a :term:`GUI` or some other :term:`HMI`. + +- The actuator is part of the :term:`STEM` and moves the scanning electron + beam. + +- The test is performed in the :term:`STEM` experiment determines the + properties of microscopic structures. + +- The sensor is part of the :term:`STEM` and provides the raw microscope data. + +.. figure:: pat/architectural.png + :name: intersect:arch:examples:stem:pat:architectural + :align: center + + Distributed Experiment Steering architectural pattern for the autonomous + microscopy science use case + +Note that the strategic and architectural patterns present design +choices and not specifics about the implementation of the design. The +patterns present the overall control, data and work flow, but not the +detailed control messages, data transfers and orchestration. For +example, the analysis system may be a small, dedicated computer, a +larger, shared cluster computer, or an extreme-scale supercomputer. The +controller may be a separate dedicated laptop or server, or co-located +on the analysis system. Data transfers may be file-based or streaming. +Network connections between these components may be dedicated or shared. diff --git a/examples/stem/pat/architectural.drawio b/examples/stem/pat/architectural.drawio new file mode 100644 index 0000000..e67ea2f --- /dev/null +++ b/examples/stem/pat/architectural.drawio @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/stem/pat/architectural.pdf b/examples/stem/pat/architectural.pdf new file mode 100644 index 0000000..017fbb1 Binary files /dev/null and b/examples/stem/pat/architectural.pdf differ diff --git a/examples/stem/pat/architectural.png b/examples/stem/pat/architectural.png new file mode 100644 index 0000000..251ffbb Binary files /dev/null and b/examples/stem/pat/architectural.png differ diff --git a/examples/stem/pat/strategic.drawio b/examples/stem/pat/strategic.drawio new file mode 100644 index 0000000..646b3c6 --- /dev/null +++ b/examples/stem/pat/strategic.drawio @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/stem/pat/strategic.pdf b/examples/stem/pat/strategic.pdf new file mode 100644 index 0000000..eddf43d Binary files /dev/null and b/examples/stem/pat/strategic.pdf differ diff --git a/examples/stem/pat/strategic.png b/examples/stem/pat/strategic.png new file mode 100644 index 0000000..f5e0c84 Binary files /dev/null and b/examples/stem/pat/strategic.png differ diff --git a/examples/stem/sos.rst b/examples/stem/sos.rst new file mode 100644 index 0000000..dcb49fc --- /dev/null +++ b/examples/stem/sos.rst @@ -0,0 +1,53 @@ +.. _intersect:arch:examples:stem:sos: + +System-of-Systems Architecture +------------------------------ + + +.. _intersect:arch:examples:stem:sos:physical: + +Physical View +============= + + +.. _intersect:arch:examples:stem:sos:logical: + +Logical View +============ + + +.. _intersect:arch:examples:stem:sos:data: + +Data View +========= + + +.. _intersect:arch:examples:stem:sos:operational: + +Operational View +================ + + +.. _intersect:arch:examples:stem:sos:user: + +User View +========= + + +.. _intersect:arch:examples:stem:sos:standards: + +Standards View +============== + + +.. _intersect:arch:examples:stem:sos:standards:internal: + +Internal Standards +^^^^^^^^^^^^^^^^^^ + + +.. _intersect:arch:examples:stem:sos:standards:external: + +External Standards +^^^^^^^^^^^^^^^^^^ + diff --git a/examples/stem/stem.png b/examples/stem/stem.png new file mode 100644 index 0000000..fe22fb6 Binary files /dev/null and b/examples/stem/stem.png differ