webgme-rosmod
Version:
This repository contains ROSMOD developed for WebGME. ROSMOD is a web-based, collaborative, modeling and execution environment for distributed embedded applications built using ROS http://rosmod.rcps.isis.vanderbilt.edu
4 lines • 172 kB
JavaScript
/* Generated file based on ejs templates */
define([], function() {
return {
"cpn.ejs": "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n<!DOCTYPE workspaceElements PUBLIC \"-//CPN//DTD CPNXML 1.0//EN\" \"http://cpntools.org/DTD/6/cpn.dtd\">\n\n<workspaceElements>\n <generator tool=\"CPN Tools\"\n version=\"3.4.0\"\n format=\"6\"/>\n <cpnet>\n <globbox>\n <block id=\"ID1412310166\">\n <id>Standard priorities</id>\n <ml id=\"ID1412310255\">val P_HIGH = 100;\n <layout>val P_HIGH = 100;</layout>\n </ml>\n <ml id=\"ID1412310292\">val P_NORMAL = 1000;\n <layout>val P_NORMAL = 1000;</layout>\n </ml>\n <ml id=\"ID1412310322\">val P_LOW = 10000;\n <layout>val P_LOW = 10000;</layout>\n </ml>\n </block>\n <block id=\"ID1\">\n <id>Standard declarations</id>\n <color id=\"ID85042\">\n <id>UNIT</id>\n <unit/>\n <layout>colset UNIT = unit;</layout>\n </color>\n <color id=\"ID3\">\n <id>INT</id>\n <int/>\n </color>\n <color id=\"ID4\">\n <id>BOOL</id>\n <bool/>\n </color>\n <color id=\"ID5\">\n <id>STRING</id>\n <string/>\n </color>\n </block>\n <block id=\"ID1435009867\">\n <id>Analysis declarations</id>\n <color id=\"ID1435009943\">\n <id>clock</id>\n <record>\n <recordfield>\n <id>node</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>value</id>\n <id>INT</id>\n </recordfield>\n <recordfield>\n <id>next_tick</id>\n <id>INT</id>\n </recordfield>\n </record>\n <layout>colset clock = record node:STRING * value:INT *next_tick:INT;</layout>\n </color>\n <color id=\"ID1435010012\">\n <id>clocks</id>\n <list>\n <id>clock</id>\n </list>\n <layout>colset clocks = list clock;</layout>\n </color>\n <var id=\"ID1435010093\">\n <type>\n <id>clocks</id>\n </type>\n <id>clocks</id>\n <layout>var clocks: clocks;</layout>\n </var>\n <color id=\"ID1435010667\">\n <id>unblk_comp</id>\n <record>\n <recordfield>\n <id>node</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>component</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>port</id>\n <id>STRING</id>\n </recordfield>\n </record>\n <layout>colset unblk_comp = record node:STRING * component:STRING * port: STRING;</layout>\n </color>\n <color id=\"ID1435010737\">\n <id>unblk</id>\n <list>\n <id>unblk_comp</id>\n </list>\n <layout>colset unblk = list unblk_comp;</layout>\n </color>\n <color id=\"ID1435010573\">\n <id>step_</id>\n <record>\n <recordfield>\n <id>kind</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>port</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>unblk</id>\n <id>unblk</id>\n </recordfield>\n <recordfield>\n <id>exec_time</id>\n <id>INT</id>\n </recordfield>\n <recordfield>\n <id>duration</id>\n <id>INT</id>\n </recordfield>\n </record>\n <layout>colset step_ = record kind:STRING * port:STRING * unblk:unblk * exec_time:INT * duration:INT;</layout>\n </color>\n <color id=\"ID1435011296\">\n <id>steps</id>\n <list>\n <id>step_</id>\n </list>\n <layout>colset steps = list step_;</layout>\n </color>\n <color id=\"ID1435224378\">\n <id>priority</id>\n <int>\n <with>\n <ml>0</ml>\n <ml>99</ml>\n </with>\n </int>\n <layout>colset priority = int with 0..99;</layout>\n </color>\n <color id=\"ID1435011440\">\n <id>operation</id>\n <record>\n <recordfield>\n <id>node</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>component</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>operation</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>priority</id>\n <id>priority</id>\n </recordfield>\n <recordfield>\n <id>deadline</id>\n <id>INT</id>\n </recordfield>\n <recordfield>\n <id>enqueue_time</id>\n <id>INT</id>\n </recordfield>\n <recordfield>\n <id>steps</id>\n <id>steps</id>\n </recordfield>\n </record>\n <layout>colset operation = record node:STRING * component:STRING * operation:STRING *\n priority:priority * deadline:INT * enqueue_time:INT * steps:steps;</layout>\n </color>\n <color id=\"ID1435012023\">\n <id>queue</id>\n <list>\n <id>operation</id>\n </list>\n <layout>colset queue = list operation;</layout>\n </color>\n <color id=\"ID1435012754\">\n <id>timer</id>\n <record>\n <recordfield>\n <id>node</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>period</id>\n <id>INT</id>\n </recordfield>\n <recordfield>\n <id>offset</id>\n <id>INT</id>\n </recordfield>\n <recordfield>\n <id>operation</id>\n <id>operation</id>\n </recordfield>\n </record>\n <layout>colset timer = record node:STRING * period:INT * offset: INT * operation:operation;</layout>\n </color>\n <color id=\"ID1435012997\">\n <id>timers</id>\n <list>\n <id>timer</id>\n </list>\n <layout>colset timers = list timer;</layout>\n </color>\n <var id=\"ID1435013252\">\n <type>\n <id>timers</id>\n </type>\n <id>timers</id>\n <layout>var timers:timers;</layout>\n </var>\n <color id=\"ID1435221110\">\n <id>scheme</id>\n <enum>\n <id>FIFO</id>\n <id>PFIFO</id>\n <id>EDF</id>\n </enum>\n <layout>colset scheme = with FIFO | PFIFO | EDF;</layout>\n </color>\n <color id=\"ID1435218372\">\n <id>cmq</id>\n <record>\n <recordfield>\n <id>component</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>scheme</id>\n <id>scheme</id>\n </recordfield>\n <recordfield>\n <id>queue</id>\n <id>queue</id>\n </recordfield>\n </record>\n <layout>colset cmq = record component:STRING * scheme:scheme * queue:queue;</layout>\n </color>\n <color id=\"ID1435218533\">\n <id>cmql</id>\n <list>\n <id>cmq</id>\n </list>\n <layout>colset cmql = list cmq;</layout>\n </color>\n <color id=\"ID1435218656\">\n <id>ncmq</id>\n <record>\n <recordfield>\n <id>node</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>cmql</id>\n <id>cmql</id>\n </recordfield>\n </record>\n <layout>colset ncmq = record node:STRING * cmql:cmql;</layout>\n </color>\n <color id=\"ID1435218862\">\n <id>ncmql</id>\n <list>\n <id>ncmq</id>\n </list>\n <layout>colset ncmql = list ncmq;</layout>\n </color>\n <var id=\"ID1435219015\">\n <type>\n <id>ncmql</id>\n </type>\n <id>ncmql</id>\n <layout>var ncmql:ncmql;</layout>\n </var>\n <color id=\"ID1435293328\">\n <id>component_thread</id>\n <record>\n <recordfield>\n <id>node</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>component</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>priority</id>\n <id>INT</id>\n </recordfield>\n <recordfield>\n <id>operation</id>\n <id>queue</id>\n </recordfield>\n </record>\n <layout>colset component_thread = record node:STRING * component:STRING * priority:INT * operation:queue;</layout>\n </color>\n <color id=\"ID1435298412\">\n <id>component_threads</id>\n <list>\n <id>component_thread</id>\n </list>\n <layout>colset component_threads = list component_thread;</layout>\n </color>\n <color id=\"ID1435304239\">\n <id>node_threads</id>\n <record>\n <recordfield>\n <id>node</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>threads</id>\n <id>component_threads</id>\n </recordfield>\n </record>\n <layout>colset node_threads = record node:STRING * threads:component_threads;</layout>\n </color>\n <color id=\"ID1435304782\">\n <id>node_thread_list</id>\n <list>\n <id>node_threads</id>\n </list>\n <layout>colset node_thread_list = list node_threads;</layout>\n </color>\n <var id=\"ID1435346413\">\n <type>\n <id>node_thread_list</id>\n </type>\n <id>nths</id>\n <layout>var nths:node_thread_list;</layout>\n </var>\n <var id=\"ID1435875842\">\n <type>\n <id>component_thread</id>\n </type>\n <id>th</id>\n <layout>var th:component_thread;</layout>\n </var>\n <var id=\"ID1435352135\">\n <type>\n <id>component_threads</id>\n </type>\n <id>bths</id>\n <id>rths</id>\n <layout>var bths, rths:component_threads;</layout>\n </var>\n <color id=\"ID1435510239\">\n <id>interaction</id>\n <record>\n <recordfield>\n <id>node</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>enqueue_time</id>\n <id>INT</id>\n </recordfield>\n <recordfield>\n <id>operation</id>\n <id>operation</id>\n </recordfield>\n </record>\n <layout>colset interaction = record node:STRING * enqueue_time:INT * operation:operation;</layout>\n </color>\n <color id=\"ID1435511622\">\n <id>waiting_interactions</id>\n <list>\n <id>interaction</id>\n </list>\n <layout>colset waiting_interactions = list interaction;</layout>\n </color>\n <var id=\"ID1435536257\">\n <type>\n <id>waiting_interactions</id>\n </type>\n <id>wi</id>\n <layout>var wi:waiting_interactions;</layout>\n </var>\n <color id=\"ID1435650249\">\n <id>induced_operation</id>\n <record>\n <recordfield>\n <id>node</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>port</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>operation</id>\n <id>operation</id>\n </recordfield>\n </record>\n <layout>colset induced_operation = record node: STRING * port:STRING * operation:operation;</layout>\n </color>\n <color id=\"ID1435650653\">\n <id>interactions</id>\n <list>\n <id>induced_operation</id>\n </list>\n <layout>colset interactions = list induced_operation;</layout>\n </color>\n <var id=\"ID1435650938\">\n <type>\n <id>interactions</id>\n </type>\n <id>interactions</id>\n <layout>var interactions:interactions;</layout>\n </var>\n <color id=\"ID1435709025\">\n <id>completed_operation</id>\n <record>\n <recordfield>\n <id>node</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>component</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>operation</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>enqueue_time</id>\n <id>INT</id>\n </recordfield>\n <recordfield>\n <id>completion_time</id>\n <id>INT</id>\n </recordfield>\n <recordfield>\n <id>deadline</id>\n <id>INT</id>\n </recordfield>\n </record>\n <layout>colset completed_operation = record node:STRING * component:STRING * operation:STRING * enqueue_time:INT * completion_time:INT * deadline:INT;</layout>\n </color>\n <color id=\"ID1435709118\">\n <id>completed_operations</id>\n <list>\n <id>completed_operation</id>\n </list>\n <layout>colset completed_operations = list completed_operation;</layout>\n </color>\n <var id=\"ID1435709223\">\n <type>\n <id>completed_operations</id>\n </type>\n <id>copns</id>\n <layout>var copns:completed_operations;</layout>\n </var>\n <color id=\"ID1435755829\">\n <id>unblocked_thread</id>\n <record>\n <recordfield>\n <id>node</id>\n <id>STRING</id>\n </recordfield>\n <recordfield>\n <id>unblock_time</id>\n <id>INT</id>\n </recordfield>\n <recordfield>\n <id>thread</id>\n <id>component_thread</id>\n </recordfield>\n </record>\n <layout>colset unblocked_thread = record node:STRING * unblock_time:INT * thread:component_thread;</layout>\n </color>\n <color id=\"ID1435757313\">\n <id>waiting_threads</id>\n <list>\n <id>unblocked_thread</id>\n </list>\n <layout>colset waiting_threads = list unblocked_thread;</layout>\n </color>\n <var id=\"ID1435758078\">\n <type>\n <id>waiting_threads</id>\n </type>\n <id>wths</id>\n <layout>var wths:waiting_threads;</layout>\n </var>\n </block>\n <block id=\"ID1435040734\">\n <id>Functions</id>\n <use id=\"ID1435605767\">\n <ml>"functions/generic.sml"</ml>\n <layout>use "functions/generic.sml";</layout>\n </use>\n <use id=\"ID1435059630\">\n <ml>"functions/clock.sml"</ml>\n <layout>use "functions/clock.sml";</layout>\n </use>\n <use id=\"ID1435042034\">\n <ml>"functions/timers.sml"</ml>\n <layout>use "functions/timers.sml";</layout>\n </use>\n <use id=\"ID1435242119\">\n <ml>"functions/cmq.sml"</ml>\n <layout>use "functions/cmq.sml";</layout>\n </use>\n <use id=\"ID1435356322\">\n <ml>"functions/threading.sml"</ml>\n <layout>use "functions/threading.sml";</layout>\n </use>\n </block>\n </globbox>\n <page id=\"ID6\">\n <pageattr name=\"Analysis_Model\"/>\n <place id=\"ID1435018187\">\n <posattr x=\"-1094.000000\"\n y=\"171.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Timers</text>\n <ellipse w=\"60.000000\"\n h=\"40.000000\"/>\n <token x=\"-68.000000\"\n y=\"16.000000\"/>\n <marking x=\"-23.000000\"\n y=\"9.000000\"\n hidden=\"false\">\n <snap snap_id=\"7\"\n anchor.horizontal=\"2\"\n anchor.vertical=\"3\"/>\n </marking>\n <type id=\"ID1435018188\">\n <posattr x=\"-1049.500000\"\n y=\"147.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">timers</text>\n </type>\n <initmark id=\"ID1435018189\">\n <posattr x=\"-1081.000000\"\n y=\"785.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"><%- timer_tokens %></text>\n </initmark>\n </place>\n <place id=\"ID1435018836\">\n <posattr x=\"-920.000000\"\n y=\"171.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Clocks</text>\n <ellipse w=\"60.000000\"\n h=\"40.000000\"/>\n <token x=\"-44.000000\"\n y=\"24.000000\"/>\n <marking x=\"-14.000000\"\n y=\"13.000000\"\n hidden=\"false\">\n <snap snap_id=\"3\"\n anchor.horizontal=\"3\"\n anchor.vertical=\"2\"/>\n </marking>\n <type id=\"ID1435018837\">\n <posattr x=\"-876.500000\"\n y=\"147.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">clocks</text>\n </type>\n <initmark id=\"ID1435018838\">\n <posattr x=\"-1397.000000\"\n y=\"926.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"><%- clock_tokens %></text>\n </initmark>\n </place>\n <place id=\"ID1435200220\">\n <posattr x=\"-1094.000000\"\n y=\"-53.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>CMQ</text>\n <ellipse w=\"60.000000\"\n h=\"40.000000\"/>\n <token x=\"-78.000000\"\n y=\"0.000000\"/>\n <marking x=\"-23.000000\"\n y=\"-9.000000\"\n hidden=\"false\">\n <snap snap_id=\"8\"\n anchor.horizontal=\"2\"\n anchor.vertical=\"3\"/>\n </marking>\n <type id=\"ID1435200221\">\n <posattr x=\"-1051.000000\"\n y=\"-76.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">ncmql</text>\n </type>\n <initmark id=\"ID1435200222\">\n <posattr x=\"-889.000000\"\n y=\"648.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"><%- message_queue_tokens %></text>\n </initmark>\n </place>\n <place id=\"ID1435293004\">\n <posattr x=\"-762.000000\"\n y=\"59.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Components</text>\n <ellipse w=\"90.000000\"\n h=\"40.000000\"/>\n <token x=\"-10.000000\"\n y=\"0.000000\"/>\n <marking x=\"-1.000000\"\n y=\"0.000000\"\n hidden=\"false\">\n <snap snap_id=\"2\"\n anchor.horizontal=\"1\"\n anchor.vertical=\"3\"/>\n </marking>\n <type id=\"ID1435293005\">\n <posattr x=\"-660.000000\"\n y=\"41.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">node_thread_list</text>\n </type>\n <initmark id=\"ID1435293006\">\n <posattr x=\"-1421.000000\"\n y=\"554.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"><%- component_thread_tokens %></text>\n </initmark>\n </place>\n <place id=\"ID1435294848\">\n <posattr x=\"-762.000000\"\n y=\"-168.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Running\nThreads</text>\n <ellipse w=\"84.000000\"\n h=\"48.000000\"/>\n <token x=\"-88.000000\"\n y=\"20.000000\"/>\n <marking x=\"-27.000000\"\n y=\"0.000000\"\n hidden=\"false\">\n <snap snap_id=\"4\"\n anchor.horizontal=\"2\"\n anchor.vertical=\"3\"/>\n </marking>\n <type id=\"ID1435294849\">\n <posattr x=\"-845.500000\"\n y=\"-195.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">component_threads</text>\n </type>\n <initmark id=\"ID1435294850\">\n <posattr x=\"-716.000000\"\n y=\"-141.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">1`[]</text>\n </initmark>\n </place>\n <place id=\"ID1435502913\">\n <posattr x=\"-1094.000000\"\n y=\"-308.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Waiting to\nEnqueue</text>\n <ellipse w=\"98.000000\"\n h=\"40.000000\"/>\n <token x=\"-116.000000\"\n y=\"0.000000\"/>\n <marking x=\"-27.000000\"\n y=\"0.000000\"\n hidden=\"false\">\n <snap snap_id=\"4\"\n anchor.horizontal=\"2\"\n anchor.vertical=\"3\"/>\n </marking>\n <type id=\"ID1435502914\">\n <posattr x=\"-1195.000000\"\n y=\"-331.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">waiting_interactions</text>\n </type>\n <initmark id=\"ID1435502915\">\n <posattr x=\"-1043.000000\"\n y=\"-284.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">1`[]</text>\n </initmark>\n </place>\n <place id=\"ID1435651741\">\n <posattr x=\"-920.000000\"\n y=\"-499.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Component\nInteractions</text>\n <ellipse w=\"96.000000\"\n h=\"66.000000\"/>\n <token x=\"-114.000000\"\n y=\"0.000000\"/>\n <marking x=\"-27.000000\"\n y=\"0.000000\"\n hidden=\"false\">\n <snap snap_id=\"4\"\n anchor.horizontal=\"2\"\n anchor.vertical=\"3\"/>\n </marking>\n <type id=\"ID1435651742\">\n <posattr x=\"-993.000000\"\n y=\"-532.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">interactions</text>\n </type>\n <initmark id=\"ID1435651743\">\n <posattr x=\"-874.000000\"\n y=\"995.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"><%- interaction_tokens %></text>\n </initmark>\n </place>\n <place id=\"ID1435709373\">\n <posattr x=\"-762.000000\"\n y=\"-499.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Completed_Operations</text>\n <ellipse w=\"166.000000\"\n h=\"62.000000\"/>\n <token x=\"-97.000000\"\n y=\"-35.000000\"/>\n <marking x=\"-4.000000\"\n y=\"-9.000000\"\n hidden=\"false\">\n <snap snap_id=\"9\"\n anchor.horizontal=\"3\"\n anchor.vertical=\"1\"/>\n </marking>\n <type id=\"ID1435709374\">\n <posattr x=\"-629.500000\"\n y=\"-530.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">completed_operations</text>\n </type>\n <initmark id=\"ID1435709375\">\n <posattr x=\"-687.000000\"\n y=\"-467.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">1`[]</text>\n </initmark>\n </place>\n <place id=\"ID1435735797\">\n <posattr x=\"-508.000000\"\n y=\"-499.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Blocked\nThreads</text>\n <ellipse w=\"88.000000\"\n h=\"46.000000\"/>\n <token x=\"-10.000000\"\n y=\"0.000000\"/>\n <marking x=\"0.000000\"\n y=\"0.000000\"\n hidden=\"false\">\n <snap snap_id=\"0\"\n anchor.horizontal=\"0\"\n anchor.vertical=\"0\"/>\n </marking>\n <type id=\"ID1435735798\">\n <posattr x=\"-410.500000\"\n y=\"-525.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">component_threads</text>\n </type>\n <initmark id=\"ID1435735799\">\n <posattr x=\"-490.750000\"\n y=\"-560.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">1`[]</text>\n </initmark>\n </place>\n <place id=\"ID1435751119\">\n <posattr x=\"-508.250000\"\n y=\"-308.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Waiting to\nUnblock</text>\n <ellipse w=\"92.000000\"\n h=\"64.000000\"/>\n <token x=\"-10.000000\"\n y=\"0.000000\"/>\n <marking x=\"0.000000\"\n y=\"0.000000\"\n hidden=\"false\">\n <snap snap_id=\"0\"\n anchor.horizontal=\"0\"\n anchor.vertical=\"0\"/>\n </marking>\n <type id=\"ID1435751120\">\n <posattr x=\"-411.500000\"\n y=\"-324.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">waiting_threads</text>\n </type>\n <initmark id=\"ID1435751121\">\n <posattr x=\"-459.000000\"\n y=\"-275.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">1`[]</text>\n </initmark>\n </place>\n <place id=\"ID1435864419\">\n <posattr x=\"-450.068750\"\n y=\"224.483594\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>COMPETING\nTHREADS</text>\n <ellipse w=\"110.000000\"\n h=\"62.000000\"/>\n <token x=\"-10.000000\"\n y=\"0.000000\"/>\n <marking x=\"0.000000\"\n y=\"0.000000\"\n hidden=\"false\">\n <snap snap_id=\"0\"\n anchor.horizontal=\"0\"\n anchor.vertical=\"0\"/>\n </marking>\n <type id=\"ID1435864420\">\n <posattr x=\"-348.000000\"\n y=\"192.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">component_thread</text>\n </type>\n <initmark id=\"ID1435878385\">\n <posattr x=\"-170.000000\"\n y=\"373.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"></text>\n </initmark>\n </place>\n <trans id=\"ID1435035478\"\n explicit=\"false\">\n <posattr x=\"-1094.000000\"\n y=\"59.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Timer_Expiry</text>\n <box w=\"98.000000\"\n h=\"40.000000\"/>\n <binding x=\"7.200000\"\n y=\"-3.000000\"/>\n <cond id=\"ID1435035479\">\n <posattr x=\"-994.500000\"\n y=\"59.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">[ExpiryGuard \n clocks timers]</text>\n </cond>\n <time id=\"ID1435035480\">\n <posattr x=\"-1030.500000\"\n y=\"90.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </time>\n <code id=\"ID1435035481\">\n <posattr x=\"-1010.500000\"\n y=\"7.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </code>\n <channel id=\"ID1435035482\">\n <posattr x=\"-1011.500000\"\n y=\"59.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </channel>\n <priority id=\"ID1435035483\">\n <posattr x=\"-1181.000000\"\n y=\"28.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </priority>\n </trans>\n <trans id=\"ID1435293749\"\n explicit=\"false\">\n <posattr x=\"-762.000000\"\n y=\"-53.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Schedule_Thread</text>\n <box w=\"118.000000\"\n h=\"40.000000\"/>\n <binding x=\"7.200000\"\n y=\"-3.000000\"/>\n <cond id=\"ID1435293750\">\n <posattr x=\"-862.000000\"\n y=\"-6.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">[ScheduleGuard \n clocks ncmql \n nths rths]</text>\n </cond>\n <time id=\"ID1435293751\">\n <posattr x=\"-688.500000\"\n y=\"-22.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </time>\n <code id=\"ID1435293752\">\n <posattr x=\"-668.500000\"\n y=\"-105.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </code>\n <channel id=\"ID1435293753\">\n <posattr x=\"-669.500000\"\n y=\"-53.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </channel>\n <priority id=\"ID1435293754\">\n <posattr x=\"-859.000000\"\n y=\"-84.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </priority>\n </trans>\n <trans id=\"ID1435383691\"\n explicit=\"false\">\n <posattr x=\"-762.000000\"\n y=\"-308.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Execute_Thread</text>\n <box w=\"116.000000\"\n h=\"40.000000\"/>\n <binding x=\"7.200000\"\n y=\"-3.000000\"/>\n <cond id=\"ID1435383692\">\n <posattr x=\"-835.500000\"\n y=\"-258.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">[ExecuteGuard \n clocks timers\n rths wi wths]</text>\n </cond>\n <time id=\"ID1435383693\">\n <posattr x=\"-689.500000\"\n y=\"-277.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </time>\n <code id=\"ID1435383694\">\n <posattr x=\"-669.500000\"\n y=\"-360.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </code>\n <channel id=\"ID1435383695\">\n <posattr x=\"-670.500000\"\n y=\"-308.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </channel>\n <priority id=\"ID1435383696\">\n <posattr x=\"-858.000000\"\n y=\"-339.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </priority>\n </trans>\n <trans id=\"ID1435541887\"\n explicit=\"false\">\n <posattr x=\"-1094.000000\"\n y=\"-168.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"1\"\n type=\"solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text>Enqueue_Operation</text>\n <box w=\"138.000000\"\n h=\"40.000000\"/>\n <binding x=\"7.200000\"\n y=\"-3.000000\"/>\n <cond id=\"ID1435541888\">\n <posattr x=\"-1218.500000\"\n y=\"-168.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\">[EnqueueGuard \n clocks wi]</text>\n </cond>\n <time id=\"ID1435541889\">\n <posattr x=\"-1010.500000\"\n y=\"-137.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </time>\n <code id=\"ID1435541890\">\n <posattr x=\"-990.500000\"\n y=\"-220.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </code>\n <channel id=\"ID1435541891\">\n <posattr x=\"-991.500000\"\n y=\"-168.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colour=\"Black\"\n bold=\"false\"/>\n <text tool=\"CPN Tools\"\n version=\"3.4.0\"/>\n </channel>\n <priority id=\"ID1435541892\">\n <posattr x=\"-1201.000000\"\n y=\"-199.000000\"/>\n <fillattr colour=\"White\"\n pattern=\"Solid\"\n filled=\"false\"/>\n <lineattr colour=\"Black\"\n thick=\"0\"\n type=\"Solid\"/>\n <textattr colo