The declarative process model described uses a set of constraints that define how an activity should be executed or processed. In this model, there are several activities such as:

  * Payment Handling
  * Declaration FINAL_APPROVED by SUPERVISOR (previously referred to as "Request Payment") and then sent on its way.
  * Request Payment (for example) is executed at least once. Note that a single request payment can lead to multiple future payments.

The model also specifies several constraints about the events:

  * A given activity (A) occurs exactly once when declaring it finalized.
  * If B has already occurred, A also occurs.

These constraints are strengthened by requiring:

  * The responses should alternate between execution of one activity and its successor (for example: 'Request Payment' -> 'Payment Handled').
  * Precedence constraints are made explicit with the condition that any events following a response must occur in sequence without repetitions.
  * Co-Existence is defined as events A and B occurring exactly once when declared respectively, regardless of whether they follow each other or not.
  * Succession specifies how to move events forward by one (for example: if request payment occurs, then payment handled), with a direct successor specified for each activity.

The chain of events should be governed by the 'request payment', 'payment handled' and 'declaration finalized' constraints. The relationship between the 'request payment' and its response is as follows:

  * ('Request Payment', 'Payment Handled')
  * ('Payment Handled', 'Declaration FINAL_APPROVED by SUPERVISOR')

The relationships between the responses and the precedence constraints are given in the example provided.

In summary, the data model describes a set of activities related to payments and its execution. The constraints define how these activities should be executed or processed.