Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nested Properties: "Child" should be appended to the element name that are nested under parent properties. #12

Open
racheliurui opened this issue Aug 20, 2019 · 8 comments
Assignees
Labels
ERDi Issues that need to be fixed in ERDi version Low MESA Issues that need to be fixed in MISA Version
Milestone

Comments

@racheliurui
Copy link
Collaborator

racheliurui commented Aug 20, 2019

Background and Solution
To align with updated 950002 and 950004, the defined relationship role names for the "Contains" and "Is made up of" nested association relationships in the Relationship Role Tables for many information models append "Child" to the target role element name nested under parent properties.
In B2MML, current child elements are not explicitly named to distinguish between parent verses child objects in implementations.
In B2MML with any nested structures like equipment hierarchy, there's an assumption that the nesting is from Parent to Child

			<p:HierarchyScope>
				<p:EquipmentID>CompanyA</p:EquipmentID>
				<p:EquipmentLevel>Enterprise</p:EquipmentLevel>
				<p:HierarchyScope>
					<p:EquipmentID>SiteB</p:EquipmentID>
					<p:EquipmentLevel>Site</p:EquipmentLevel>
				</p:HierarchyScope>
			</p:HierarchyScope>

The issue is, in many cases, users would think the nested property is actually from Child to Parent. how can user tell what's wrong with below payload? (Nested from Child to Parent).

			<p:HierarchyScope>
				<p:EquipmentID>SiteB</p:EquipmentID>
				<p:EquipmentLevel>Enterprise</p:EquipmentLevel>
				<p:HierarchyScope>
					<p:EquipmentID>CompanyA</p:EquipmentID>
					<p:EquipmentLevel>Enterprise</p:EquipmentLevel>
				</p:HierarchyScope>
			</p:HierarchyScope>

By introducing Child to the tag naming, it becomes explicit the nested tag is referring a child of the current tag.

			<p:HierarchyScope>
				<p:EquipmentID>CompanyA</p:EquipmentID>
				<p:EquipmentLevel>Enterprise</p:EquipmentLevel>
				<p:HierarchyScopeChild>
					<p:EquipmentID>SiteB</p:EquipmentID>
					<p:EquipmentLevel>Site</p:EquipmentLevel>
				</p:HierarchyScope>
			</p:HierarchyScope>

Impacted Types

As this proposed change impacts a lot of elements' name, the list of impacted types are not listed here but will be commented with the changelog.

racheliurui referenced this issue Aug 20, 2019
ERDi only, Not MESA: complexType name = "MaterialClassType" / element name = "Version" is added ONLY to ERDI and NOT MESA version.  This is a custom, non-95 standard attribute that will be standard only to ERDI implementation.  Comment will be submitted to ISA-95 committee.  

ERDi only, Not MESA: complexType name = "MaterialDefinitionType" / element name = "Version" is added ONLY to ERDI and NOT MESA version.  This is a custom, non-95 standard attribute that will be standard only to ERDI implementation.  Comment will be submitted to ISA-95 committee. 

ERDi only, Not MESA: complexType name = "MaterialClassType", ADD element name = "EffectiveFrom" type = "DateTimeType" ONLY to ERDI and NOT MESA version.  This is a custom, non-95 standard attribute that will be standard only to ERDI implementation.  Comment will be submitted to ISA-95 committee.  

ERDi only, Not MESA: complexType name = "MaterialClassType", ADD element name = "EffectiveTo" type = "DateTimeType" ONLY to ERDI and NOT MESA version.  This is a custom, non-95 standard attribute that will be standard only to ERDI implementation.  Comment will be submitted to ISA-95 committee.  

ERDi only, Not MESA: complexType name = "MaterialDefinitionType", ADD element name = "EffectiveFrom" type = "DateTimeType" ONLY to ERDI and NOT MESA version.  This is a custom, non-95 standard attribute that will be standard only to ERDI implementation.  Comment will be submitted to ISA-95 committee.  

ERDi only, Not MESA: complexType name = "MaterialDefinitionType", ADD element name = "EffectiveTo" type = "DateTimeType" ONLY to ERDI and NOT MESA version.  This is a custom, non-95 standard attribute that will be standard only to ERDI implementation.  Comment will be submitted to ISA-95 committee.  

ERDi, MESA:  complexType name = "MaterialClassType", CHANGED element name  = "UsesPropertiesOfMaterialClassID"  type = "IdentifierType" to "MaterialClassParentID"  type = "MaterialClassIDType to align with updated ISA-95 Part 2 Material Class Object. 

ERDi, MESA: MaterialInformationType: MaterialCapabilityTestSpecification should be deprecated and replaced by TestSpecification to align with updated Part 2, Operations Test Model. This also aligns with the OpMaterialRequirementType: TestSpecificationID in the Common Schema for use in OperationsDefinition. MESA may not do. ERDi should.

ERDi, MESA: MaterialClassType: MaterialCapabilityTestSpecificationID should be deprecated and replaced by TestSpecificationID to align with updated Part 2, Operations Test Model. This also aligns with the OpMaterialRequirementType: TestSpecificationID in the Common Schema for use in OperationsDefinition. MESA may not do. ERDi should.

ERDi, MESA: MaterialDefinitionType: MaterialCapabilityTestSpecificationID should be deprecated and replaced by TestSpecificationID to align with updated Part 2, Operations Test Model. This also aligns with the OpMaterialRequirementType: TestSpecificationID in the Common Schema for use in OperationsDefinition. MESA may not do. ERDi should.

ERDi, MESA: MaterialLotType: MaterialCapabilityTestSpecificationID should be deprecated and replaced by TestSpecificationID to align with updated Part 2, Operations Test Model. This also aligns with the OpMaterialRequirementType: TestSpecificationID in the Common Schema for use in OperationsDefinition. MESA may not do. ERDi should.

ERDi, MESA: MaterialSubLotType:  ADD TestSpecificationID to align with updated Part 2, Operations Test Model. This also aligns with the OpMaterialRequirementType: TestSpecificationID in the Common Schema for use in OperationsDefinition. MESA may not do. ERDi should.

ERDi, MESA:  complexType name = "MaterialLotType", element name ="StorageLocation"; Change type = "StorageHierarchyScopeType" to "ResourceLocationType" to align with updated ISA-95 Part 2 Material Lot Object.  

ERDi, MESA:  complexType name = "MaterialSubLotType", element name ="StorageLocation"; Change type = "StorageHierarchyScopeType" to "ResourceLocationType" to align with updated ISA-95 Part 2 Material Sublot Object.   




ERDi, MESA:  complexType name = "MaterialPropertyType" / element name  = "MaterialProperty".  Change to "EquipmentPropertyChild" to align with ISA-95 Part 2 identified role name. Current element is not explicit about parent verses child.

ERDi, MESA:  complexType name = "MaterialClassPropertyType" / element name  = "MaterialClassProperty".  Change to "MaterialClassPropertyChild" to align with ISA-95 Part 2 identified role name. Current element is not explicit about parent verses child.

ERDi, MESA:  complexType name = "MaterialDefinitionPropertyType" / element name  = "MaterialDefinitionProperty".  Change to "MaterialDefinitionPropertyChild" to align with ISA-95 Part 2 identified role name. Current element is not explicit about parent verses child.

ERDi, MESA:  complexType name = "MaterialLotPropertyType" / element name  = "MaterialLotProperty".  Change to "MaterialLotPropertyChild" to align with ISA-95 Part 2 identified role name. Current element is not explicit about parent verses child.

ERDi, MESA:  complexType name = "MaterialDefinitionPropertyType", ADD element name  =  "MaterialClassPropertyID"   type = "MaterialClassPropertyIDType".  This aligns to updated ISA-95 Part 2.

ERDi, MESA:  complexType name = "MaterialLotPropertyType", ADD element name  =  "MaterialDefinitionPropertyID"   type = "MaterialDefinitionPropertyIDType".  This aligns to updated ISA-95 Part 2.
@racheliurui racheliurui added ERDi Issues that need to be fixed in ERDi version MISA labels Aug 20, 2019
@racheliurui
Copy link
Collaborator Author

racheliurui commented Aug 20, 2019

After today's discussion session, I think I need to update my understanding of the intention to introduce Child with nested tag.
To make it clear to everyone who read this issue, I will update the top description only.

@racheliurui racheliurui changed the title MaterialClassProperty/MaterialClassProperty should be MaterialClassProperty/MaterialClassPropertyChild Nested Properties: "Child" should be appended to the element name that are nested under parent properties. Aug 20, 2019
@racheliurui racheliurui added MESA Issues that need to be fixed in MISA Version and removed MISA labels Aug 21, 2019
racheliurui referenced this issue Aug 21, 2019
Updated TestResultTypoe and PropertyMeasurementType.
racheliurui referenced this issue Aug 21, 2019
ERDi, MESA: complexType name="EquipmentElementLevelType", Change to complexType name="EquipmentLevelType" to align with Part Part2.  MESA may not make this change.  ERDi should. 

ERDi, MESA: complexType name="EquipmentElementLevel1Type",  Change to complexType name="EquipmentLevel1Type" to align with Part Part2.  MESA may not make this change.  ERDi should. 

ERDi, MESA:  complexType name="HierarchyScopeType", 
Change:   </xsd:choice>
                   <xsd:element name="EquipmentElementLevel" type="EquipmentElementLevel1Type"/>
                   <xsd:element name="EquipmentLevel" type="EquipmentElementLevelType"/>
                   To:           
                   <xsd: element name="EquipmentLevel" type="EquipmentLevelType"/>
Add:           <xsd:element name="HierarchyScopeChild" type="HierarchyScopeType" minOccurs="0"/>
@racheliurui racheliurui added this to the Discussed & Commented milestone Aug 22, 2019
@racheliurui
Copy link
Collaborator Author

racheliurui commented Aug 23, 2019

@CharlieG021163

I just think of another way for it to have better backward compatible, See the below payload example.
By introducing an optional element/property "NestedItemType", it can have minimal impact on existing implementation as well as containing the information to help understand if the nested item is Parent or Child.

Another point is, for example, Physical asset class

Table 49 – Physical asset class relationship roles

In ISA950002, both parent and child type are modeled. From the implementation point of view, this kind of model makes implementation very flexible.
The current B2MML only defined nested PhysicalAssetClass, but the recommended modification make it explicitly being PhysicalAssetClassChild. So, people use the standard will lose the flexibility if they want to use nested PhysicalAssetClass as a nested parent (Let's suppose message publisher and the consumer has an agreement to understand the nested type is parent or child).
So, my point is, make the tag to indicate it's child or parent is good, but the baseline is we can't lose the flexibility to choose to nest parent or child. Where in the above case, we need to define 2 optional tags inside the PhysicalAssetClass, one is PhysicalAssetClassChild another is PhysicalAssetClassParent.

Where below is another option I recommended, which is much more backward compatible and without losing the information to indicate the nested type is child or parent.

 <p:HierarchyScope>
	<p:EquipmentID>CompanyA</p:EquipmentID>
	<p:EquipmentLevel>Enterprise</p:EquipmentLevel>
        <p:NestedItemType>Child</p:NestedItemType>
	<p:HierarchyScope>
		<p:EquipmentID>SiteB</p:EquipmentID>
		<p:EquipmentLevel>Site</p:EquipmentLevel>
	</p:HierarchyScope>
</p:HierarchyScope>
 <p:HierarchyScope>
	<p:EquipmentID>SiteB</p:EquipmentID>
	<p:EquipmentLevel>Site</p:EquipmentLevel>
        <p:NestedItemType>Parent</p:NestedItemType>
	<p:HierarchyScope>
		<p:EquipmentID>CompanyA</p:EquipmentID>
		<p:EquipmentLevel>Enterprise</p:EquipmentLevel>
	</p:HierarchyScope>
</p:HierarchyScope>
 <p:HierarchyScope NestedItemType="Parent">
	<p:EquipmentID>SiteB</p:EquipmentID>
	<p:EquipmentLevel>Site</p:EquipmentLevel>
	<p:HierarchyScope>
		<p:EquipmentID>CompanyA</p:EquipmentID>
		<p:EquipmentLevel>Enterprise</p:EquipmentLevel>
	</p:HierarchyScope>
</p:HierarchyScope>

racheliurui referenced this issue Aug 23, 2019
Updated TestSpecification.xsd with relationships to TestableObject and OperationsTestRequirement.
racheliurui referenced this issue Aug 23, 2019
ERDi, MESA:  complexType name = "OpPersonnelActualType", ADD element name = "TestResultType", CHANGE element name = "PersonnelActual" to "PersonnelActualChild";  DELETE = element name = "TestSpecification".

ERDi, MESA:  complexType name = "OpMaterialActualType", ADD element name = "TestResultType"; CHANGE element name = "MaterialActual" to "MaterialActualChild";  DELETE = element name = "TestSpecification".

ERDi, MESA:  complexType name = "OpEquipmentActualType", ADD element name = "TestResultType", CHANGE element name = "EquipmentActual" to "EquipmentActualChild"

ERDi, MESA: complexType name = "OpPhysicalAssetActualType", ADD element name = "TestResultType"; ADD element name = "PhysicalAssetActualProperty"; CHANGE element name = "PhysicalAssetActual" to "PhysicalAssetActualChild";  DELETE = element name = "TestSpecification".

ERDi, MESA: complexType name =  OpPersonnelActualPropertyType", ADD element name = "PersonnelActualPropertyChild";  ADD element name = "PersonnelClassPropertyID";  ADD element name = "PersonPropertyID";  DELETE element name = "RequiredByRequestedSegmentResponse"

ERDi, MESA: complexType name =  OpMaterialActualPropertyType", ADD element name = "MaterialActualPropertyChild";  ADD element name = "MaterialLotPropertyID";  ADD element name = "MaterialDefinitionPropertyID";  ADD element name = "MaterialClassPropertyID"; DELETE element name = "RequiredByRequestedSegmentResponse"

ERDi, MESA: complexType name =  OpEquipmentActualPropertyType", ADD element name = "EquipmentActualPropertyChild";  ADD element name = "EquipmentClassPropertyID";  ADD element name = "EquipmentPropertyID"; DELETE element name = "RequiredByRequestedSegmentResponse"

ERDi, MESA: complexType name =  OpPhysicalAssetActualPropertyType", ADD element name = "PhysicalAssetActualPropertyChild";  ADD element name = "PhysicalAssetClassPropertyID";  ADD element name = "PhysicalAssetPropertyID";  DELETE element name = "RequiredByRequestedSegmentResponse"
racheliurui referenced this issue Aug 26, 2019
ERDi, MESA: Fix typeOs.

Issue raised:  B2MML 7.0 beta has created a B2MML-TestSpecification.xsd schema and created the complex types of "TestResultType" and TestPropertyMeasurementType in the Common Schema.
B2MML 7.0 still has the TestResult type as an attribute in each instance resource property per the old version of ISA-95 resource models and B2MML 6.0. This was a composite relationship which did not allow Test Result to be exchanged and queried as a 1st class object.
In the new Operations Test Model in updated Part 2, Test Result is a 1st order object that is able to be exchanged/queried.
The MESA Committee may reject changing their implementation. If so, ERDi should create an OperationsTest.xsd schema that has test specification type and test result type and allow 1st order transactions. I do not believe that the 1st order transaction were added to the updated part 5. But the updated part 2 as part of the collaboration with OAGi viewed Test Results as a 1st order object.
racheliurui referenced this issue Aug 26, 2019
ERDi, MESA:  complexType name = "OpSegmentResponseType", 
ADD element name = "SegmentRequirement" 
CHANGE element name = "SegmentResponse" to "SegmentResponseChild"  
DELETE element name = "RequiredByRequestedSegmentResponse".
As defined in updated Part 2, The RequestedSegmentResponse has a composite relationship to SegmentRequirement and belongs in SegmentRequirementType as an element.  RequestedSegmentResponse is incorrectly mapped to both Operation Request and Segment Requirement in updated Part 2. A comment will be submitted to 95/IEC Committee to map to only Segment Requirement. 

ERDi, MESA: complexType name = "OpSegmentDataType"
ADD: element name = "HierarchyScope" 
CHANGE element name = "SegmentData" to "SegmentDataChild"  
DELETE element name = "RequiredByRequestedSegmentResponse".
As defined in updated Part 2, The RequestedSegmentResponse has a composite relationship to SegmentRequirement and belongs in SegmentRequirementType as an element. 

ERDi, MESA: complexType name = OpPersonnelActualType", To align with updated Part 2 Operations Performance Model.
DELETE element name = "RequiredByRequestedSegmentResponse".  Per Part 2, Clause 6.2.14 Requested Segment Response, "The identification of the information sent back as defined in the segment requirement shall be presented as a requested segment response. This information is of the same form as a segment response, but without actual values."  

ERDi, MESA: complexType name = OpEquipmentActualType", To align with updated Part 2 Operations Performance Model.
DELETE element name = "RequiredByRequestedSegmentResponse".  Per Part 2, Clause 6.2.14 Requested Segment Response, "The identification of the information sent back as defined in the segment requirement shall be presented as a requested segment response. This information is of the same form as a segment response, but without actual values."

ERDi, MESA: complexType name = OpPhysicalAssetActualType", To align with updated Part 2 Operations Performance Model.
DELETE element name = "RequiredByRequestedSegmentResponse".  Per Part 2, Clause 6.2.14 Requested Segment Response, "The identification of the information sent back as defined in the segment requirement shall be presented as a requested segment response. This information is of the same form as a segment response, but without actual values."

ERDi, MESA: complexType name = OpMaterialActualType", To align with updated Part 2 Operations Performance Model.
DELETE element name = "RequiredByRequestedSegmentResponse".  Per Part 2, Clause 6.2.14 Requested Segment Response, "The identification of the information sent back as defined in the segment requirement shall be presented as a requested segment response. This information is of the same form as a segment response, but without actual values."
racheliurui referenced this issue Aug 26, 2019
ERDi only, Not MESA: complexType name = "EquipmentType" / element name = "Version" is added ONLY to ERDI and NOT MESA version.  This is a custom, non-95 standard attribute that will be standard only to ERDI implementation.  Comment will be submitted to ISA-95 committee.  

ERDi only, Not MESA: complexType name = "EquipmentClassType" / element name = "Version" is added ONLY to ERDI and NOT MESA version.  This is a custom, non-95 standard attribute that will be standard only to ERDI implementation.  Comment will submitted ISA-95 committee to add in next version.  

ERDi, MESA: complexType name = "EquipmentType" / element name  = "EquipmentLevel".  Change  type = "HierarchyScopeType" (incorrect) to type = "EquipmentLevelType".  In the Common Schema, "EquipmentElementLevel1Type" (incorrect) is also changed to "EquipmentLevelType".  This aligns common schema type with element name, "EquipmentLevel" which is the ISA-95 attribute name.

ERDi, MESA:  complexType name = "EquipmentType" / element name  = "Equipment".  Change to "EquipmentChild" to align with ISA-95 Part 2 identified role name.  Current element is not explicit about parent verses child.

ERDi, MESA:  complexType name = "EquipmentClassType" / element name  = "EquipmentClass".  Change to "EquipmentClassChild" to align with ISA-95 Part 2 identified role name.  Current element is not explicit about parent verses child.

ERDi only, Not MESA: complexType name = "EquipmentType", ADD element name = "EffectiveFrom" type = "DateTimeType" ONLY to ERDI and NOT MESA version.  This is a custom, non-95 standard attribute that will be standard only to ERDI implementation.  Comment will be submitted to ISA-95 committee.  

ERDi only, Not MESA: complexType name = "EquipmentType", ADD element name = "EffectiveTo" type = "DateTimeType" ONLY to ERDI and NOT MESA version.  This is a custom, non-95 standard attribute that will be standard only to ERDI implementation.  Comment will be submitted to ISA-95 committee.  

ERDi, MESA:  complexType name = "EquipmentType", ADD element name  ="PhysicalAssetID"     type = "PhysicalAssetIDType"  to align with ISA-95 Part 2 identified role name for equipment asset mapping model. 

ERDi, MESA:  complexType name = "EquipmentType", ADD element name  = element name = "OperationalLocationType"   type = "OperationalLocationTypeType" to align with updated ISA-95 Part 2 Equipment Object.   Add OperationalLocationTypeType to Common Schema. 

ERDi, MESA:  complexType name = "EquipmentPropertyType" / element name  = "EquipmentProperty".  Change to "EquipmentPropertyChild" to align with ISA-95 Part 2 identified role name. Current element is not explicit about parent verses child.

ERDi, MESA:  complexType name = "EquipmentClassPropertyType" / element name  = "EquipmentClassProperty".  Change to "EquipmentClassPropertyChild" to align with ISA-95 Part 2 identified role name. Current element is not explicit about parent verses child.

 ERDi, MESA:  complexType name = "EquipmentPropertyType", ADD element name  =  "EquipmentClassPropertyID"   type = "EquipmentClassPropertyIDType".  This aligns to updated ISA-95 Part 2.

ERDi, MESA:  complexType name = "EquipmentClassType", CHANGED element name  = "UsesPropertiesOfEquipmentClassID"  type = "IdentifierType" to "EquipmentClassParentID"  type = " EquipmentClassIDType to align with updated ISA-95 Part 2 Equipment Object. 

ERDi:  Remove from EquipmentClassType, element name = "EquipmentID"         type = "IdentifierType".  This the source in a  unidirectional relationship in updated ISA-95 part 2 and B2MML represents it as a bidirectional relationship by having this element.
racheliurui referenced this issue Aug 26, 2019
Change back to the B2MML convention of "EquipmentChild" of EquipmentType.
racheliurui referenced this issue Aug 26, 2019
ERDi, MESA:  complexType name = "PhysicalAssetClassType", CHANGED element name  = "PhysicalAssetClass"  to "PhysicalAssetClassChild" to align with updated ISA-95 Part 2 Equipment Object.
CharlieG021163 referenced this issue Aug 27, 2019
ERDi, MESA:  complexType name = "WorkflowSpecificationInformationType">
CHANGE:  
- element name = "WorkflowSpecificationType"   type = "WorkflowSpecificationTypeType"  TO
     "WorkflowSpecificationNodeType"   type = "WorkflowSpecificationNodeTypeType" 
ADD:
- element name = "WorkflowSpecificationConnectionType"   type = "WorkflowSpecificationConnectionTypeType" minOccurs = "0" maxOccurs = "unbounded"/>

ERDi, MESA:  complexType name = "WorkflowSpecificationType">
CHANGE:
- element name = "Node" minOccurs = "0" maxOccurs = "unbounded"/> TO 
     "WorkflowSpecificationNode" minOccurs = "1" maxOccurs = "unbounded"/>
- element name = "Connection" TO "WorkflowSpecificationConnection"
- element name = "WorkflowSpecificationProperty" type = "WorkflowPropertyType" TO 
     "WorkflowSpecificationProperty" type = "WorkflowSpecificationPropertyType" 
- element name = "IncludesThePropertiesOf" TO "WorkflowSpecificationNodeParent"
ADD:
- element name = "DefinitionType", type = "DefinitionTypeType", minOccurs = "0"/>

ERDi, MESA:  complexType name = "WorkflowPropertyType", 
CHANGE: 
- complexType name = "WorkflowPropertyType" TO  "WorkflowSpecificationPropertyType"
- element name = "WorkflowProperty" TO "WorkflowSpecificationPropertyChild"
DELETE:
- element name = "EvaluatedPropertyReference"
- element name = "TestResult"

ERDI, MESA: DELETE complexType name = "WorkflowSpecificationTypeType",  This is an intermediate type which simply refers to WorkflowSpecificationNodeTypeType and WorkflowSpecificationConnectionTypeType.  It is simply not needed especially since these types are individually exchanged as first order objects as master data.  Also, the name, WorkflowSpecificationType, is confusing since it implies that there is a type of Workflow Specification which there is not in the updated ISA-95 Part 2. 

ERDi, MESA: complexType name = "WorkflowSpecificationNodeType">
ADD:
- element name = "Version", type = "VersionType"  minOccurs = "0"/>
- element name = "EffectiveFrom", type = "DateTimeType"  minOccurs = "0" />	    
- element name = "EffectiveTo", type = "DateTimeType" minOccurs = "0" />
CHANGE: 
- element name = "NodeType" type = "IdentifierType" /> TO 
     "WorkflowSpecificationNodeTypeID type = "IdentifierType" minOccurs = "0" maxOccurs = "1"/>
- element name = "Property", type = "WorkflowSpecificationPropertyType" TO
      "WorkflowSpecifictionNodeProperty", type = "WorkflowSpecificationNodePropertyType"   
- element name = "IncludesThePropertiesOf" TO "WorkflowSpecificationNodeParent"
ADD: 
- element name = "WorkMasterID", type = "IdentifierType" />, minOccurs = "0" maxOccurs = "unbounded"/>
- element name = "WorkDirectiveID",type ="IdentifierType" />, minOccurs = "0" maxOccurs = "unbounded"/>

ERDi, MESA:  complexType name = "WorkflowSpecificationConnectionType"> 
CHANGE:
- element name = "ConnectionType" type = "IdentifierType" /> TO 
     "WorkflowSpecificationConnectionTypeID type = "IdentifierType" minOccurs = "0" maxOccurs = "1"/>
- element name = "FromNodeID" TO "FromWSNodeID" 
- element name = "ToNodeID" TO "ToWSNodeID" 
- element name = "Property", type = "WorkflowSpecificationPropertyType" TO
      "WorkflowSpecifictionConnectionProperty", type = "WorkflowSpecificationConnectionPropertyType"   
        
ERDi, MESA:  complexType name = "WorkflowSpecificationNodeTypeType"
ADD:
- element name = "Version", type = "VersionType"  minOccurs = "0"/>
- element name = "EffectiveFrom", type = "DateTimeType"  minOccurs = "0" />	    
- element name = "EffectiveTo", type = "DateTimeType" minOccurs = "0" />
CHANGE:
- element name = "Property", type = "WorkflowSpecificationPropertyType" TO
      "WorkflowSpecifictionNodeTypeProperty", type = "WorkflowSpecificationNodeTypePropertyType"   

ERDi, MESA:  complexType name = "WorkflowSpecificationConnectionTypeType"
ADD:
- element name = "Version", type = "VersionType"  minOccurs = "0"/>
- element name = "EffectiveFrom", type = "DateTimeType"  minOccurs = "0" />	    
- element name = "EffectiveTo", type = "DateTimeType" minOccurs = "0" />
CHANGE:
- element name = "Property", type = "WorkflowSpecificationPropertyType" TO
      "WorkflowSpecifictionConnectionTypeProperty", type = "WorkflowSpecificationConnectionTypePropertyType"
CharlieG021163 referenced this issue Aug 27, 2019
ERDi, MESA: complexType name = "WorkflowSpecificationType"  to align with updated Part 2 Workflow Specification Model.
CHANGE:  element name = "WorkflowSpecificationParent", type = "IdentifierType"   minOccurs = "0" maxOccurs = "unbounded"/> 
     TO minOccurs = "0" maxOccurs = "1"/>

ERDi, MESA: complexType name = "WorkflowSpecificationNodeType" to align with updated Part 2 Workflow Specification Model.
CHANGE:  element name = "WorkflowSpecificationNodeParent", type = "IdentifierType"   minOccurs = "0" maxOccurs = "unbounded"/>
      TO minOccurs = "0" maxOccurs = "1"/>

ERDi, MESA:  xsd:complexType name = "WorkflowSpecificationConnectionType"  to align with updated Part 2 Workflow Specification Model.
ADD:  
- element name = "Dependency", type="DependencyType"/>
- element name="DependencyFactor", type="ValueType" minOccurs="0"/>

ERDi, MESA:  complexType name = "WorkflowSpecificationNodeTypeType" to align with updated Part 2 Workflow Specification Model.
ADD:  element name = "HierarchyScope", type = "HierarchyScopeType" minOccurs = "0"/> to align with updated Part 2 best practice to apply Hierarchy Scope to 1st class objects, this addition was added and comment submitted to ISA-95 for consideration.

ERDi, MESA:  complexType name = "WorkflowSpecificationConnectionTypeType" to align with updated Part 2 Workflow Specification Model.
ADD:  
- element name = "HierarchyScope", type = "HierarchyScopeType" minOccurs = "0"/> to align with updated Part 2 best practice to apply Hierarchy Scope to 1st class objects, this addition was added and comment submitted to ISA-95 for consideration.
- element name = "FromWSNodeMultiplicity", type = "DescriptionType"  minOccurs = "0"/>
- element name = "ToWSNodeMultiplicity", type = "DescriptionType"  minOccurs = "0"/>
- element name = "Dependency" type="DependencyType"/>
- element name = "DependencyFactor" type="ValueType"  minOccurs="0"/>

ERDi, MESA:  DELETE the "Common group for all elements" types and replace with specific types to align with updated Part 2 Test Specification model.  These common group schema make relationship elements between common group schema very confusing.  
ADD: 
- complexType name = "WorkflowSpecificationNodePropertyType".  
- complexType name = "WorkflowSpecificationNodeTypePropertyType".  
- complexType name = "WorkflowSpecificationConnectionPropertyType".
-  complexType name = "WorkflowSpecificationConnectionTypePropertyType".  

ERDi, MESA:  complexType name = "WorkflowSpecificationPropertyType".  This type as defined in updated Part 2 Workflow Specification model is specific to the Workflow Specification object.  B2MML attempts to use as a "common group" schema for all property objects.  This is very confusing and does not support relationship elements.  
DELETE: 
- element name = "PropertyType". This is a Part 2 attribute for resource properties with defined attributes of class type, instance type, and default type which does not represent the types workflow specification property objects.
CHANGE:  
- element name = "Property" TO "WorkflowSpecificationPropertyChild"
CharlieG021163 referenced this issue Aug 27, 2019
ERDi, MESA:  complexType name = "OperationsDefinitionType", 
ADD element name = "DefinitionType"
CHANGED element name  = "UsesPropertiesOfOperationsDefinitionID"  to "OperationsDefinitionParentID" to align with updated ISA-95 Part 2 Equipment Object.

ERDi, MESA: xsd:complexType name = "OperationsMaterialBillType">
ADD element name = "OperationsMaterialBillChild"

ERDi, MESA:  complexType name = "OperationsSegmentType", 
ADD element name = "DefinitionType"
CHANGED element name  = "UsesPropertiesOfOperationsSegmentID"  to "OperationsSegmentParentID" to align with updated ISA-95 Part 2 Equipment Object.
CharlieG021163 referenced this issue Aug 27, 2019
ERDi, MESA: xsd:complexType name = "OperationsDefinitionType">
CHANGE:  minOccurs = "0"/>min TO Occurs = "0" maxOccurs = "unbounded"/> for the following elements:
"BillOfMaterialsID", "WorkDefinitionID", "BillOfResourcesID"

ERDi, MESA: xsd:complexType name = "OperationsSegmentType">
CHANGE:  minOccurs = "0"/>min TO Occurs = "0" maxOccurs = "unbounded"/> for the following elements:
"BillOfMaterialsID", "WorkDefinitionID", "BillOfResourcesID"
CHANGE: :element name = "OperationsSegment" TO element name = "OperationsSegmentChild"
ADD: :element name = "DependentOperationsSegmentID"
CharlieG021163 added a commit that referenced this issue Aug 28, 2019
ERDI, MESA:  #12 To align with updated ISA-95 Part 2 defined relationship role names for the "Contains"  nested relationships in the Relationship Role Tables for property object  information models, "Child" should be appended to the element name nested under parent property. Current child elements are not explicitly named about parent verses child.

complexType name = "PersonPropertyType">
CHANGE:  element name = "PersonProperty"  TO  "PersonPropertyChild"

complexType name = "PersonnelClassPropertyType">
CHANGE:  element name = "PersonnelClassProperty"  TO  "PersonnelClassPropertyChild"
CharlieG021163 referenced this issue Aug 28, 2019
ERDI, MESA:  complexType name = "PersonnelSegmentSpecificationType">
CHANGE:  element name = "PersonnelSegmentSpecification" TO "PersonnelSegmentSpecificationChild"
CHANGE:  element name = "PersonnelSegmentSpecificationProperty" TO "PersonnelSegmentSpecificationPropertyChild"

ERDI, MESA:  complexType name = "EquipmentSegmentSpecificationType">
CHANGE:  element name = "EquipmentSegmentSpecification" TO "EquipmentSegmentSpecificationChild"
CHANGE:  element name = "EquipmentSegmentSpecificationProperty" TO "EquipmentSegmentSpecificationPropertyChild"

ERDI, MESA:  complexType name = "PhysicalAssetSegmentSpecificationType">
CHANGE:  element name = "PhysicalAssetSegmentSpecification" TO "PhysicalAssetSegmentSpecificationChild"
CHANGE:  element name = "PhysicalAssetSegmentSpecificationProperty" TO "PhysicalAssetSegmentSpecificationPropertyChild"

ERDI, MESA: complexType name = "MaterialSegmentSpecificationType">
CHANGE:  element name = "MaterialSegmentSpecification" TO "MaterialSegmentSpecificationChild"
CHANGE:  element name = "MaterialSegmentSpecificationPropery" TO "MaterialSegmentSpecificationPropertyChild"
CharlieG021163 referenced this issue Aug 28, 2019
ERDi, MESA: group name = "WorkDefinitionType"
CHANGE: element name = "Parameter" to "ParameterSpecification" to align with updated Part 4 Work Definition model
DELETE: element name = "OperationsDefinitionID",  "OperationsSegmentID", and "ProcessSegmentID" to align with the updated Part 4 Work Definition model relationships
DELETE: element name = "WorkflowSpecification"

ERDi, MESA: complexType name = "WorkMasterType">
ADD: element name = "OperationsDefinitionID",  "OperationsSegmentID", and "ProcessSegmentID" to align with the updated Part 4 Work Definition model relationships
ADD: element name = "WorkflowSpecification"       type = "WorkflowSpecificationType"    minOccurs = "0"/>  (0..1: CHANGE from minOccurs = "0" maxOccurs = "unbounded"/>)
ADD: element name = "DefinitionType"
CHANGE: element name = "WorkMaster" TO "WorkMasterChild" to align with Part 4 Work Master relationship table.
CHANGE: element name = "IncludesPropertiesOf" TO "WorkMasterParentID" type = "IdentifierType"  minOccurs = "0"/>  (0..1: CHANGE from minOccurs = "0" maxOccurs = "unbounded"/>) to align with Part 4 Work Master relationship table.

ERDi, MESA: complexType name = "WorkDirectiveType">
CHANGE: element name = "WorkDirective" TO "WorkDirectiveChild" to align with Part 4 Work Master relationship table.
ADD: element name = "WorkDirectiveState"        
DELETE OR CHANGE:  element name = "JobOrderID",     This element is the source of the Corresponds To unidirectional relationship, not the target, so Work Master and Work Directive do not correspond to the source and should not list the relationship source in schema.  If MESA keeps these element, recommend change to JobOrderSourceID or similar, However, MESA B2MML implementation does includes source elements across the schema,  ERDi must make this design decision or following ISA-95 in only addressing the target in a relationship between objects.
racheliurui referenced this issue Aug 28, 2019
ERDi, MESA: complexType name = "ProcessSegmentType",
CHANGE: element name = "ProcessSegment" TO element name = "ProcessSegmentChild"
ADD: element name = "DependentProcessSegmentID"
DELETE OR CHANGE: element name = CorrespondsToWorkMasterID",  "CorrespondsToOperationsSegmentID", and "CorrespondsToSegmentRequirementID".  These elements are the source of the Corresponds To unidirectional relationship, not the target, so process segment does not correspond to the source and should not list the relationship source in schema.  If MESA keeps these element, recommend change to OperationsSegmentSourceID or similar, However, MESA B2MML implementation does includes source elements across the schema,  ERDi must make this design decision or following ISA-95 in only addressing the target in a relationship between objects.
CharlieG021163 added a commit that referenced this issue Aug 28, 2019
ERDi, MESA: xsd:complexType name="LocationType" #12
CHANGE: element name="Location" TO element name="LocationChild"

ERDi, MESA:  xsd:complexType name="OpEquipmentRequirementType" #12
ADD:  element name="EquipmentRequirementChild"

ERDi, MESA:  xsd:complexType name="OpEquipmentRequirementPropertyType" #12
CHANGE:  element name="EquipmentRequirementProperty" TO "EquipmentRequirementPropertyChild"

ERDi, MESA:  xsd:complexType name="OpPersonnelRequirementType" #12
ADD:  element name="PersonnelRequirementChild"

ERDi, MESA:  xsd:complexType name="OpPersonnelRequirementPropertyType" #12
CHANGE:  element name="PersonnelRequirementProperty" TO "PersonnelRequirementPropertyChild"

ERDi, MESA:  xsd:complexType name="OpPhysicalAssetRequirementType" #12
ADD:  element name="PhysicalAssetRequirementChild"

ERDi, MESA:  xsd:complexType name="OpPhysicalAssetRequirementPropertyType" #12
CHANGE:  element name="PhysicalAssetRequirementProperty" TO "PhysicalAssetRequirementPropertyChild"

ERDi, MESA:  xsd:complexType name="OpMaterialRequirementPropertyType" #12
CHANGE:  element name="MaterialRequirementProperty" TO "MaterialRequirementPropertyChild"

ERDi, MESA:  xsd:complexType name="OpEquipmentSpecificationType" #12
ADD:  element name="EquipmentSpecificationChild"

ERDi, MESA:  xsd:complexType name="EquipmentSpecificationPropertyType" #12
CHANGE:  element name="EquipmentSpecificationProperty" TO "EquipmentSpecificationPropertyChild"

ERDi, MESA:  xsd:complexType name="OpPersonnelSpecificationType" #12
ADD:  element name="PersonnelSpecificationChild"

ERDi, MESA:  xsd:complexType name="OpPersonnelSpecificationPropertyType" #12
CHANGE:  element name="PersonnelSpecificationProperty" TO "PersonnelSpecificationPropertyChild"

ERDi, MESA:  xsd:complexType name="OpPhysicalAssetSpecificationType" #12
ADD:  element name="PhysicalAssetSpecificationChild"

ERDi, MESA:  xsd:complexType name="OpPhysicalAssetSpecificationPropertyType" #12
CHANGE:  element name="PhysicalAssetSpecificationProperty" TO "PhysicalAssetSpecificationPropertyChild"

ERDi, MESA:  xsd:complexType name="OpMaterialSpecificationPropertyType" #12
CHANGE:  element name="MaterialSpecificationProperty" TO "MaterialSpecificationPropertyChild"

ERDi, MESA:  xsd:complexType name="OpEquipmentCapabilityType" #12
CHANGE:  element name="EquipmentCapability" TO "EquipmentCapabilityChild"

ERDi, MESA:  xsd:complexType name="EquipmentCapabilityPropertyType" #12
CHANGE:  element name="EquipmentCapabilityProperty" TO "EquipmentCapabilityPropertyChild"

ERDi, MESA:  xsd:complexType name="OpPersonnelCapabilityType" #12
CHANGE:  element name="PersonnelCapability" TO "PersonnelCapabilityChild"

ERDi, MESA:  xsd:complexType name="OpPersonnelCapabilityPropertyType" #12
CHANGE:  element name="PersonnelCapabilityProperty" TO "PersonnelCapabilityPropertyChild"

ERDi, MESA:  xsd:complexType name="OpPhysicalAssetCapabilityType" #12
CHANGE:  element name="PhysicalAssetCapability" TO "PhysicalAssetCapabilityChild"

ERDi, MESA:  xsd:complexType name="OpPhysicalAssetCapabilityPropertyType" #12
CHANGE:  element name="PhysicalAssetCapabilityProperty" TO "PhysicalAssetCapabilityPropertyChild"

ERDi, MESA:  xsd:complexType name="OpMaterialCapabilityPropertyType" #12
CHANGE:  element name="MaterialCapabilityProperty" TO "MaterialCapabilityPropertyChild"

ERDi, MESA:  xsd:complexType name="ParameterType" #12
CHANGE:  element name="Parameter" TO "ParameterChild"
@racheliurui
Copy link
Collaborator Author

racheliurui commented Aug 28, 2019

One special scenario noticed with WorkMasterType, where ParentID and nested child both being modeled in the type.

CharlieG021163 added a commit that referenced this issue Aug 29, 2019
ERDi, MESA:  complexType name = "OperationalLocationType"  Align with updated Part 2 Operational Location Model's role name in relationship role tables
CHANGE: #12 element name = "OperationalLocation" TO "OperationalLocationChild"

ERDi: MESA:xsd:complexType name = "OperationalLocationClassType"> Align with updated Part 2 Operational Location Model's role name in relationship role tables
CHANGE: #12  element name = "OperationalLocationClass" TO "OperationalLocationClassChild"
CHANGE:  #32 element name = "IncludesOperationalLocationClassID" TO element name = "OperationalLocationClassParentID"  

ERDi, MESA: complexType name="OperationalLocationClassPropertyType" Align with updated Part 2 Operational Location Model's role name in relationship role tables
ADD:  #12 element name = "OperationalLocationClassPropertyChild"   type = "OperationalLocationClassPropertyType"  minOccurs = "0" maxOccurs = "unbounded"/>

ERDi, MESA: complexType name="OperationalLocationPropertyType"  Align with updated Part 2 Operational Location Model's role name in relationship role tables
ADD: #12 element name = "OperationalLocationPropertyChild"   type = "OperationalLocationPropertyType"  minOccurs = "0" maxOccurs = "unbounded"/>
ADD: element name = "OperationalClassPropertyID"  type = "IdentifierType" minOccurs = "0" maxOccurs = "1"/>
@CharlieG021163
Copy link
Collaborator

Refer to #32 Based further research, the “has properties of” association hierarchy that has the role name of XXXParent in the all the relevant relationship table in Parts 2 and 4 should be change to XXXGroup or XXXCollection. This is what we should recommend since many implementations will use a property for a specialized group of XXXIDs.

@racheliurui
Copy link
Collaborator Author

"In applying assemblies to resource objects, the associated child objects shall be identified as the values of attributes under the parent resource object.
Assembly relationship applies to the following resource objects: material lot, material sublot, material definition, material class, material requirement, material actual, material segment specification, operations material bill item, and material capability."

  • See above evidence provided by Charlie, which indicate that the ISA-95 has the design principle to nest child for types.

  • I will support changing the name tag with Child for material lot, material sublot, material definition, material class, material requirement, material actual, material segment specification, operations material bill item, and material capability.

"in all aggregation relationships in each object relationship table is explicitly named “xxxchild” as to make it clear in all implementations."

  • See above evidence provided by Charlie, which indicates XML standard using aggregate to specify nested Child (?)

  • I will support changing the naming tag by appending "Child" for aggregated nested types, for example, hirarchyscope.

CharlieG021163 added a commit that referenced this issue Sep 19, 2019
ERDi, MESA:   complexType name = "PhysicalAssetPropertyType" #31 
ADD:  element name = "PhysicalAssetClassPropertyID"  type = "IdentifierType"  minOccurs = "0" maxOccurs = "1"/>  

ERDi, MESA:   complexType name = "PhysicalAssetPropertyType" #12 
CHANGE:  element name = "PhysicalAssetProperty"  TO:  "PhysicalAssetPropertyChild"
CharlieG021163 added a commit that referenced this issue Sep 19, 2019
ERDi, MESA: ADD complexType name = "WorkAlertDefinitionPropertyType" #12

ERDi, MESA: complexType name = "WorkAlertProperty" #12  #31 
CHANGE: element name = "Property"  
   TO:  "WorkAlertChildProperty
ADD:  element name = "WorkAlertDefinitionPropertyID"   type = "IdentifierType"  
                                                minOccurs = "0" maxOccurs = "1"/>
CharlieG021163 added a commit that referenced this issue Sep 19, 2019
ERDi, MESA:  complexType name = "WorkCalendarDefinitionType" to align with updated Part 4  Clause 13.2 Work calendar definition, 
CHANGE:  element name = "ID" type = "IdentifierType"  minOccurs = "0"/>
   TO:  element name = "ID" type = "IdentifierType" />
CHANGE:  "Entry"  type = "WorkCalendarDefinitionEntryType"  minOccurs = "0" maxOccurs = "unbounded"/>
   TO: "WorkCalendarDefinitionEntry"  type = "WorkCalendarDefinitionEntryType"  minOccurs = "1" maxOccurs = "unbounded"/>

ERDi, MESA:  complexType name = "WorkCalendarDefinitionPropertyType" to align with updated Part 4  Clause 13.3 Work calendar definition property
CHANGE: "Property"
    TO:  WorkCalendarDefinitionPropertyChild"

ERDi, MESA:  complexType name = "WorkCalendarDefinitionEntryType" to align with updated Part 4  Clause 13.4 Work calendar definition entry
CHANGE:  element name = "ID" type = "IdentifierType"  minOccurs = "0"/>
   TO:  element name = "ID" type = "IdentifierType" />
CHANGE:  "WorkCalendarDefinitionEntry"  #12 
    TO: "WorkCalendarDefinitionEntryChild"
CHANGE: "Property"
    TO:  WorkCalendarDefinitionEntryProperty"

ERDi, MESA:  ADD complexType name = "WorkCalendarDefinitionEntryPropertyType" to align with updated Part 4  Clause 13.5 Work calendar definition entry property

ERDi, MESA:  complexType name = "WorkCalendarType" to align with updated Part 4  Clause 13.6 Work calendar
CHANGE:  element name = "ID" type = "IdentifierType"  minOccurs = "0"/>
   TO:  element name = "ID" type = "IdentifierType"/>
CHANGE:  "Entry"  type = "WorkCalendarEntryType"  minOccurs = "0" maxOccurs = "unbounded"/>
   TO: "WorkCalendarEntry"  type = "WorkCalendarEntryType"  minOccurs = "1" maxOccurs = "unbounded"/>

ERDi, MESA:  complexType name = "WorkCalendarPropertyType" to align with updated Part 4  Clause 13.7 Work calendar property
CHANGE: "Property"
    TO:  WorkCalendarPropertyChild"

ERDi, MESA:  complexType name = "WorkCalendarEntryType" to align with updated Part 4  Clause 13.8 Work calendar entry
ADD:  #31  element name = "WorkCalendarDefintionEntryID" type = "IdentifierType"  minOccurs = "0" maxOccurs = "1"/>  
CHANGE:  "WorkCalendarEntry"  #12 
    TO: "WorkCalendarEntryChild"
CHANGE: "Property"
    TO:  WorkCalendarEntryProperty"

ERDi, MESA:  ADD complexType name = "WorkCalendarEntryPropertyType" to align with updated Part 4  Clause 13.9 Work calendar entry property
ADD:  #31  element name = "WorkCalendarDefintionEntryPropertyID" type = "IdentifierType"  minOccurs = "0" maxOccurs = "1"/>
CharlieG021163 added a commit that referenced this issue Sep 22, 2019
ERDi, MESA: #12  name="OperationsRecordSpecTemplateType" 
ADD:  element name="OperationsRecordSpecTemplateChild" type="OperationsRecordSpecTemplateType" minOccurs="0" maxOccurs="unbounded"/>

ERDi, MESA:  #69 complexType name="OperationsRecordSpecTemplateType"   element name="Action"
   CHANGE:  type="IdentifierType" 	minOccurs="0" maxOccurs="unbounded"/>
    TO:  type="ActionType"  minOccurs="0"/>

ERDi, MESA: #12  name="OperationsRecordTemplateType" 
ADD:  element name="OperationsRecordTemplateChild" type="OperationsRecordTemplateType" minOccurs="0" maxOccurs="unbounded"/>

ERDi, MESA:  #69 complexType name="OperationsRecordTemplateType"   element name="Action"
   CHANGE:  type="IdentifierType" 	minOccurs="0" maxOccurs="unbounded"/>
    TO:  type="ActionType"  minOccurs="0"/>

ERDi, MESA:  #69  ADD: xsd:complexType name="ActionType" to Common.xsd.  Action attribute with defined values for complexType name="OperationsRecordTemplateType" and "OperationsRecordSpecTemplateType"

ERDi, MESA:  #69  ADD:  complexType name="Action1Type" to Common.xsd,.  Defined Values for ActionType  

ERDi, MESA:  #70  complexType name="OperationsRecordTemplateType"  
ADD element name="OperationsRecordEntryID"	type="IdentifierType" minOccurs="1" maxOccurs="unbounded"/>
ADD element name="OperationsRecordSpecTemplateID"	type="OperationsRecordSpecTemplateType"/>

ERDi, MESA: #12  name="OperationsRecordEntryTemplateType" 
ADD:  element name="OperationsRecordEntryTemplateChild" type="OperationsRecordEntryTemplateType" minOccurs="0" maxOccurs="unbounded"/>
CharlieG021163 added a commit that referenced this issue Dec 4, 2019
ERDI, MESA:  #53. Per the ISA95 Committee October 2019 Meeting Decision, RequiredByRequestedSegmentResponse element which is the method in B2MML implementation for 950002 Requested Segment Response object which is used to specify a reporting requirements for actuals in schedules. The Requested Segment Response object has "is made up to" association relationships with Operations Request and Segment Requirement in Operations Schedule._  
As of ISA-95 Committee October 2019 meeting, 950002 now shall support the B2MML method with an attribute in resource objects and support existing method of embedding a segment response template in a operations schedule's segment requirement for Requested Segment Response.

1.  WorkPerformance.xsd, WorkResponseType and JobResponseType  #53 
ADD      <xsd:element name = "RequiredByRequestedSegmentResponse"  type = "RequiredByRequestedSegmentResponseType" minOccurs = "0"/
Not currently in B2MML, Must be ADDed to be consistent

2.  JobResponseType, TypeO in name.  #53 
CHANGE: element name = "JobResponsetData"
    TO:  element name = "JobResponseData" 

3.  JobResponseListType,  TypeO in name.  #53 
CHANGE: element name = "JobResponset"  type = "JobResponseType"  minOccurs = "0" maxOccurs = "unbounded"/>
    TO:  element name = "JobResponse"  type = "JobResponseType"  minOccurs = "1" maxOccurs = "unbounded"/>
 
4.  WorkResponseType, #12 
CHANGE:  element name = "WorkResponse"    TO:  "WorkResponseChild"    


5.  WorkPerformanceType, #12 
CHANGE:  element name = "WorkPerformance"    TO:  "WorkPerformanceChild" 

6.  WorkPerformanceType, WorkResponseType, JobResponseType. #59 
CHANGE:  element name = "ID"     type = "IdentifierType"  minOccurs = "0"/>
ADD: type = "IdentifierType"/>
CharlieG021163 added a commit that referenced this issue Dec 6, 2019
ERDI, MESA: WorkPerformanceType
1.  CHANGE: #12 element name = "WorkPerformance"  type = "WorkPerformanceType"  minOccurs = "0" maxOccurs = "unbounded"/>
     TO: WorkPerformanceChild
2.  CHANGE:  #82 element name = "WorkScheduleID" type = "IdentifierType"/>  
     TO: type = "IdentifierType" minOccurs = "0"/>

ERDI, MESA: WorkResponseType
1.  CHANGE: #12 element name = "WorkResponse"  type = "WorkResponseType"  minOccurs = "0" maxOccurs = "unbounded"/>
     TO: WorkResponseChild
2.  CHANGE:  #82 element name = "WorkRequestID" type = "IdentifierType"/>  
     TO: type = "IdentifierType" minOccurs = "0"/>

ERDI, MESA: JobResponseType
1. CHANGE:  #82 element name = "JobOrderID" type = "IdentifierType"/>  
     TO: type = "IdentifierType" minOccurs = "0"/>
2. CHANGE:  #82 element name = "WorkDirectiveID" type = "IdentifierType"/>  
     TO: type = "IdentifierType" minOccurs = "0"/>
3. CHANGE:  #82 element name = "WorkMasterID" type = "IdentifierType"/>  
     TO: type = "IdentifierType" minOccurs = "0"/>
4. CHANGE:  #82 element name = "WorkflowSpecificationID" type = "IdentifierType"/>  
     TO: type = "IdentifierType" minOccurs = "0"/>
5. CHANGE:  #82 element name = "WorkflowSpecificationNodeID" type = "IdentifierType"/>  
     TO: type = "IdentifierType" minOccurs = "0"/>

ERDI, MESA: JobResponseListType
1. CHANGE:  #82 and TYPEO, element name = "JobResponset"  type = "JobResponseType" minOccurs = "0" maxOccurs = "unbounded"/>
     TO:  element name = "JobResponse"  type = "JobResponseType" minOccurs = "1" maxOccurs = "unbounded"/>
CharlieG021163 added a commit that referenced this issue Dec 9, 2019
1.  ERDI, MESA:  complexType name = "MaterialClassType"
CHANGE: #2 element name = "MaterialDefinitionID"  type = "IdentifierType" minOccurs = "0" maxOccurs = "unbounded"/>
TO:  "MaterialDefinitionSourceID" 

CHANGE: #12 <xsd:element name = "AssemblyClassID" type = "IdentifierType"   minOccurs = "0" maxOccurs = "unbounded"/>
TO:  <xsd:element name = "AssemblyClass" type = "MaterialClassType" minOccurs = "0" maxOccurs = "unbounded"/>

2.  ERDI, MESA:  complexType name = "MaterialDefinitionType"
CHANGE: #2 element name = "MaterialLotID"  type = "IdentifierType" minOccurs = "0" maxOccurs = "unbounded"/>
TO:  "MaterialLotSourceID" 

CHANGE: #12 <xsd:element name = "AssemblyDefinitionID" type = "IdentifierType"   minOccurs = "0" maxOccurs = "unbounded"/>
TO:  <xsd:element name = "AssemblyDefinition" type = "MaterialDefinitionType" minOccurs = "0" maxOccurs = "unbounded"/>

3.  ERDI, MESA:  complexType name = "MaterialLotType"
CHANGE: #12 element name = "AssemblyLotID"  type = "MaterialLotType" minOccurs = "0" maxOccurs = "unbounded"/>
TO:  <xsd:element name = "AssemblyLot" type = "MaterialLotType" minOccurs = "0" maxOccurs = "unbounded"/>

CHANGE: #12 <xsd:element name = "AssemblySublotID" type = "MaterialSublotType"   minOccurs = "0" maxOccurs = "unbounded"/>
TO:  <xsd:element name = "AssemblySublot" type = "MaterialSublotType" minOccurs = "0" maxOccurs = "unbounded"/>

4.  ERDI, MESA:  complexType name = "MaterialSubLotType"
CHANGE: #12 element name = "AssemblyLotID"  type = "MaterialLotType" minOccurs = "0" maxOccurs = "unbounded"/>
TO:  <xsd:element name = "AssemblyLot" type = "MaterialLotType" minOccurs = "0" maxOccurs = "unbounded"/>

CHANGE: #12 <xsd:element name = "AssemblySublotID" type = "MaterialSublotType"   minOccurs = "0" maxOccurs = "unbounded"/>
TO:  <xsd:element name = "AssemblySublot" type = "MaterialSublotType" minOccurs = "0" maxOccurs = "unbounded"/>
CharlieG021163 added a commit that referenced this issue Dec 9, 2019
1. ERDi, MESA:  complexType name = "PersonnelSegmentSpecificationType".  Align with updated 950002 and 950004.
CHANGE:  #85 <xsd:element name = "PersonnelClassID" type = "IdentifierType"/>
TO:  type = "IdentifierType" minOccurs = "0" maxOccurs = "unbounded"/> 

CHANGE: #85 <xsd:element name = "PersonID"  type = "IdentifierType"   minOccurs = "0" />
TO:  "IdentifierType"  minOccurs = "0" maxOccurs = "unbounded"/>

2. ERDi, MESA:  complexType name = "EquipmentSegmentSpecificationType".  Align with updated 950002 and 950004.
CHANGE:  #85 <xsd:element name = "EquipmentClassID" type = "IdentifierType"/>
TO:  type = "IdentifierType" minOccurs = "0" maxOccurs = "unbounded"/> 

CHANGE: #85 <xsd:element name = "EquipmentID"  type = "IdentifierType"   minOccurs = "0" />
TO:  "IdentifierType"  minOccurs = "0" maxOccurs = "unbounded"/>

3. ERDi, MESA:  complexType name = "PhysicalAssetSegmentSpecificationType".  Align with updated 950002 and 950004.
CHANGE:  #85 <xsd:element name = "PhysicalAssetClassID" type = "IdentifierType"/>
TO:  type = "IdentifierType" minOccurs = "0" maxOccurs = "unbounded"/> 

CHANGE: #85 <xsd:element name = "PhysicalAssetID"  type = "IdentifierType"   minOccurs = "0" />
TO:  "IdentifierType"  minOccurs = "0" maxOccurs = "unbounded"/>

4. ERDi, MESA:  complexType name = "MaterialSegmentSpecificationType".  Align with updated 950002 and 950004.
CHANGE: #12 <xsd:element name = "AssemblySpecificationID" type = "IdentifierType"   minOccurs = "0" maxOccurs = "unbounded"/>
TO:  <xsd:element name = "AssemblySegmentSpecification" type = "MaterialSpecificationType" minOccurs = "0" maxOccurs = "unbounded"/>

CHANGE:  #85 <xsd:element name = "MaterialClassID" type = "IdentifierType"/>
TO:  type = "IdentifierType" minOccurs = "0" maxOccurs = "unbounded"/> 

CHANGE: #85 <xsd:element name = "MaterialDefinitionID"  type = "IdentifierType"   minOccurs = "0" />
TO:  "IdentifierType"  minOccurs = "0" maxOccurs = "unbounded"/>

ADD: #85 <xsd:element name = "MaterialLotID"  type = "IdentifierType"  minOccurs = "0" maxOccurs = "unbounded"/>
ADD: #85 <xsd:element name = "MaterialSublotID"  type = "IdentifierType"   minOccurs = "0" maxOccurs = "unbounded"/>
CharlieG021163 added a commit that referenced this issue Dec 9, 2019
1. ERDi, MESA:  complexType name = "WorkScheduleType".  Align with updated 950002 and 950004.
CHANGE: #12 element name = "WorkSchedule" 
TO:  element name = "WorkScheduleChild" 

2.  ERDi, MESA:  complexType name = "WorkRequestType".  Align with updated 950002 and 950004.
CHANGE: #12 element name = "WorkRequest" 
TO:  element name = "WorkRequestChild" 

3.  ERDi, MESA:  complexType name = "JobOrderType".  Align with updated 950002 and 950004.
CHANGE:  #82 <xsd:element name = "WorkMasterID"  type = "IdentifierType"/>
TO:  type = "IdentifierType" = "0"/>

4.  ERDi, MESA:  complexType name = "JobOrderType".  Align with updated 950002 and 950004.
DELETE: #90 <xsd:element name = "OperationsRequestID"  type = "IdentifierType"   minOccurs = "0" maxOccurs = "unbounded"/>
CharlieG021163 added a commit that referenced this issue Dec 11, 2019
ERDI, MESA: #12 complexType name = "MaterialSubLotType"
CHANGE: element name = "MaterialSubLot"
TO:  MaterialSublotChild
@Dennis-Brandl
Copy link

I am not sure that "Child" has the same connotation as "Contains" or "Is Made Up Of". None of the standard English definitions of "Child" matches the relationships.
The term "Contains" in the relationship name is used for a composition hierarchy.
The term "is made up of" in the relationship name is used for an aggregation hierarchy.
I suggest prepending "Contains" to the element name (e.g. ContainsEquipmentProperty) for the contains relationships.
I recommend prepending "MadeUpOf" to the element name (e.g. madeUpOfPhysicalAsset) for the 'is made up of' relationship.
This is more consistent with the ISA 95 standard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ERDi Issues that need to be fixed in ERDi version Low MESA Issues that need to be fixed in MISA Version
Projects
None yet
Development

No branches or pull requests

5 participants