MESAInternational / B2MML-BatchML

B2MML is an XML implementation of the ANSI/ISA-95, Enterprise-Control System Integration, family of standards (ISA-95), known internationally as IEC/ISO 62264. B2MML consists of a set of XML schemas written using the World Wide Web Consortium's XML Schema language (XSD) that implement the data models in the ISA-95 standard.
Other
93 stars 45 forks source link

ProcessElementParameterType lacks way to express transformation calculations #63

Closed mhoganRiff closed 4 years ago

mhoganRiff commented 4 years ago

It would be nice if the ProcessElementParameterType definition had a standard mechanism for storing transformation calculations.

The thinking here is that GeneralRecipes are converted into MasterRecipes via transformation. These transformations generally involve calculations. However, there does not seem to be a standard way to embed parameter calculations in GeneralRecipe ProcessElementParameter values using the B2MML standard.

One way to approach this might be to harmonize ValueType and BatchValueType, and to use this harmonized type to express parameter values the GeneralRecipe and MasterRecipe "worlds".

If ValueTypes were made to look like "a BatchValueType with an optional Key", then all uses of BatchValueType could use ValueType instead.

The proposed change is backward compatible: any existing BatchML/B2MML documents would remain valid.

In addition to proposed to the ValueType declaration (shown below), the DataInterpretation1Type and DataInterpretationType declarations would need to move from BatchML-BatchInformation.xsd to, say, B2MML-Common.xsd. They do not seem to have any dependencies that would prevent this.

  <xsd:complexType name = "ValueType" mixed = "true">
    <xsd:sequence>
      <xsd:element name = "ValueString"         type = "ValueStringType"          
                                                minOccurs = "1" maxOccurs = "unbounded"/>
      <xsd:element name = "DataInterpretation"  type = "DataInterpretationType"/>
      <xsd:element name = "DataType"            type = "DataTypeType" />
      <xsd:element name = "UnitOfMeasure"       type = "UnitOfMeasureType" />
      <xsd:element name = "EnumerationSetID"    type = "IdentifierType"     
                                                minOccurs = "0" maxOccurs = "unbounded"/>
      <xsd:element name="Key" type="IdentifierType" minOccurs="0" maxOccurs="1"/>
      <xsd:group   ref  = "ValueType"      minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>
Dennis-Brandl commented 4 years ago

This should be raised with the ISA-95 committee. If this is to occur, these fields should be optional, not required, otherwise the B2MML documents are not compatible. A copy of this was sent to the ISA 95 chairman.