我是合金的新手。 我需要帮助合金中的串联和并联电路。 我为串联电路建模了一个图形,但是当我省略自循环时,它不起作用 它也只显示了该系列的一个实例。我必须显示开关打开时,系列中的灯泡是否打开...所以它们是状态的签名,而On和Off扩展状态..
我的代码是:
abstract sig state{}
one sig on extends state{}
one sig off extends state{}
sig CE{}
//one sig battery extends CE{}
abstract sig bulb extends CE{
bs : one state
}
abstract sig switch extends CE{
ss : one state
}
sig Circuit{
battery: one CE,
/*eles: set state,
battery:one eles,
switch : set eles,
bulb : set eles,
wire: eles one-> one eles*/
wire: CE->CE
}{
//all e:CE | #(e.wire)=1 and #(wire.e)=1
battery.^wire=CE
//no iden & wire
//all e:CE | e->e not in wire
}
pred show{}
run show for 1 Circuit, 5 CE
答案 0 :(得分:1)
我的建议是从一些非常简单的东西开始。例如,您可以将电线,电池和灯泡以及子集灯泡打开或关闭。你的模型看起来有些问题:仅仅将导线连接到元件就不够好了:你需要确定导线所连接的元件的哪一侧。