Test_PM2SCCD.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import sys
  2. sys.path.append("wrappers")
  3. from modelverse import *
  4. try:
  5. init()
  6. login('admin', 'admin')
  7. model_add('PM', "SimpleClassDiagrams", open("addis/PM_MetaModel.mvc", "r").read())
  8. except Exception as e:
  9. print e
  10. try:
  11. model_add('SCCD', "SimpleClassDiagrams", open("addis/SCCD_MetaModel.mvc", "r").read())
  12. except Exception as e:
  13. print e
  14. if "my_PM" in [i[0] for i in model_list()]:
  15. model_delete("my_PM")
  16. model_add("my_PM", "PM", open("addis/PM_example2.mvc", 'r').read())
  17. print "PM instance model added"
  18. #print verify('my_PM')
  19. if "SCCD_my_PM" in [i[0] for i in model_list()]:
  20. model_delete("SCCD_my_PM")
  21. model_add("SCCD_my_PM", "SCCD", open("addis/SCCD_Example.mvc", 'r').read())
  22. print "SCCD instance model added"
  23. print verify('SCCD_my_PM')
  24. def Activity2State():
  25. instantiate(None, "Association", ("PM/Activity", "SCCD/CompositeState"), ID="Activity2State_link")
  26. print "before mt_add"
  27. print transformation_add_MT({"PM":"PM","SCCD":"SCCD"}, {"SCCD":"SCCD"}, "PM2SCCD", open("addis/PM_to_SCCD.mvc", "r").read(), Activity2State)
  28. print "mt_add_finished"
  29. print transformation_execute_MT("PM2SCCD", {"PM":"my_PM", "SCCD":"SCCD_my_PM"}, {"SCCD":"PM_2_SCCD_output"})
  30. alter_context("PM_2_SCCD_output", "SCCD")
  31. model = element_list_nice("PM_2_SCCD_output")
  32. for m in model:
  33. print m
  34. print("Upload SCCD execution semantics")
  35. # Add SCCD execution semantics
  36. transformation_add_AL({"SCCD": "SCCD"}, {}, "SCCD_execute", open("models/SCCD_execute.alc", 'r').read())
  37. print("DONE")
  38. #transformation_execute_AL("SCCD_execute", {"SCCD": "PM_2_SCCD_output"}, {})
  39. print("Executed")