用于串联和并联电路的模型合金

时间:2013-04-24 07:14:25

标签: analyzer alloy

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

1 个答案:

答案 0 :(得分:1)

我的建议是从一些非常简单的东西开始。例如,您可以将电线,电池和灯泡以及子集灯泡打开或关闭。你的模型看起来有些问题:仅仅将导线连接到元件就不够好了:你需要确定导线所连接的元件的哪一侧。