Afgeronde rechthoek: Top of book Afgeronde rechthoek: Managers track Afgeronde rechthoek: Technical track Afgeronde rechthoek: Previous page Afgeronde rechthoek: Home





Specifying schedule plans

Specifying schedules

A schedule is a set of tasks that may execute in a given system mode. The tasks may operate in sequence and in multi-threaded systems the tasks may operate in parallel. Each schedule refers to the connection scheme that is installed in the corresponding system mode.

Specifying tasks

The specification states the index of the thread on which the task will reside. In single-threaded systems, this index is ignored.

Further the specification contains:

        A reference to the package that contains the class where the task is started

        A reference to the class where the task is started

        A Boolean stating whether the instance is created dynamically

        The index of the instance where the task is started

        The name of the interface where the primary task is started

        A specification of the primary method

        For each parameter of this method the initial value is specified

        A Boolean that states whether the task is vulnerable

        If the task is vulnerable

o       The name of the interface where the repair task is started

o       A specification of the repair method

o       For each parameter of this method the initial value is specified

        The initial priority of the task

        The stack-size of the task

        A Boolean whether the task is preempted

Initial priorities

The initial values of priorities of tasks are set by the designer or they are computed by the scheduler. For real-time tasks, the scheduler may use a scheduling algorithm based on rate monotonic priority assignment. For equal RMA priorities the scheduler may use the closest deadline criterion.

Specifying connection schemes

Specifying schemes

A scheme is a set of connections that exist in a given state between modules. A connection is a combination of two instances of module classes, a require interface of the client module and a normal interface of the server module.

Specifying connections

Connections consist of:

        Client module class

        Client module instance index

        Client module require interface name

        Server module class

        Server module instance index

If the client or the server is created dynamically then in the specification the index of the instance is a negative value.

Specifying states

A state contains a set of references to assets and the values of these assets. A state can be divided in sub-states. The smallest sub-state contains a single reference and a single value. The relation between a state and its sub-states can be viewed via state-charts. State-charts can also indicate potential state transitions.

Specifying state transitions

A state transition consists of an ordered set of references to assets for which the values have changed and two ordered sets of asset values. The first set contains the original values. The second set contains the values after the transition. During a state transition a complete sub-state transfers into a sub-state that covers the same assets.

Specifying triggers

A trigger consists of four parts:

        The current state

        A set of target states

        A set of candidate subtasks

        A reasoning why the chosen subtask must be used

The chosen subtask is a selection out of a set of possible subtasks. Each task out of this set could lead to one of the target tasks. The chosen subtask transforms the current state into one of the target states. The chosen subtask is the most relevant part of the trigger. It determines the next step in the execution path. The reasoning is helpful in understanding why that execution path is taken. The chosen subtask may be stopped and the rest of the execution can be taken by a subtask that follows a different execution path. As with plans, execution paths are followed until new insights arrive.

Specifying targets

A target consists of a set of states. It may be so that these states have a common sub-state that completely specifies the target.

A scheduler may rephrase the target.



Afgeronde rechthoek: Top of page Afgeronde rechthoek: Next page