【发布时间】:2014-10-25 16:45:51
【问题描述】:
我对合金及其功能也很陌生。最近,我有一个关于简单状态机的任务:begin_state->normal_state->end_state。只有一个 begin_state,但有一些 normal_state 和一些 end_state。然后我不能用下面的合金代码使实例视图正确:
abstract sig state
{
prev : some state,
next : some state
}
one sig begin extends state{}
some sig end extends state{}
sig mid extends state{}
//There is no state after end state, and there is no state before begin state
pred dosomething
{
no s : state | s in begin.prev and s in end.next
}
run{dosomething}
所以基本上我只想要在开始状态之前没有状态,在结束状态之后没有状态,实例示例可以是这样的:
开始->正常->结束
或
开始->正常->结束
|
正常->正常->结束
|
正常---正常
| |
结束
...类似的东西。谢谢
【问题讨论】: