如何将自然语言转换为OCL约束?

时间:2018-05-31 21:43:31

标签: constraints uml class-diagram ocl

我有一个类图,它包含一个名为SYSTEM的类。我已经为这个系统的可用性写了一个约束。

例如:

系统应全天候可用。

现在我想将上述语句转换为OCL约束。我是OCL的新手。我搜索并尝试了一些研究papers和视频,但没有找到具体的可用性。

1 个答案:

答案 0 :(得分:1)

Ar运行时间:OCL使用瞬时系统状态评估和检查查询。

OCL不支持时间,但您可以通过Google for Temporal OCL查看各种研究人员正在做什么。更一般地说,时间是一个没有坚实解决方案的活跃研不变,OCL只能访问一个正常运行的变量并检查它是否超过24小时....当你第一次启动时,你的系统是否应该失败,因为它没有全天候可用?

如果您考虑具体的查询,那显然是不可能的。在实践中,设计者可以针对相关的可预见的故障机制分析一/二/三/ ......倍数冗余系统的故障率。任何系统都不可能在不可预见的失败中幸存下来,更不用说某些内部人员或消息灵通的局外人的恶意行为了。同样更现实的是,应该有一个SLA每年接受一定量的停机时间,停机时间越短,成本就越高。

在设计时,您可以使用OCL作为设计约束的公式。例如计算单个服务器的总体故障率的数学,或冗余服务器的复合故障率。但OCL不是我复杂浮点计算的首选。