我是合金系的新手。我需要帮助的串联和并联电路的合金。我有一个串联电路的模型图,但当我省略串联中的自循环时,它不工作,它也只显示串联的一个实例。我必须显示开关何时打开,串联灯泡何时打开...所以它们是状态的签名,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 发布于 2013-04-26 23:31:10
我的建议是从非常微小和简单的东西开始。例如,您可以使用电线、电池和灯泡,并将灯泡子集为打开或关闭的灯泡。您的模型有一点看起来是错误的:仅仅将导线连接到元素是不够的:您需要确定导线连接到元素的哪一侧。
https://stackoverflow.com/questions/16185667
复制相似问题