|
|
@@ -63,6 +63,9 @@ def register_service():
|
|
|
def start_pypdevs_client(conn):
|
|
|
init('msdl.uantwerpen.be:8001')
|
|
|
login("admin", "admin")
|
|
|
+
|
|
|
+ conn.send(get_taskname())
|
|
|
+ conn.close()
|
|
|
|
|
|
print("Remove ParallelDEVS simulator client")
|
|
|
try:
|
|
|
@@ -77,11 +80,10 @@ def start_pypdevs_client(conn):
|
|
|
except ModelExists:
|
|
|
pass
|
|
|
|
|
|
+ controller = Controller()
|
|
|
+
|
|
|
print("Starting PyPDEVS client...")
|
|
|
- task_name = transformation_execute_AL("models/paralleldevs_simulator", {"MyString": "models/example_PS_DEVS_String"}, {})
|
|
|
-
|
|
|
- conn.send(task_name)
|
|
|
- conn.close()
|
|
|
+ transformation_execute_AL("models/paralleldevs_simulator", {"MyString": "models/example_PS_DEVS_String"}, {})
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
freeze_support()
|
|
|
@@ -177,28 +179,52 @@ if __name__ == '__main__':
|
|
|
|
|
|
print("Execute DEVS->String transformation")
|
|
|
transformation_execute_AL("models/paralleldevs_to_string", {"ParallelDEVS": "models/example_PS_DEVS"}, {"MyString": "models/example_PS_DEVS_String"})
|
|
|
+
|
|
|
+ # Remove the runtime metamodel for ProductionSystem
|
|
|
+ print("Remove ProductionSystem runtime metamodel")
|
|
|
+ try:
|
|
|
+ model_delete("formalisms/ProductionSystemRuntime")
|
|
|
+ except ModelverseException:
|
|
|
+ pass
|
|
|
+
|
|
|
+ # Add the runtime metamodel for ProductionSystem
|
|
|
+ print("Add ProductionSystem runtime metamodel")
|
|
|
+ try:
|
|
|
+ model_add("formalisms/ProductionSystemRuntime", "formalisms/SimpleClassDiagrams", open("../../models/production_system_runtime.mvc").read())
|
|
|
+ except ModelExists:
|
|
|
+ pass
|
|
|
+
|
|
|
+ print("Remove model")
|
|
|
+ try:
|
|
|
+ model_delete("models/example_PS_runtime")
|
|
|
+ except ModelverseException:
|
|
|
+ pass
|
|
|
+
|
|
|
+ print("Add model")
|
|
|
+ try:
|
|
|
+ model_add("models/example_PS_runtime", "formalisms/ProductionSystemRuntime", open("../../models/example_PS_runtime.mvc").read())
|
|
|
+ except ModelExists:
|
|
|
+ pass
|
|
|
|
|
|
print("Starting PyPDEVS client")
|
|
|
parent_conn, child_conn = Pipe()
|
|
|
p1 = Process(target=start_pypdevs_client, args=(child_conn,))
|
|
|
p1.start()
|
|
|
- print 'got process output: %s' % parent_conn.recv()
|
|
|
-
|
|
|
- """
|
|
|
- print("Remove PDEVS model")
|
|
|
+ pdevs_client_taskname = parent_conn.recv()
|
|
|
+
|
|
|
+ print("Remove ProductionSystem simulator")
|
|
|
try:
|
|
|
- model_delete("models/produce_consume_pdevs")
|
|
|
+ model_delete("models/ps_simulator")
|
|
|
except ModelverseException:
|
|
|
pass
|
|
|
|
|
|
- print("Add PDEVS model")
|
|
|
+ # TODO: Make this a transformation to a trace metamodel
|
|
|
+ print("Add ProductionSystem simulator")
|
|
|
try:
|
|
|
- model_add("models/produce_consume_pdevs", "formalisms/ParallelDEVS", open("../../models/produce_consume_PDEVS.mvc").read())
|
|
|
+ transformation_add_AL({"ProductionSystemRuntime": "formalisms/ProductionSystemRuntime", "ParallelDEVS": "formalisms/ParallelDEVS"}, {}, "models/ps_simulator", open("../../integration/code/ps_simulator.alc", "r").read())
|
|
|
except ModelExists:
|
|
|
pass
|
|
|
- """
|
|
|
|
|
|
- '''
|
|
|
controller = Controller()
|
|
|
|
|
|
def set_defaults(inp, defaultlist):
|
|
|
@@ -341,7 +367,24 @@ if __name__ == '__main__':
|
|
|
output_thread = threading.Thread(target=outputter)
|
|
|
output_thread.daemon = True
|
|
|
output_thread.start()
|
|
|
-
|
|
|
+
|
|
|
+ print("Execute PS simulator")
|
|
|
+ transformation_execute_AL("models/ps_simulator", {"ProductionSystemRuntime": "models/example_PS_runtime", "ParallelDEVS": "models/example_PS_DEVS"}, {}, tracability_model="models/PS_DEVS_traceability", statechart=(controller, "mv_input", "mv_output"))
|
|
|
+ controller.addInput(Event("mv_input", "input", [pdevs_client_taskname]))
|
|
|
+
|
|
|
print("Starting controller")
|
|
|
controller.start()
|
|
|
- '''
|
|
|
+
|
|
|
+ """
|
|
|
+ print("Remove PDEVS model")
|
|
|
+ try:
|
|
|
+ model_delete("models/produce_consume_pdevs")
|
|
|
+ except ModelverseException:
|
|
|
+ pass
|
|
|
+
|
|
|
+ print("Add PDEVS model")
|
|
|
+ try:
|
|
|
+ model_add("models/produce_consume_pdevs", "formalisms/ParallelDEVS", open("../../models/produce_consume_PDEVS.mvc").read())
|
|
|
+ except ModelExists:
|
|
|
+ pass
|
|
|
+ """
|