OCL функция-операция

Мне нужна помощь с операцией OCL, чтобы передать один из предметов моего магистра. Я не знаю много о языке OCL.

Я должен сделать следующее:

Выполните операцию:

Server::validMovement(playerName:String, movement:Movement):bool

Эта операция возвращает true, если и только если существует игра, в которой есть один из игроков с именем playerName, у этого игрока атрибут hasTurn равен true, а игровое поле возвращает true при вызове одной операции validMovement (движение).

Предполагается, что операция Board:validMovement(g:Game):bool существует, и это НЕ обязательно документально это в OCL.

1 ответ

Может ли это быть что-то подобное? Я не знаю, нормально ли это или нет...

Context Server:: validMovement (namePlayer: Строка, движение: Движение): логическое значение

post: result = self.games->one(g: Game | p. Players-> существует (p: Player | p.name=namePlayer и p.hasTurn=true) и p.board.validMovement(движение))

Другие вопросы по тегам