This document describes how the dynamical part of the IMA Model is facilitated by the statical part. To view the scheme belonging to this document, please click on the above picture.
Original document by Fredrik D. Alink (1-10-2004)
| Running an Engine |
As stated, the Model is “running” by means of any number of Engines. An Engine is a sort of generic “pivot” to perform processes.
An Engine can perform one process at a time. Processes are modelled as Tasks, grouped together into Work Orders. Per Task, a Process Type definition defines the Task's behaviour.
At any moment in time, just one Resource can be responsible for the performance of a specific Work Order Task. This Resource is known as the “actor” of the Task.
Tasks (and so Work Orders) can be scheduled from one “actor” to another (“Work Flow Management”). Not every Resource can perform any Task. The Resource's User Type defines if this Resource is allowed to perform a specific Task.
The performance of a Task (by means of an Engine) is connected to the environment of the Model (and so to external events) through an Interface. The User Type defines the default Interface for a specific Task. This can be overruled by a preferred Interface for a specific Resource as “actor”.
Any activated Engine is a part of the Model's set of Engines. Through the Model, the Model's Business Aspects (servers) are available. Also, as stated above, the Engine knows an “actor” and a “user type”.
To start a new (next) Task for an Engine, a “next Work Order” must be available to it's current Task. Several Process Actions are available to place Work Orders in any Engine's running Task as “next Work Order”. Any of these Actions will tell the Engine involved to open the “next Work Order” as the Work Order to perform. By default (until overruled otherwise) the Work Order will start with it's Start Task.
When a Work Order (and all it's Tasks, Actions, et cetera) is created, this is done through an applicable Business Aspect (i.e. Process Control) using it's relevant Work Order Type (Task Types, Action Types, et cetera).
When a Task (within a Work Order) is opened, it is “synchronized” with the Engine. For a newly created Task, the specific running Engine's objects (order, actor) will also made available to the Task's Process. For an existing Work Order (from the Work Order queue), after this, all objects already available in the Work Order Task's Process are made available to the Engine. When this all is done, the correct Interface for the Task to run will be opened. All relevant Business Aspects are activated as Model Server (GME), all relevant objects are set, the applicable Interface widget is opened and initiated (for example: the mail is checked).
