Control Flow


STEMS_3.png 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

STEMS_2.png 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). For example...

  • 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!

Topic revision: r2 - 12 Jun 2008, RichMorin
This site is powered by Foswiki Copyright © by the contributing authors. All material on this wiki is the property of the contributing authors.
Foswiki version v2.1.6, Release Foswiki-2.1.6, Plugin API version 2.4
Ideas, requests, problems regarding CFCL Wiki? Send us email