Stem Technical Notes Stem Architecture This describes the top level architecture of Stem, in particular what its components are (Hubs and Cells) and how they work together. Stem Cells This describes Stem Cells, the primary components of a Stem system. It covers both class and object type Cells, their creation and registration and their method conventions. Stem Messages This describes the content and fields of Stem messages. These are used to communicate between Stem Cells. Stem Registry and Message Addresses This describes how Cells are registered so they can receive messages and the way messages are addressed. Cell Creation and Configuration Stem Cells can be created internally via a constructor or from external configurations. This describes the common systems used to create and register Cells. Logging Subsystem This describes the Stem logging subsystem including logical logs, log files, log filters and how to submit log entries. Cron Subsystem This describes the Stem Cron subsystem and how it can schedule regular Stem message submissions based on time and date. Stem Events This describes the low level Stem Event subsystem including reading, writing and socket events. Security Notes This describes the Stem security model and its features. Stem Cell and Module Notes These are some of the Cells and modules in the Stem library. These notes will describe what they are, why they are needed and how they are used. Also some examples of their use and configuration are given. For detailed descriptions of their configuration, attributes, and methods see their documentation (available in the source tree or ) NOTE to jasmine: when we get the pod generation stuff going soon, we will make html versions of the pod docs and web them. they need to be linked from each cell tech notes and be in a documentation subdir with a nav bar link. this is later but i am just letting you know now. NOTE: also i am going to list all of the cells here, even if they don't have a tech notes page yet. make an empty one for them. we should come up with a template for their names, format, etc. i want to drop the 'notes' part in most cases. Stem::Conf This module parses and executes Stem configurations from both local files and sent from remote Stem Hubs. Stem::Proc This Cell forks off and manages external processes. They can be monitored and all their I/O can be easily be integrated with Stem via messages, logs and/or callbacks. Stem::SockMsg This Cell connects to and accepts standard Internet sockets. They can be monitored and all their I/O can be easily be integrated with Stem via messages, logs and/or callbacks. Stem::Cron This module creates and manages scheduled message submissions. Stem::Log This module supports the Stem logging subsystem. It encompasses the Stem::Log::File, Stem::Log::Filter and Stem::Log::Entry classes. Stem::LogTail This Cell monitors an active external log file. It sends new data into the Stem logging subsystem on periodic basis or on demand. Stem::Switch This Cell is a general purpose Stem Message multiplexor. Messages directed to this Cell can be Stem::Debug This class is used to create standard and customized debug and trace subs in any Stem module. The used Stem::Id This class is used to create ID's for dynamically created Cells that need unique addresses. Stem::Portal This class creates and manages connections between Stem Hubs. It converts Stem Messages to/from a stream format for transmission over the connection. Stem::AsyncIO This class is used by other Cells to create and manage buffered I/O streams to sockets and process handles. Stem::Socket This class is the low level API to create socket connections and accepted sockets. Stem::TtyMsg This class Cell is used to provide a TTY interface to a running Stem Hub. Stem command messages can be entered and sent to Cells and their responses are printed.