This is an old revision of the document!
grantAssistantRights(ident username, ident exerciseId) {
assume exists //accounts/account[username]; # implicitly true in OO implementations
assume exists //exercises/exercise[exerciseId];
assume not exists //accounts/account[username]/assistant[exerciseId]);
assume not exists //exercises/exercise[exerciseId]/assistant[account]; # implied by integrity and the assumption before
insert //accounts/account[username] <assistant exercise=[exerciseId] />;
insert //exercises/exercise[exerciseId] <assistant account=[account] />;
}