PlantUML: Also render 'RAMifies' links between attributes
This commit is contained in:
parent
0bcee87bc1
commit
80beadfe08
2 changed files with 13 additions and 11 deletions
|
|
@ -174,7 +174,7 @@ def main():
|
||||||
print(plantuml.render_package("Meta-Model", plantuml.render_class_diagram(state, dsl_mm_id)))
|
print(plantuml.render_package("Meta-Model", plantuml.render_class_diagram(state, dsl_mm_id)))
|
||||||
print(plantuml.render_package("RAMified Meta-Model", plantuml.render_class_diagram(state, ramified_mm_id)))
|
print(plantuml.render_package("RAMified Meta-Model", plantuml.render_class_diagram(state, ramified_mm_id)))
|
||||||
|
|
||||||
# Render ramification traceability links
|
# Render RAMification traceability links
|
||||||
print(plantuml.render_trace_ramifies(state, dsl_mm_id, ramified_mm_id))
|
print(plantuml.render_trace_ramifies(state, dsl_mm_id, ramified_mm_id))
|
||||||
|
|
||||||
# Render host graph
|
# Render host graph
|
||||||
|
|
|
||||||
|
|
@ -106,20 +106,21 @@ def render_trace_ramifies(state, mm, ramified_mm):
|
||||||
mm_scd = scd.SCD(mm, state)
|
mm_scd = scd.SCD(mm, state)
|
||||||
ramified_mm_scd = scd.SCD(ramified_mm, state)
|
ramified_mm_scd = scd.SCD(ramified_mm, state)
|
||||||
|
|
||||||
# output = (
|
|
||||||
# render_package("original", render_class_diagram(state, mm))
|
|
||||||
# + '\n'
|
|
||||||
# + render_package("RAMified", render_class_diagram(state, ramified_mm))
|
|
||||||
# )
|
|
||||||
|
|
||||||
output = ""
|
output = ""
|
||||||
|
|
||||||
# output += "\n"
|
# Render RAMifies-edges between classes
|
||||||
|
|
||||||
for ram_name, ram_class_node in ramified_mm_scd.get_classes().items():
|
for ram_name, ram_class_node in ramified_mm_scd.get_classes().items():
|
||||||
original_class, = bottom.read_outgoing_elements(ram_class_node, ramify.RAMIFIES_LABEL)
|
original_class, = bottom.read_outgoing_elements(ram_class_node, ramify.RAMIFIES_LABEL)
|
||||||
original_name = mm_scd.get_class_name(original_class)
|
original_name = mm_scd.get_class_name(original_class)
|
||||||
output += f"\n{make_id(ram_class_node)} ..> {make_id(original_class)} #line:green;text:green : RAMifies "
|
output += f"\n{make_id(ram_class_node)} ..> {make_id(original_class)} #line:green;text:green : RAMifies"
|
||||||
|
|
||||||
|
# and between attributes
|
||||||
|
for (ram_attr_name, ram_attr_edge) in od.get_attributes(bottom, ram_class_node):
|
||||||
|
orig_attr_edge, = bottom.read_outgoing_elements(ram_attr_edge, ramify.RAMIFIES_LABEL)
|
||||||
|
orig_class_node = bottom.read_edge_source(orig_attr_edge)
|
||||||
|
# dirty AF:
|
||||||
|
orig_attr_name = mm_scd.get_class_name(orig_attr_edge)[len(original_name)+1:]
|
||||||
|
output += f"\n{make_id(ram_class_node)}::{ram_attr_name} ..> {make_id(orig_class_node)}::{orig_attr_name} #line:green;text:green : RAMifies"
|
||||||
|
|
||||||
return output
|
return output
|
||||||
|
|
||||||
|
|
@ -142,12 +143,13 @@ def render_trace_conformance(state, m, mm):
|
||||||
|
|
||||||
def render_trace_match(state, mapping):
|
def render_trace_match(state, mapping):
|
||||||
bottom = Bottom(state)
|
bottom = Bottom(state)
|
||||||
|
class_type = od.get_scd_mm_class_node(bottom)
|
||||||
|
|
||||||
output = ""
|
output = ""
|
||||||
|
|
||||||
for pattern_el, host_el in mapping.items():
|
for pattern_el, host_el in mapping.items():
|
||||||
# only render 'match'-edges between objects (= those elements where the type of the type is 'Class'):
|
# only render 'match'-edges between objects (= those elements where the type of the type is 'Class'):
|
||||||
if od.get_type(bottom, od.get_type(bottom, pattern_el)) == od.get_scd_mm_class_node(bottom):
|
if od.get_type(bottom, od.get_type(bottom, pattern_el)) == class_type:
|
||||||
output += f"\n{make_id(pattern_el)} ..> {make_id(host_el)} #line:grey;text:grey : matchedWith"
|
output += f"\n{make_id(pattern_el)} ..> {make_id(host_el)} #line:grey;text:grey : matchedWith"
|
||||||
|
|
||||||
return output
|
return output
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue