Wrapping function that checks all available role constraints for all core objects and its roles after the given function was executed.
Wrapping function that checks all available role constraints for all core objects and its roles after the given function was executed. Throws a RuntimeException if a role constraint is violated!
the function to execute and check role constraints afterwards
Adds an role equivalent constraint between the given role types.
Adds an role equivalent constraint between the given role types. Interpretation: if a core object plays an instance of role type A it also has to play an instance of role type B and visa versa.
type of role A that should be played implicitly if B is played
type of role B that should be played implicitly if A is played
Adds an role implication constraint between the given role types.
Adds an role implication constraint between the given role types. Interpretation: if a core object plays an instance of role type A it also has to play an instance of role type B.
type of role A
type of role B that should be played implicitly if A is played
Adds an role prohibition constraint between the given role types.
Adds an role prohibition constraint between the given role types. Interpretation: if a core object plays an instance of role type A it is not allowed to play B as well.
type of role A
type of role B that is not allowed to be played if A is played already
Allows to add and check role constraints (Riehle constraints) to a compartment instance.