9.6. The AN Formalism
Formally, an AN is defined on the basis of a set of object types OT, a set of event types ET and a set of activity types AT as a directed graph ⟨ N, D ⟩ with two types of nodes N = EN ⋃ AN, event nodes and activity nodes, and two types of directed edges D = ED ⋃ AD, event scheduling edges and resource-dependent activity scheduling edges, with ED ⊆ N ⨉ EN and AD ⊆ N ⨉ AN, such that
each event node n ∈ EN is associated with
- an event type E ∈ ET with event participation roles PE,
- an event variable e representing an event of type E,
- a (possibly empty) set of auxiliary (shortcut) object variables o defined with the help of event participation roles p ∈ PE by setting o := e.p,
- a (possibly empty) set of definitions of on-event object state transition functions { fp | p ∈ PE };
each activity node n ∈ AN is associated with
- an activity type A ∈ AT with activity participation roles PA,
- an activity variable a representing an activity of type A,
- a (possibly empty) set of auxiliary (shortcut) object variables o defined with the help of activity participation roles p ∈ PA by setting o := a.p,
- a (possibly empty) set of definitions of on-activity-start object state transition functions { sfp | p ∈ PE };
- a (possibly empty) set of definitions of on-activity-end object state transition functions { efp | p ∈ PE };
- each event scheduling edge ⟨ n1,
n2 ⟩ ∈ ED may be associated with
- a numeric delay expression δ possibly expressed with the help of the variables associated with n1,
- a condition (or Boolean expression) C expressed with the help of the variables associated with n1.