The Format of the Execution Attributes XML File

The execution attributes file is an XML-format file that can be accessed by an external application during execution.

See Also
About Attribute Groups
Creating a Simulation Attribute
Exporting Attributes to an XML File
Importing Attributes from an XML File

Process Composer creates the execution attributes file, Execution_Attributes.xml, during the export step only if you do the following:

  • Create a download step in the simulation activity.
  • Assign an attribute group to a simulation process, simulation activity, or simulation document before executing the simulation process or activity.
  • Set smaSimulationCentral.ExecutionOptions.showLegacyImportExport=true in smaSimulationCentral.properties.

You can configure an external application to read from or write to the execution attributes file. The following XML elements determine where the attribute can be used:

  • <SimulationAttributes>: attributes in a simulation
  • <ActivityAttributes>: attributes in a simulation activity
  • <SimulationDocumentAttributes>: attributes in a versioned or non-versioned document in a simulation
  • <ActivityDocumentAttributes>: attributes in a versioned or non-versioned document in a simulation activity

The attribute must exist in Process Composer; if you try to use the execution attributes file to create an attribute, the job will fail.

You must use the ReferenceData element to define the attribute groups and the attributes specified in the upload rules.

To assign attributes to a document that already exists, add the new attributes to the DocumentAttributes element. The following must be true:

  • The attributes must exist in an attribute group that is specified in an upload rule for the document.
  • The DocumentAttributes element must already exist.

To assign attributes to a document that will be created, you must add the DocumentAttributes element to each document that will be created. The following must be true:

  • The oid attribute must be blank (oid="").
  • The path attribute must contain the complete path to the document relative to the working directory.
  • The path attribute must contain a unique combination of the directory path and file name. You cannot use the same path and file name in the path attribute across different DocumentAttributes elements.

The following illustrates the format of the execution attributes XML file:

<?xml version="1.0" encoding="UTF-8"?>
<AttributeData>
<CreationInfo date="11/10/2010 08:36:39 AM" user="Administrator" locale="en-us,en;q=0.7,fr;q=0.3"/>
  <SimulationAttributes>
      <Attribute name="colorAttribute" type="string" ValueType="singleval" mode="both">
        <Value>red</Value>
      </Attribute>
      <Attribute name="volumeAttribute" type="integer" ValueType="singleval" mode="both" minimum="0" maximum="10"> 
         <Value>1</Value>
      </Attribute>
      <Attribute name="radiusAttribute" type="real" ValueType="singleval" mode="input"  minimum="0.0" maximum="10.0">
         <Value>1.1</Value>
      </Attribute>
      <Attribute name="material" type="string" ValueType="singleval"  mode="output">
         <Choices>
            steel
            aluminum
            copper
         </Choices>
         <Value>copper<Value>
      </Attribute>
      <Attribute attributeName="model" type="string" ValueType="singleval" mode="both">
        <Value>DX4</Value>
      </Attribute>
      <Attribute attributeName="colorSelection" type="string" ValueType="singleval" mode="input">
         <Choices>
            red
            green
            blue
            yellow
         </Choices>
         <Value>red</Value>
      </Attribute>
      <Attribute attributeName="numWheels" type="integer" ValueType="singleval" mode="output"  
                 minimum="0" maximum="10"> 
         <Value>4</Value>
      </Attribute>
      <Attribute attributeName="radius" type="real" ValueType="singleval" mode="both"  
                 minimum="0.0" maximum="10.0">
         <Value>1.1</Value>
      </Attribute>
      <Attribute attributeName="weight" type="real" ValueType="multival"  mode="both">
         <Value>1.10</Value>
         <Value>2.20</Value>
         <Value>3.30</Value>
      </Attribute>
      <Attribute attributeName="modelType" type="string" ValueType="multival"  mode="both">
         <Value>Sport</Value>
         <Value>Cruise</Value>
         <Value>Sedan</Value>
      </Attribute>
   </SimulationAttributes>
   <SimulationDocumentAttributes>
      <DocumentAttributes oid="111.22.333.4455" name ="myDoc" path=="Specification/f1" 
                                 contentRelation="Simulation Content - Owned">
         <Attribute name="stringAttr1" type="string" mode="both">
            <Value>Model 848</Value>
         </Attribute>
         <Attribute  name="stringChoiceAttribute1" type="string" mode="both">
            <Choices>
               black
               white
               gray
            </Choices>
            <Value>black</Value>
         </Attribute>
         <Attribute name="integerAttribute" type="integer" mode="both">
            <Value>1</Value>
         </Attribute>
      </DocumentAttributes>
   </SimulationDocumentAttributes>
   <ActivityAttributes> 
      <Attribute name="stringAttribute" type="string" mode="both">
         <Value>rubber</Value>
      </Attribute>
      <Attribute  name="stringChoiceAttribute" type="string" mode="both">
         <Choices>
            black
            white
         </Choices>
         <Value>white</Value>
      </Attribute>
      <Attribute name="realAttribute" type="real" mode="input" minimum="0.0" maximum="30.0">
         <Choices>10.000000
                  20.000000
                  30.000000
         </Choices>
         <Value>10.0</Value>
      </Attribute>
   </ActivityAttributes>
   <ActivityDocumentAttributes>
       <DocumentAttributes oid="23904.60868.29268.18050" contentRelation="Simulation Content - Owned" 
                           name="Doc-0000149" path="Specifications/">
           <Attribute name="a1" type="string" mode="both" minimum="" maximum="">
              <Value>a</Value>
           </Attribute>
           <Attribute name="a2" type="string" mode="both" minimum="" maximum="">
               <Value>200</Value>
           </Attribute>
        </DocumentAttributes>

        <DocumentAttributes oid="" contentRelation="Simulation Content - Owned" name="Doc-0000149" 
                            path="Folder1/Folder2/A.txt">
            <Attribute name="a3" type="string" mode="both" minimum="" maximum="">
                <Value>300</Value>
            </Attribute>
        </DocumentAttributes>

        <DocumentAttributes oid="" contentRelation="Simulation Content - Owned" name="Specs Doc" 
                            path="Folder1/Folder2/B.txt">
            <Attribute name="a4" type="string" mode="both" minimum="" maximum="">
                <Value>400</Value>
            </Attribute>
        </DocumentAttributes>
    </ActivityDocumentAttributes>

    <ReferenceData>
        <AttributeGroup Title="AG1">
            <Attributes>
                <Attribute name="a1" type="string" mode="both" minimum="" maximum="">
                    <Value>a</Value>
                </Attribute>
            </Attributes>
        </AttributeGroup>
        <AttributeGroup Title="AG2">
            <Attributes>
                <Attribute name="a2" type="string" mode="both" minimum="" maximum="">
                    <Value>b</Value>
                </Attribute>
            </Attributes>
        </AttributeGroup>
        <AttributeGroup Title="AG3">
            <Attributes>
                <Attribute name="a3" type="string" mode="both" minimum="" maximum="">
                    <Value>c</Value>
                </Attribute>
            </Attributes>
        </AttributeGroup>
        <AttributeGroup Title="AG4">
            <Attributes>
                <Attribute name="a4" type="string" mode="both" minimum="" maximum="">
                    <Value>d</Value>
            </Attribute>
            </Attributes>
       </AttributeGroup>
    </ReferenceData>
</AttributeData>

Process Composer writes the Value element of output (or input/output) attributes to the attributes file during export. Conversely, Process Composer reads the Value element from the attributes file during import and modifies the value of the corresponding input (or input/output) attribute.

For more information about reading and writing data from the execution attributes file, see Process Composer: Using Adapters: Function Adapters: Text Parser Adapter: Attribute Value Parser.