1. Component Specification

Functional port (Γ):

Functionalities of the component provide with name, input and output. Invoked by rules operational port.

 

Control port (Σ)

Sensor:

Functions to get the component state and metrics, the returned state and metrics are used for policy conditions.

Actuator:

Functions to modify component state or configurations such as Maximum connection number for a web server. They are usually used as the action part of policy.

ξ is the constraint set that controls access to the sensors/actuators.

 

Operational port (Θ) defines the interfaces to formulate, inject and manage rules, and encapsulates a set of rules that are used to manage the runtime behaviors of the autonomic component.

Interaction rules control the interactions between components, between components and their environments, and the coordination within an autonomic application.

Behavior rules control the runtime functional behaviors of autonomic components and applications. For example, behavior rules can control the algorithms, data representations or input/output formats used by a component and an application.


One
Rule is in the format: <Condition, Action>

Condition is as logical combination of component sensors, functional port functions state or events from outside.

      Condition can be:

Sensors in control port

Functions in functional port

Events from outside (For example: Other components state change in event server)

Component state can be:

1.        IDLE

2.        RUNNING

3.        FAILURE

4.        FINISH

5.        PAUSE

6.       RESUME

 

Action can be the sensor/actuator functions, functional port functions, or generate an event.

Action can be:

Sensor/Actuator IN control por

Functions IN functional port

Report a state change event to outside (Event Server).

                    The state {IDLE, RUNNING, FAILURE, FINISH, PAUSE, RESUME}

 

 

Configuration Port is a set of prerequisite attributes used by initial configuration of the autonomic component. It defines the following attributes:

Component name                   

Component version         

Machine_Type

OS_Name

OS_Version

CPU_Util

Memeory

Disk

Network_Bandwidth,                                      

Number of instance of the component 

 

2. Autonomic Component Representation Template 

<! -- Functional port Γ to specify functionalities (interfaces) --!>

<Function name = >

       <Input></input>

       <Output></output>

</function>

 

<! -- Control port (Σ = (σ, ξ)) to specify sensors and actuators --! >

<Sensor>

       <Name></name>

       <Input></input>

       <Output></output>

</Sensor>

 

<Actuator>   

<Name></name>

       <Input></input>

       <Output></output>

</Actuator>

<! -- Configuration Port to define a set of prerequisite attributes

<Property>

<Component name></Component name>

<Component version></Component version>

<Machine_Type></Machine_Type>

<OS_Name></OS_Name>

<OS_Version><OS_Version>

<CPU_Util></CPU_Util>

<Memeory></Memeory>

<Disk></Disk>

<Network_Bandwidth></Network_Bandwidth>

<Number_of_instance_component></Number_of_instance_component>

</property>

 

<! -- Operational port  (Θ) to specify the policies to manage the deployment/runtime behaviors --!>

<! -- Interaction Rules -->

<Policy>

</Policy>

 

<! -- Behavior Rules -->

<Policy>

</Policy>

 

 

3. Current Autonomia Architecture