modelverse_SCCD.xml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <diagram author="Yentl Van Tendeloo" name="MvK Server">
  3. <description>
  4. Modelverse Kernel client.
  5. </description>
  6. <top>
  7. import sccd.runtime.accurate_time as accurate_time
  8. import time
  9. import os
  10. import sys
  11. import uuid
  12. import urllib
  13. import json
  14. import sys
  15. COMPILE_LOCAL = True
  16. if COMPILE_LOCAL:
  17. sys.path.append("interface/HUTN")
  18. from hutn_compiler.compiler import main as do_compile
  19. def clean_code(code):
  20. if code == "":
  21. return code
  22. code_fragments = code.split("\n")
  23. code_fragments = [i.rstrip() for i in code_fragments if i.strip() != ""]
  24. code_fragments = [i.replace(" ", "\t") for i in code_fragments]
  25. initial_tabs = min([len(i) - len(i.lstrip("\t")) for i in code_fragments])
  26. code_fragments = [i[initial_tabs:] for i in code_fragments]
  27. code_fragments.append("")
  28. code = "\n".join(code_fragments)
  29. return code.encode('ascii', 'replace')
  30. def compile_model(model):
  31. temp_file = ".model_%s" % str(uuid.uuid4())
  32. with open(temp_file, 'w') as f:
  33. f.write(model)
  34. compiled = do_compile(temp_file, "interface/HUTN/grammars/modelling.g", "M")
  35. return ["__LOCAL__"] + compiled
  36. def compile_code(code):
  37. temp_file = ".code_%s" % str(uuid.uuid4())
  38. with open(temp_file, 'w') as f:
  39. f.write(code)
  40. compiled = do_compile(temp_file, "interface/HUTN/grammars/actionlanguage.g", "CS")
  41. return ["__LOCAL__"] + compiled
  42. </top>
  43. <inport name="socket_in"/>
  44. <outport name="socket_out"/>
  45. <inport name="action_in"/>
  46. <outport name="action_out"/>
  47. <outport name="ready"/>
  48. <class src="classes/modelverse.xml" default="true"/>
  49. <class src="classes/http_client.xml"/>
  50. </diagram>