Uml 参数中的OCL验证值
我想为我的方法addPlayer创建一个不变量,以便它验证参数Player是否存在 例如:Uml 参数中的OCL验证值,uml,ocl,Uml,Ocl,我想为我的方法addPlayer创建一个不变量,以便它验证参数Player是否存在 例如: Class Game Method: addPlayer(param Player) 不确定语法是否有效如果约束本身有意义,我就不打算讨论了。只是一些评论,以帮助您理解本例中的OCL 不变量是在类上创建的。它们在操作上下文中没有意义 也许你想要的是手术 “exists”是处理集合的运算符(存在量词)。关键是,您正在使用参数p1(通过执行pl->exists(…))隐式创建一个集合,因此您的约束将始终为真
Class Game
Method: addPlayer(param Player)
不确定语法是否有效如果约束本身有意义,我就不打算讨论了。只是一些评论,以帮助您理解本例中的OCL
pl->exists(…)
)隐式创建一个集合,因此您的约束将始终为真context Game::addPlayer(pl:Player)
inv pl->exists( p : Player | p.playerID = pl.playerID )
context Game::addPlayer(pl:Player)
pre : Player.allInstances()->exists(p : Player | p.playerID = pl.playerID )