0

我是合金新手。我需要合金串联和并联电路的帮助。我为串联电路建模了一个图,但是当我省略串联的自循环时,它也不起作用,它也只显示了该系列的一个实例。我必须显示开关何时打开,串联灯泡打开......所以它们是状态的签名,并且 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 
4

1 回答 1

1

我的建议是从一些非常小而简单的事情开始。例如,您可以拥有电线、电池和灯泡,并将灯泡子集到打开或关闭的灯泡中。您的模型看起来有问题的一件事:仅将电线连接到元素是不够的:您需要确定电线连接到元素的哪一侧。

于 2013-04-26T15:31:09.727 回答