(01) … | (02) SETS | (03) USERS = , David, Alice, ; | (04) ROLES = , Supervisor, SystemAdministrator, ; | (05) OBJECTS = , Person, MeetingNotify, MeetingCancel, MeetingModifyStart, | MeetingModifyDuration, ; | (06) ACTIONS = , create, modify, delete, fullAccess, ; … | (07) VARIABLES | (08) UsersRolesAssig, RolesHierarchy, PermissionsRolesAssig, … | (09) INVARIANT | (10) UsersRolesAssg: USERS POW(ROLES) & | (11) RolesHierarchy: ROLES ROLES & | (12) PermissionsRolesAssig: ROLES (OBJECTS POW(ACTIONS))& … | (13) INITIALISATION | (14) UsersRolesAssg ≔ ), (Charles ), (David | ), (Alice | (15) RolesHierarchy := SystemAdministrator), (Director SystemUser), | (Supervisor | (16) PermissionsRolesAssig ≔ (Meeting )), (SystemUser | (Meeting )), (SystemAdministrator (Meeting )), | (SystemAdministrator (Person )), (Supervisor (Meeting )), | (Supervisor (Meeting )), (Supervisor (MeetingCancel | )), (Supervisor (MeetingNotify )), (Director (Meeting )), | (Director (Meeting )), (Director (Meeting )), | (Director (Person | (17) … |
|