<?xml version="1.0" encoding="UTF-8"?><diagram program="umlet" version="11.3">
  <help_text>// Uncomment the following line to change the fontsize and font:
fontsize=12
// fontfamily=SansSerif //possible: SansSerif,Serif,Monospaced


//////////////////////////////////////////////////////////////////////////////////////////////
// Welcome to UMLet!
//
// Double-click on elements to add them to the diagram, or to copy them
// Edit elements by modifying the text in this panel
// Hold Ctrl to select multiple elements
// Use Ctrl+mouse to select via lasso
//
// Use +/- or Ctrl+mouse wheel to zoom
// Drag a whole relation at its central square icon
//
// Press Ctrl+C to copy the whole diagram to the system clipboard (then just paste it to, eg, Word)
// Edit the files in the "palettes" directory to create your own element palettes
//
// Select "Custom Elements &gt; New..." to create new element types
//////////////////////////////////////////////////////////////////////////////////////////////


// This text will be stored with each diagram;  use it for notes.</help_text>
  <zoom_level>10</zoom_level>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>450</x>
      <y>170</y>
      <w>330</w>
      <h>360</h>
    </coordinates>
    <panel_attributes>&lt;&lt;Singleton&gt;&gt;
JniExecutor
--
--
S void init()
S void addHostController(hc)
S void setConfigFileName(filename)
S void setObserver(observer)
S void startSession()
A void startHostControllers()
A void configure()
A void startMTC()
A void executeControl(module)
A void executeTestCase(module, testcase)
S int getExecuteCfgLen()
A void executeCfg(index)
A void exitMTC()
A void shutdownSession()
S boolean isConnected()
S McStateEnum getState()
S +other getter functions
S void waitForCompletion()
S void pauseExecution(on/off)
A void continueExecution()
A void stopExecution()</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>750</x>
      <y>480</y>
      <w>250</w>
      <h>50</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;.</panel_attributes>
    <additional_attributes>230;30;30;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Note</type>
    <coordinates>
      <x>190</x>
      <y>290</y>
      <w>200</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>S: synchronous (default)
A: asynchronous
N: native</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Interface</type>
    <coordinates>
      <x>610</x>
      <y>20</y>
      <w>700</w>
      <h>150</h>
    </coordinates>
    <panel_attributes>IJniExecutorObserver
--
void statusChanged(McStateEnum)
void error(int,String)
void notify(List&lt;String[]&gt;)
void notify(Timeval,String,int,String)</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>750</x>
      <y>0</y>
      <w>370</w>
      <h>210</h>
    </coordinates>
    <panel_attributes>lt=&lt;-
m1=1..0</panel_attributes>
    <additional_attributes>220;30;350;30;350;190;30;190</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>670</x>
      <y>500</y>
      <w>50</w>
      <h>170</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
    <additional_attributes>30;30;30;150</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>720</x>
      <y>480</y>
      <w>470</w>
      <h>240</h>
    </coordinates>
    <panel_attributes>lt=&lt;-
m1=1..1
</panel_attributes>
    <additional_attributes>280;30;450;30;450;220;30;220</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>390</x>
      <y>650</y>
      <w>390</w>
      <h>470</h>
    </coordinates>
    <panel_attributes>JNIMiddleWare
{innerclass
EventDispatcher
--
run()
innerclass}
--
--
NS long init(int)
NS void terminate()
NS void add_host(group_name, host_name)
NS void assign_component(host_or_group, comp_id)
NS void destroy_host_groups()
NS void set_kill_timer(final double timer_val)
NS int start_session(local_address, tcp_port, boolean)
NA void shutdown_session()
NA void configure(cfg_str)
NS void set_cfg_file(cfg_file_name)
NS String get_mc_host()
NS int get_port()
NA void create_mtc(host_index)
NA void exit_mtc()
NA void execute_control(module)
NA void execute_testcase(module, testcase)
NS int get_execute_cfg_len()
NA void execute_cfg(index)
NS void stop_after_testcase(new_state)
NA void continue_testcase()
NA void stop_execution()
NS McStateEnum get_state()
NS boolean get_stop_after_testcase()
NS String readPipe()
NS boolean isPipeReadable()
NS + other getter functions</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>420</x>
      <y>20</y>
      <w>360</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>client

</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>520</x>
      <y>30</y>
      <w>50</w>
      <h>160</h>
    </coordinates>
    <panel_attributes>lt=&lt;-
m1=0..1</panel_attributes>
    <additional_attributes>30;140;30;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>160</x>
      <y>1370</y>
      <w>270</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>ComponentStruct</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>120</x>
      <y>1480</y>
      <w>120</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>QualifiedName</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>240</x>
      <y>1250</y>
      <w>110</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>McStateEnum</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>50</x>
      <y>1440</y>
      <w>140</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>VerdictTypeEnum</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>180</x>
      <y>1370</y>
      <w>50</w>
      <h>130</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
    <additional_attributes>30;30;30;110</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>150</x>
      <y>1370</y>
      <w>50</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
    <additional_attributes>30;30;30;70</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Interface</type>
    <coordinates>
      <x>640</x>
      <y>500</y>
      <w>700</w>
      <h>190</h>
    </coordinates>
    <panel_attributes>IJNICallback
--
void statusChangeCallback();
void errorCallback(int, String);
void batchedInsertNotify(List&lt;String[]&gt;);
void notifyCallback(Timeval, String, int, String);</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>220</x>
      <y>1590</y>
      <w>100</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>HcStateEnum</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>330</x>
      <y>1450</y>
      <w>100</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>TcStateEnum</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>230</x>
      <y>1310</y>
      <w>150</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>TransportTypeEnum</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>300</x>
      <y>1190</y>
      <w>100</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>Timeval</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>340</x>
      <y>610</y>
      <w>110</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>HostController</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>220</x>
      <y>1520</y>
      <w>100</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>HostStruct</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>240</x>
      <y>1520</y>
      <w>50</w>
      <h>90</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
    <additional_attributes>30;30;30;70</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>240</x>
      <y>1370</y>
      <w>50</w>
      <h>170</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;-
m1=n..1</panel_attributes>
    <additional_attributes>30;30;30;150</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>350</x>
      <y>1370</y>
      <w>50</w>
      <h>100</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
    <additional_attributes>30;30;30;80</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>420</x>
      <y>500</y>
      <w>90</w>
      <h>140</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;&lt;&lt;-
m1=1..n</panel_attributes>
    <additional_attributes>70;30;70;120;30;120</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>260</x>
      <y>440</y>
      <w>210</w>
      <h>830</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>30;810;30;30;190;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>300</x>
      <y>480</y>
      <w>170</w>
      <h>730</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>30;710;30;30;150;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>370</x>
      <y>1090</y>
      <w>90</w>
      <h>130</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>30;110;70;110;70;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>320</x>
      <y>1090</y>
      <w>150</w>
      <h>190</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>30;170;130;170;130;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>350</x>
      <y>1090</y>
      <w>130</w>
      <h>250</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>30;230;110;230;110;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>400</x>
      <y>1090</y>
      <w>90</w>
      <h>310</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>30;290;70;290;70;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>530</x>
      <y>1390</y>
      <w>310</w>
      <h>110</h>
    </coordinates>
    <panel_attributes>&lt;&lt;JNI Interface&gt;&gt;
org_eclipse_titan_executor_jni_JNIMiddleWare.h
jninativelib.cc
--
C++ JNI interface functions,
corresponds to JNIMiddleWare
native functions</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>640</x>
      <y>1090</y>
      <w>50</w>
      <h>320</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>30;300;30;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>520</x>
      <y>1550</y>
      <w>160</w>
      <h>150</h>
    </coordinates>
    <panel_attributes>Jnimw
--
--
void create_pipe()
void destroy_pipe()
char* read_pipe()
void write_pipe(buf)
bool is_pipe_readable()
void lock()
void unlock()
void fatal_error(msg)</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Class</type>
    <coordinates>
      <x>740</x>
      <y>1550</y>
      <w>100</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>MainController</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>570</x>
      <y>1470</y>
      <w>50</w>
      <h>100</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>30;80;30;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>760</x>
      <y>1470</y>
      <w>50</w>
      <h>100</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>30;80;30;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Interface</type>
    <coordinates>
      <x>340</x>
      <y>1760</y>
      <w>520</w>
      <h>330</h>
    </coordinates>
    <panel_attributes>mctr::UserInterface
--
void initialize()
int enterLoop(argc, argv)
void status_change()
void error(severity, message)
void notify(timestamp, source, severity, message)</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>570</x>
      <y>1670</y>
      <w>50</w>
      <h>110</h>
    </coordinates>
    <panel_attributes>lt=&lt;&lt;.</panel_attributes>
    <additional_attributes>30;90;30;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.custom.Text</type>
    <coordinates>
      <x>670</x>
      <y>1250</y>
      <w>100</w>
      <h>100</h>
    </coordinates>
    <panel_attributes>JNI calls</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>290</x>
      <y>1090</y>
      <w>210</w>
      <h>460</h>
    </coordinates>
    <panel_attributes>lt=&lt;</panel_attributes>
    <additional_attributes>30;440;190;440;190;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>750</x>
      <y>210</y>
      <w>170</w>
      <h>50</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>150;30;30;30</additional_attributes>
  </element>
  <element>
    <type>com.umlet.element.Relation</type>
    <coordinates>
      <x>580</x>
      <y>1550</y>
      <w>230</w>
      <h>240</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>30;220;210;220;210;30</additional_attributes>
  </element>
  <group>
    <element>
      <type>com.umlet.element.Class</type>
      <coordinates>
        <x>900</x>
        <y>220</y>
        <w>230</w>
        <h>40</h>
      </coordinates>
      <panel_attributes>/JniExecutorException/</panel_attributes>
      <additional_attributes/>
    </element>
    <element>
      <type>com.umlet.element.Relation</type>
      <coordinates>
        <x>960</x>
        <y>230</y>
        <w>250</w>
        <h>230</h>
      </coordinates>
      <panel_attributes>lt=&lt;&lt;-</panel_attributes>
      <additional_attributes>30;30;30;210;230;210</additional_attributes>
    </element>
    <element>
      <type>com.umlet.element.Relation</type>
      <coordinates>
        <x>1000</x>
        <y>230</y>
        <w>210</w>
        <h>180</h>
      </coordinates>
      <panel_attributes>lt=&lt;&lt;-</panel_attributes>
      <additional_attributes>30;30;30;160;190;160</additional_attributes>
    </element>
    <element>
      <type>com.umlet.element.Relation</type>
      <coordinates>
        <x>1040</x>
        <y>230</y>
        <w>170</w>
        <h>130</h>
      </coordinates>
      <panel_attributes>lt=&lt;&lt;-</panel_attributes>
      <additional_attributes>30;30;30;110;150;110</additional_attributes>
    </element>
    <element>
      <type>com.umlet.element.Relation</type>
      <coordinates>
        <x>1080</x>
        <y>230</y>
        <w>130</w>
        <h>80</h>
      </coordinates>
      <panel_attributes>lt=&lt;&lt;-</panel_attributes>
      <additional_attributes>30;30;30;60;110;60</additional_attributes>
    </element>
    <element>
      <type>com.umlet.element.Class</type>
      <coordinates>
        <x>1190</x>
        <y>430</y>
        <w>240</w>
        <h>30</h>
      </coordinates>
      <panel_attributes>JniExecutorStartSessionException</panel_attributes>
      <additional_attributes/>
    </element>
    <element>
      <type>com.umlet.element.Class</type>
      <coordinates>
        <x>1190</x>
        <y>380</y>
        <w>240</w>
        <h>30</h>
      </coordinates>
      <panel_attributes>JniExecutorJniLoadException</panel_attributes>
      <additional_attributes/>
    </element>
    <element>
      <type>com.umlet.element.Class</type>
      <coordinates>
        <x>1190</x>
        <y>330</y>
        <w>240</w>
        <h>30</h>
      </coordinates>
      <panel_attributes>JniExecutorIllegalArgumentException</panel_attributes>
      <additional_attributes/>
    </element>
    <element>
      <type>com.umlet.element.Class</type>
      <coordinates>
        <x>1190</x>
        <y>280</y>
        <w>240</w>
        <h>30</h>
      </coordinates>
      <panel_attributes>JniExecutorWrongStateException</panel_attributes>
      <additional_attributes/>
    </element>
  </group>
</diagram>
