[英]How to model a consitent database in alloy?
合金新手在这里。 我正在尝试建立一个包含用户和一些医疗信息的医疗数据库。
sig User{
name: one String,
surname: one String,
socialNumber: one String,
address: one String,
age: one Int,
registration: one UserCredential,
healthStatus: one HealthInformation
}{
age>0
}
sig UserCredential{
user: one String,
pass: one String,
mail: one String
}
sig HealthInformation{}
sig Data4Help{
users: some User,
}
pred show(d:Data4Help){
#d.users>1
}
run show for 10
分析器告诉我模型不一致:
执行“ 10个放映节目”求解器= sat4j位宽= 4 MaxSeq = 7 SkolemDepth = 1对称= 20 5448 vars。 510个主要变量。 12578条。 16毫秒。 找不到实例。 谓词可能不一致。 0毫秒。
你们能告诉我为什么吗? 我想要的只是将数据库“ Data4Help”链接到某些用户,该关系的定义可能不正确,但我不知道为什么。 谢谢
问题在于合金在琴弦方面有一些麻烦。 默认情况下,字符串签名定义了一组空原子。 如果要在模型中使用字符串,则必须使用“您自己的字符串”填充该集合。
请参阅如何在合金中使用弦乐?
在模型中,您可以添加以下简单事实
fact initPoolOfString{
String in "insert"+ "your"+"dummy" + "strings" + "here"
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.