The diagram at left shows STEMS in a data presentation context.
The user's web Browser asks a Rails Application for a web page.
Based on the request, the application asks STEMS
for the files it needs to generate the page (eg, data, images).
Alternatively, the user may enter information into the application.
This be will stored back in STEMS
(ie, in the File System, Git, and an RDBMS).
Acquisition and Analysis
The diagram at left shows STEMS in a data acquisition and analysis context.
The Runner script asks STEMS for configuration and status information.
Based on the response, it asks STEMS for the files it needs to run an app
(eg, code, configuration, input).
Note that it must obtain a specific version of a specific branch of each file.
The Runner script then runs some number of applications, via Capistrano.
As the horizontal lines hint,
these applications may be on other machines.
The output and status information from the run are then stored back in STEMS
(ie, in the File System, Git, and an RDBMS),
ready for further processing.
An application may perform any set of operations available to Capistrano
(ie, things that can be done via git, scp, ssh, etc).
- DT_Logger, at the left, is critical to Morinfo. Using dozens of DTrace probes, it can trace process activity on an entire computer system.
- Console (aka script/console) is critical to Arti. It can introspect on a Rails application, gaining information that would be difficult or impossible to obtain by static analysis of the application files.
- Other applications may perform data acquisition, follow-on analysis, or even output formatting (eg, GraphViz).
This wiki page is maintained by Rich Morin
an independent consultant specializing in software design, development, and documentation.
Please feel free to email
comments, inquiries, suggestions, etc!