Host
), processes
(Proc
), and tasks (Task
, a.k.a., threads).
Frysk provides both behavioral and relational views of that model.
The following sections describe each of those views.
Process 1 forms the root of the process tree.
The tasks, within a process, form a simple two level tree:
Methods for iterating over, and searching for, a host's process and tasks are provided.
The process model can also be viewed as a collection of independent state-machines. Each state-machine instance tracks the state of the corresponding host, process, or task.
For instance, a process(or {@link frysk.proc.Proc} object) has the following states:
The client manipulates a state-machine instance by sending it request messages. The state-machine, in turn, notifies interested client of state transitions that result from these requests, and other asynchronous events, using observers.
Finally, the individual state-machine uses internal messages to co-ordinate the systems overall state.