OCL功能操作

时间:2014-02-09 20:25:06

标签: uml modeling ocl

我需要帮助进行OCL操作才能通过我的硕士课程。我对OCL语言了解不多。

接下来我要做的是:

  

实施操作:

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

此操作返回true,当且仅当存在其玩家名称为playerName的玩家时,该玩家将具有属性hasTurn为true且游戏板在调用一个操作validMovement(移动)时返回true。

     

假设操作Board:validMovement(g:Game):bool存在,并且在OCL中不需要记录它。

1 个答案:

答案 0 :(得分:2)

可能是那样的吗?我不知道是否可以......

context Server :: validMovement(namePlayer:String,movement:Movement):boolean

发布:result = self.games-> one(g:Game | p.plars-> exists(p:Player | p.name = namePlayer和p.hasTurn = true)和p.board.validMovement(运动))