Research Article

Research on the Development Approach for Reusable Model in Parallel Discrete Event Simulation

Algorithm 1

An instance of the model description file.
<xml version=“1.0” encoding=“UTF-8”>
<Model ModelName=“testModel” Namespace=“YHSim” Function=“” InvocationTime=“” Instruction=“”>
  <ModelMembers>
    <Member Name=“m_point” DataType=“Point” VariableType=“POINTER” IsStateVariable=“YES” Instruction=“”/>
    <Member Name=“m_speed” DataType=“Speed” VariableType=“POINTER” IsStateVariable=“No” Instruction=“”/>
    <Member Name=“m_result” DataType=“Result” VariableType=“VECTOR_POINTER_PTR” IsStateVariable=“YES”
    Instruction=“”/>
  </ModelMembers>
  <Initializing_parameters />
  <Driven_parameters />
  <Input_parameters>
    <Parameter Name=“speed” DataType=“Speed” VariableType=“POINTER” Corresponding_model_member=“m_speed”
    Instruction=“”/>
    <Parameter Name=“point” DataType=“Point” VariableType=“POINTER” Corresponding_model_member=“m_point”
    Instruction=“”/>
  </Input_parameters>
  <Output_parameters>
    <Parameter Name=“result” DataType=“Result” VariableType=“VECTOR_POINTER_PTR”
    Corresponding_model_member=“m_result” Instruction=“”/>
  </Output_parameters>
  <Macros>
    <Macro Name=“Pai” Value=“3.14”/>
  </Macros>
  <HeaderFiles Files=“iostream.h;”/>
  <LibFiles Files=“caputationalModule.so;”/>
  <User_defined_dataTypes>
    <User_defined_dataType TypeName=“Point” Namespace=“YHSim” Type=“STRUCT” Instruction=“”>
      <member Name=“x” DataType=“double” VariableType=“VARIABLE” Instruction=“”/>
      <member Name=“y” DataType=“double” VariableType=“VARIABLE” Instruction=“”/>
    </User_defined_dataType>
    <User_defined_dataType TypeName=“Speed” Namespace=“YHSim” Type=“STRUCT” Instruction=“”/>
    <User_defined_dataType TypeName=“Result” Namespace=“YHSim” Type=“STRUCT” Instruction=“nested structure”/>
    <User_defined_dataType TypeName=“testEnum” Namespace=“YHSim” Type=“ENUM” Instruction=“”>
      <member Name=“A” Value=“1”/>
      <member Name=“B” Value=“2”/>
    </User_defined_dataType>
    <User_defined_dataType TypeName=“testUnion” Namespace=“YHSim” Type=“UNION” Instruction=“”>
      <member Name=“” DataType=“”/>
    </User_defined_dataType>
  </User_defined_dataTypes>
</Model>