OCL(Object Constraint Language)选择,使用sum作为属性

时间:2015-10-30 14:18:35

标签: uml constraints modeling ocl

我正在尝试找到 OCL表达式(计算器),但我不确定如何获取集合属性的总和。

我有一个班级Customer和一个班级Orders。我希望在Customer类,属性revenue中保存特定年份的所有订单的总和。 Orders具有'date_order'和'amount'属性。 给定是年份(日期)给出特定日期的年份,Date.now()给出当前日期。

我找到了这个解决方案:

context Customer::revenue

derive: self.orders -> select(year(datum_order) = (year(Date.now()) – 1)) -> collect(amount) -> sum()

我不想使用collect,但我真的不知道如何只使用select语句。我假设遗漏收集(金额)并将更改金额改为amount.sum()也不对吗?

我希望有人能用这个表达来帮助我。

0 个答案:

没有答案