This package implements frysk's process model of the target system.

Overview

FRYSK's process model provides a process-level view of the target system. The model consists of hosts (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.

Relational View: A Process Tree

Consistent with the underlying linux system, FRYSK's process model can be viewed as a collection of hosts, each host having a tree of processes:

Process Tree

Process 1 forms the root of the process tree.

The tasks, within a process, form a simple two level tree:

Task Tree

Methods for iterating over, and searching for, a host's process and tasks are provided.

Behavioral View: Message Passing State Machines

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:

Process State Model

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.