metacircularity.py 833 B

123456789101112131415161718192021222324252627
  1. from state.devstate import DevState
  2. from bootstrap.scd import bootstrap_scd
  3. from services.scd import SCD
  4. from concrete_syntax.plantuml import renderer as plantuml
  5. def main():
  6. state = DevState()
  7. root = state.read_root() # id: 0
  8. scd_mm_id = bootstrap_scd(state)
  9. uml = ""
  10. # Render SCD Meta-Model as Object Diagram
  11. uml += plantuml.render_package("Object Diagram", plantuml.render_object_diagram(state, scd_mm_id, scd_mm_id, prefix_ids="od_"))
  12. # Render SCD Meta-Model as Class Diagram
  13. uml += plantuml.render_package("Class Diagram", plantuml.render_class_diagram(state, scd_mm_id, prefix_ids="cd_"))
  14. # Render conformance
  15. uml += plantuml.render_trace_conformance(state, scd_mm_id, scd_mm_id, prefix_inst_ids="od_", prefix_type_ids="cd_")
  16. print(uml)
  17. if __name__ == "__main__":
  18. main()