我正在尝试创建一个代表完整“产品”的模型。
“产品”由使用连接器连接在一起的多个部分组成。一部分将“提供”连接器,另一部分将“要求”连接器
一般产品将至少由外壳和底板组成。底板本身可以提供处理器,但也可以提供可以将处理器插入其中的插槽。
外壳的尺寸将限制可在特定外壳中使用的底板的尺寸。背板可以具有多个(不同类型的)插槽,每个插槽可以承载一个处理器,但是处理器和插槽必须匹配。总共至少必须有一个处理器
有效产品的具体示例是
Housing A
+- max width 100
Backplane B
+ width 90
+ socket type A
+ socket type A
processor
+ processor model Y
+ socket type A
另一个有效产品将是
Housing B
+- max width 50
Backplane C
+ width 50
+ processor model X <-- This is builtin to the backplane
最终有效产品
Housing B
+- max width 50
Backplane C
+ width 50
+ processor model X <-- This is builtin to the backplane
+ daughterboard D
+- socket type A
processor
+ processor model Y
+ socket type A
如何建模这些处理器和背板之间的依存关系,或者外壳尺寸和背板尺寸。我一直试图使它与GenericRelations和类型Provides / Requires的模型一起使用,但是却迷失了方向。
例如,我希望将特定的外壳添加到产品中之后,对可用底板的选择进行过滤,或者一旦选择了底板,就对可用处理器的选择进行过滤
有什么建议吗?