10.3.6. Contextualization of automatic actions and notifications

Automatic actions are predicated on state change. A modeler may refer to a state change defined in an imported model. Such actions, however, are stored with the state definition itself. This poses a problem: a modeler may not change an ‘upstream’ model (he need not have authoring rights of that model).

This is a problem similar to that of calculated perspective objects, where the object role type is defined in another model. We have devised a mechanism that consists of a store of inverted queries in a model, that are distributed over imported models in the installation. In other words, we extend upstream models – but only locally, each time as a user installs a model.

We will apply a similar mechanism to automatic actions that predicate on an aspect state (a state of an aspect context or role that are defined in an upstream model).

Automatic actions itself need no contextualization, as we’ve shown above.

The same reasoning applies to notifications, that predicate on state changes, too.

Design decision IV:

automatic actions and notifications are distributed over upstream models in runtime.