Nominal and structural typing seem to be fully working

This commit is contained in:
Andrei Bondarenko 2021-08-24 23:56:25 +02:00
parent f7430cceff
commit 695ec6132a
3 changed files with 77 additions and 25 deletions

View file

@ -52,11 +52,11 @@ class PN:
name_model = self.bottom.create_node()
String(name_model, self.bottom.state).create(name)
name_node = self.bottom.create_node(str(name_model))
self.bottom.create_edge(self.model, name_node, f"{name}.n")
self.bottom.create_edge(self.model, name_node, f"{name}.name")
name_link = self.bottom.create_edge(transition_node, name_node)
self.bottom.create_edge(self.model, name_link, f"{name}.n_link")
self.bottom.create_edge(self.model, name_link, f"{name}.name_link")
ltm_pn_node, = self.bottom.read_outgoing_elements(self.ltm_pn, "String")
ltm_pn_link, = self.bottom.read_outgoing_elements(self.ltm_pn, "T_n")
ltm_pn_link, = self.bottom.read_outgoing_elements(self.ltm_pn, "T_name")
self.bottom.create_edge(name_node, ltm_pn_node, "Morphism")
self.bottom.create_edge(name_link, ltm_pn_link, "Morphism")
@ -73,11 +73,11 @@ class PN:
weight_model = self.bottom.create_node()
Integer(weight_model, self.bottom.state).create(weight)
weight_node = self.bottom.create_node(str(weight_model))
self.bottom.create_edge(self.model, weight_node, f"{place}_to_{transition}.w")
self.bottom.create_edge(self.model, weight_node, f"{place}_to_{transition}.weight")
weight_link = self.bottom.create_edge(edge, weight_node)
self.bottom.create_edge(self.model, weight_link, f"{place}_to_{transition}.w_link")
self.bottom.create_edge(self.model, weight_link, f"{place}_to_{transition}.weight_link")
scd_node, = self.bottom.read_outgoing_elements(self.ltm_pn, "Integer")
scd_link, = self.bottom.read_outgoing_elements(self.ltm_pn, "P2T_w")
scd_link, = self.bottom.read_outgoing_elements(self.ltm_pn, "P2T_weight")
self.bottom.create_edge(weight_node, scd_node, "Morphism")
self.bottom.create_edge(weight_link, scd_link, "Morphism")
@ -94,11 +94,11 @@ class PN:
weight_model = self.bottom.create_node()
Integer(weight_model, self.bottom.state).create(weight)
weight_node = self.bottom.create_node(str(weight_model))
self.bottom.create_edge(self.model, weight_node, f"{transition}_to_{place}.w")
self.bottom.create_edge(self.model, weight_node, f"{transition}_to_{place}.weight")
weight_link = self.bottom.create_edge(edge, weight_node)
self.bottom.create_edge(self.model, weight_link, f"{transition}_to_{place}.w_link")
self.bottom.create_edge(self.model, weight_link, f"{transition}_to_{place}.weight_link")
scd_node, = self.bottom.read_outgoing_elements(self.ltm_pn, "Integer")
scd_link, = self.bottom.read_outgoing_elements(self.ltm_pn, "T2P_w")
scd_link, = self.bottom.read_outgoing_elements(self.ltm_pn, "T2P_weight")
self.bottom.create_edge(weight_node, scd_node, "Morphism")
self.bottom.create_edge(weight_link, scd_link, "Morphism")