Next: Generation
of Knowledge base Up:
Polus Framework Previous: Polus Framework
In Polus, an action is represented as a
software object and is referred to as an action object. The attributes
of the action object are a triplet of the form , defined as follows:
: This defines the impact of action
invocation on the system behavior. The value of the impact function is
dependent on the current state.
: This represents the dependencies
of the action on system state (i.e. the prerequisites for invoking the action).
The prerequisites are defined in terms of thresholds on resources and workload
characteristics. Preconditions can be visualized as defining boundaries to the
state-space, since the impact of invoking the action beyond the boundaries is
not captured by the action object. Preconditions are represented as
exclusion/inclusion lists.
: This attribute defines the details associated with the actual action invocation. This includes parameters that need to be passed during invocation function( e.g., to invoke prefetching, the prefetch size needs to be passed), the increment size, and the transient resource costs for action invocation. The details of action invocation are defined in terms of unit invocation, which is similar to that used in implications.
Figure 5 gives the example of the prefetch action object. More complex actions such as replication have additional base invocation parameters such as number of replicas, the data-set to replicate, selecting the component where the replicas will be stored. Polus assumes that the semantics for generating the values for these replication parameters will come from a separate resource planning tool.
Next: Generation of Knowledge base Up: Polus
Framework Previous: Polus Framework