Validation rules

An executor link can be made between a transaction kind and an actor role if it is valid.
An executor link between an actor role and a transaction will be reversed if it is valid.
An executor link can be made from a transaction kind to an elementary actor role or a composite actor role.
An executor link is valid if after making the executor link:
– a transaction kind only has one elementary role linked
– a transaction kind only has one composite actor role linked
– a transaction kind, one elementary actor role and a composite actor role are linked
– provided that the composite actor role has a realise relation with the elementary actor role
– a transaction kind, one elementary actor role and multiple composite actor roles are linked
– provided that the composite actor role has a realise relation with a composite actor role who is linked as an executor to a transaction
– a transaction can only be executed by the same actor role once
Errors:
– The transaction  is already executed
– There is already an executor between the transaction kind and an actor role
– An executor drawn between an actor role and a transaction link will automatically be reversed.