The Task Metamodel

The aim of the Task metamodel is the definition of a language capable of representing the relationship between task and entities that are immersed into a Context-Aware System (CAS) running in an Ubiquitous Computing Environment (UCE).

The Task model is based on the Workflow definition by the Workflow Management Coalition (WMfC) [2]. The conceptual mapping between WfMC workflow concepts and the Task Metamodel concepts is depicted on the following table.

Workflow concept TaMM concept
Task System Task
Process Task Model
Token Token
Sequential Route Task
Selective Split-OR Task
Iteration Route Task
Parallel Split-AND Task
Condition Condition

The Task metamodel defines two types of tasks: Routing tasks and System tasks. While System tasks define the system behavior, Routing tasks define the temporal relationship among System tasks. Examples of Systemn tasks are: Get Name, Show Clients, etc. There are 4 types of Routing tasks (aka Route tasks): Split-OR tasks (to define a selection among different routes according to target Task Pre Conditions), Join-OR tasks (to define a common route for a set of tasks satisfying target task Pre Condition), Split-AND tasks (to generare threads or define parallel task execution) and Join-AND tasks (to define task synchronization).

Conditions are employed to define system states. There are 4 types of Conditions: Initial Conditions (to define the initial conditions of entities that are part of the system), Pre Conditions (to define System task pre-conditions), Post Conditions (to define System task post conditions) and Final Conditions (to define final conditions of entities that are part of the system).

The task Metamodel is depicted in Figure 4 and Figure 5.

Task metamodel overview
Figure 4: Task metamodel overview
Task metamodel overview
Figure 4: Task metamodel overview
Task-Condition relationship
Figure 5:Task-Condition relationship

Therefore, in order to build a task model, the pattern depicted on Figure 6 should be followed.

Task Metamodel Pattern
Figure 6: Task Metamodel Pattern

The Figure 7 shows a Task model for the asynchronous exchange of files.

Asynchronous exhange of files
Figure 7: Asynchronous exhange of files

As can be seen in the example, Conditions are defined by 5 types of Expressions: Social expressions (So), Task expressions (Ta), Space expressions (Sp), Logic expressions (Lo) and Data expressions. All of these expressions should be satisfied to get the Condition satisfied.


[2] The Workflow Management Coalition (WfMC ).

You can reference this work as:
Ricardo Tesoriero, José A. Gallud, María D. Lozano and Víctor M. R. Penichet. CAUCE: Model-driven Development of Context-aware Applications for Ubiquitous Computing Environments
Journal of Universal Computer Science,  Vol. 16,  No. 15, pp. 2111-2138. 2010. Link: