2

在状态模式中这是如何建模的?

当当前状态为 A 时,触发器 X 上的状态 A 到状态 B 和条件 C1

当当前状态为 A 时,触发器 X 和条件 C2 上的状态 A 到状态 C

这通常是如何完成的?我有很多可能需要实施的警戒条件。

4

1 回答 1

1

这是相当标准的,例如这个例子

[根据它不是作业进行编辑!]

假设我理解正确:

  • 您有一个事件 ( X) 可以触发两种可能的转换之一
  • 根据哪个条件成立(C1C2)选择哪个转换为触发

如果是这样,那是使用保护条件的标准情况。语法是:

  • X[C1]作为转换 A->B 上的标签,以及
  • X[C2]在转换 A->C 上。

C1 & C2 必须评估为布尔值,因此可以var==2根据您的评论进行替换。即标签将变为X[var==2]and X[var==3]

为了在语义上正确,C1 和 C2 在状态 A 中必须互斥 - 否则你有不确定性。

hth。

于 2011-04-20T12:04:10.597 回答