0% found this document useful (0 votes)
14 views13 pages

b2mml v01 Common

The document outlines the Business To Manufacturing Markup Language (B2MML) schema, which defines common data elements for manufacturing processes based on ANSI/ISA standards. It includes guidelines for extensibility, element definitions, and the use of unique IDs within exchanged information. The publication is intended for informational purposes and does not guarantee the absence of intellectual property rights infringements.

Uploaded by

muhammad-farhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views13 pages

b2mml v01 Common

The document outlines the Business To Manufacturing Markup Language (B2MML) schema, which defines common data elements for manufacturing processes based on ANSI/ISA standards. It includes guidelines for extensibility, element definitions, and the use of unique IDs within exchanged information. The publication is intended for informational purposes and does not guarantee the absence of intellectual property rights infringements.

Uploaded by

muhammad-farhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 13

World Batch Forum

Business To Manufacturing
Markup Language
B2MML
Version 01

April 7, 2002

Common Schema
Documentation

IMPORTANT: While the information, data, and standards provided in this publication were developed and
are presented in good faith in accordance with a reasonable process that was subject to intellectual
property and antitrust policies to benefit the industry as a whole, the publication is provided “as is” for
information and guidance only, and there is no representation or warranty of any type or kind, including
but not limited to warranties of merchantability or fitness for a particular purpose, and no warranty that use

Copyright  2002 World Batch Forum Page 1 of 13


All Rights Reserved
of the information, data, or standards will not infringe patent, copyright, trademark, trade secret, or other
intellectual property rights of any party.

Copyright  2002 World Batch Forum Page 2 of 13


All Rights Reserved
Table of Contents

1 Schema Scope..................................................................................................................................... 3
1.1 Key Information Assumptions........................................................................................................ 3
1.2 Key Use Assumptions................................................................................................................... 3
1.3 Type Names.................................................................................................................................. 3
1.4 User Element Extensibility............................................................................................................. 3
1.5 User Enumeration Extensibility...................................................................................................... 4
1.6 Use of IDs in Schema Definitions.................................................................................................. 5
1.7 Diagram Convention...................................................................................................................... 6
2 Element Definitions............................................................................................................................... 7

Change History:
Change Date Person Description
V01 7 April 2002 Dennis Brandl Initial release
Dave Emerson

Copyright © 2002 The World Batch Forum. All Rights Reserved. http://www.wbf.org

This World Batch Forum Work (including specifications, documents, software, and related items)
referred to as the Business To Manufacturing Markup Language (B2MML) is provided by the
copyright holders under the following license.

Permission to use, copy, modify, or redistribute this Work and its documentation, with or without
modification, for any purpose and without fee or royalty is hereby granted provided the World
Batch Forum is acknowledged as the originator of this Work using the following statement:

"The Business To Manufacturing Markup Language (B2MML) is used courtesy of the World Batch
Forum."

In no event shall the World Batch Forum, its members, or any third party be liable for any costs,
expenses, losses, damages or injuries incurred by use of the Work or as a result of this
agreement.

Material from ANSI/ISA-88 and ANSI/ISA-95 series of standards used with permission of ISA - The Instrumentation,
Systems, and Automation Society, www.isa.org

Copyright  2002 World Batch Forum Page 3 of 13


All Rights Reserved
909384323.doc

1 Schema Scope
This document defines the information that is used in common by B2MML personnel, equipment, materials,
maintenance, capabilities, product definition, production schedule, and production performance schemas.

This information is based on the data models and attributes defined in the ANSI/ISA 95.00.02
Enterprise/Control System Integration standard. Contact ISA (The Instrumentation, System, and Automation
Society) for copies of the standard. Additional information on the standard is available at www.isa.org.

1.1 Key Information Assumptions


The data represented in these schemas define information that is common across all of the schemas defined
from the ANSI/ISA 95.00.02 standard.

The common schema defines data types used in the other schemas.

1.2 Key Use Assumptions


The model only defines the exchanged information and does not define the use of the information or
encapsulation of the information in any defining transactions.

1.3 Type Names


The XML schema uses a model that defines simple and complex data types for each element. The data
types all follow the convention of a suffix of “Type” added to the element name.

Schema definition:
<xsd:element name = "SubmissionDate" type = " SubmissionDate Type"/>

<xsd:simpleType name=" SubmissionDate Type">


<xsd:restriction base="xsd:dateTime">
</xsd:restriction>
</xsd:simpleType>

1.4 User Element Extensibility


In order to make the schemas more useful, selected elements include the ability for elements to be extended.
The extended elements are not defined in this standard and should not be considered understandable
between applications without prior agreement.

Each complex type that is not an enumeration set contains the XSD element ##any. This allows any user-
defined element to be included at the end of the element sequence. The additional elements must be
defined in a schema whose namespace is referenced in order to create a valid XML document.

Schema definition:
<xsd:complexType name = "TestResultType" >
<xsd:sequence>
<xsd:element name = "ID" type = "IDType" minOccurs = "0" maxOccurs = "1"/>
<xsd:element name = "Description" type = "DescriptionType" minOccurs = "0" maxOccurs = "unbounded"/>
<xsd:element name = "DateTime" type = "DateTimeType" minOccurs = "0" maxOccurs = "1"/>
<xsd:element name = "Result" type = "ResultType" minOccurs = "0" maxOccurs = "1"/>
<xsd:element name = "UnitOfMeasure" type = "UnitOfMeasureType" minOccurs = "0" maxOccurs = "1"/>
<xsd:element name = "ExpirationTime" type = "ExpirationTimeType" minOccurs = "0" maxOccurs = "1"/>
<xsd:any namespace="##any" minOccurs = "0" maxOccurs = "unbounded"/>
</xsd:sequence>
</xsd:complexType>

Copyright  2002 World Batch Forum Page 4 of 13


All Rights Reserved
909384323.doc

Used in XML document:


<b2mml:TestResult>
<b2mml:ID>Acididy Test 15</b2mml:ID>
<b2mml:Description>”Test of acidity using standard procedure 15”</b2mml:Description>
<mySchema:Property>Consumable Used</mySchema:Property>
<mySchema:Specification>Glass or Teflon Tubes</mySchema:Specification>
</b2mml:BatchList>

The use of the ##any construct allows for easy intra-vendor or intra-company extensions to the schemas,
extending the number of places that they may be applied. The ##any does this without effecting the ability to
perform inter-vendor or inter-company information exchange as defined by the standards for exchanged
information in ANSI/ISA-95.

ANSI/ISA-95 Part 2 includes a list of objects and attributes, mapped as elements in the schemas, that can be
used to measure the completeness of an implementation. Excessive use of ##any constructs combined
with minimal coverage of supported objects will result in a minimal measure of completeness of an
implementation.

1.5 User Enumeration Extensibility


The ANSI/ISA-95.00.02 Enterprise/Control System Integration standard Part 2 defines sets of specific
enumerations. B2MML provides support for these enumerations and possible user extensions extension.
The extended enumeration values are not defined in this standard and should not be considered
understandable between applications without prior agreement.

To provide for user extended enumerations all types that contain enumerated values have an enumeration
value of “Other” and an attribute of “OtherValue”. Any element, in an instance document, with an extended
enumeration should use the enumeration value of Other and place the actual enumeration in the OtherValue
attribute.

The enumerations and “OtherValue” attribute are added in two steps in the schemas. This is done due to a
restriction in W3C schemas that prevent restrictions (enumeration values) and extensions (adding an
attribute) at the same time. The complex type naming convention used is a “1” in the name of temporary
complex type (complex type name = ‘element name’ + ‘1’ + ‘Type’) and the same name without the ‘1’ for the
final complex type name. The two step process can be ignored by XML authors as the temporary type is not
intended for use in XML documents.

Schema definition:
<xsd:complexType name = "CapabilityType1Type">
<xsd:simpleContent>
<xsd:restriction base = "xsd:string">
<xsd:enumeration value = "Committed " />
<xsd:enumeration value = "Available " />
<xsd:enumeration value = "Unattainable" />
<xsd:enumeration value = "Other" />
</xsd:restriction>
</xsd:simpleContent>

</xsd:complexType>

<xsd:complexType name = "CapabilityTypeType">


<xsd:simpleContent>
<xsd:extension base = "CapabilityType1Type">
<xsd:attribute name = "OtherValue" type = "xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>

Used in XML document:

Copyright  2002 World Batch Forum Page 5 of 13


All Rights Reserved
909384323.doc

<b2mml:CapabilityType>
Committed
</b2mml: CapabilityType >

<b2mml: CapabilityType OtherValue = “MayBePurchases”>


Other
</b2mml: CapabilityType >

1.6 Use of IDs in Schema Definitions


The use of IDs in the schema definition is based on the definition of IDs in the ANSI/ISA-95 Part 2 standard.
Many elements in the exchanged information require unique IDs. These IDs should be considered unique
only within the scope of the exchanged information. They may have not meaning beyond the scope of
exchanged information.

This will usually require translation of the element IDs from one system’s internal identification into a
standard representation. For example, a unit may be identified as resource “R100011” in the scheduling
system and “East Side Reactor” in the manufacturing system. A unique identification set must be agreed to in
order to exchange information. Often the IDs may be the IDs of one or the other system in an exchange,
assuming that the IDs are unique (within the scope of the exchanged information)

The element IDs are defined only to identify objects within related exchanged information sets. The element
IDs are not intended to act as global object IDs or database index attributes.

Generally elements that are elements of aggregations, and are not referenced elsewhere in the model, do
not require unique IDs.

Where unique identification of elements is required for other reasons, such as for XSLT transformations, then
the “##any” construct can be used to add application specific IDs to elements.

Copyright  2002 World Batch Forum Page 6 of 13


All Rights Reserved
909384323.doc

1.7 Diagram Convention


The schema diagrams using the following convention to illustrate the structure of the schema elements, the
type of the elements and attributes, and the rules for optional elements and repetition.

I n d ic a t e s a n e le m e n t

I n d ic a t e s t y p e o f e le m e n t

I n d ic a t e s 0 o r 1 in s t a n c e s

I n d ic a t e s 0 o r m a n y in s t a n c e s

I n d ic a t e s 1 a n d o n ly 1 in s t a n c e

I n d ic a t e s a s e le c t io n o f 1 e le m e n t o n ly

O p t io n a l a n d r e p e a t a b le c h o ic e

I n d ic a t e s n o c o n t a in e d e le m e n t s

I n d ic a t e s c o n t a in e d e le m e n t s

I n d ic a t e s a n a t t r ib u t e

I n d ic a t e s a t t r ib u t e s o f e le m e n t
I n d ic a t e s e x t e n s ib le e le m e n t s
##any nam espace

Copyright  2002 World Batch Forum Page 7 of 13


All Rights Reserved
909384323.doc

2 Element Definitions
Type Name Description
ActualEndTimeType A date/time defining an actual ending time of an element.
ActualFinishType A date/time defining an actual time an element finished.
ActualStartTimeType A date/time defining an actual starting time of an element
BillOfMaterialIDType A string containing an identification of a material in a bill of material
for a product
BillOfMaterialsIDType A string containing an identification of a bill of materials for a
product.
BillOfResourcesIDType A string containing an identification of a bill of resources for a
product.
CapabilityTypeType Identifies the type of a capability/capacity definition.
This may be either a standard type or an application specific
extended type. Standard enumerations are: "Committed",
"Available", "Unattainable", and "Other".
 Committed  The portion of a production capacity that is
currently in use or is scheduled for use.
 Available  The portion of a production capacity that is
currently available for use.
 Unattainable  The portion of a production capacity that is
currently not available for use, for example due to scheduled
maintenance, unscheduled maintenance, or the current
product mix.
If “Other” then the type is an application specific extension and the
value is defined in the attribute “OtherValue”.
CauseType A string containing the cause description of a maintenance
response.
CertificateOfAnalysisReferenceType A string containing a reference (or ID) of a certification of analysis.
ConsumableType A string containing the definition of a consumable resource used in
a maintenance element.
CorrectionType A string containing the description of the correction of a
maintenance element.
DataTypeType An identification of the type of a parameter. These types are based
on the W3C types defined in the XSD specification, with the
addition of “Enumeration” for user defined enumerations and
“Other” for application specific extended types.
This may be either a standard type or an application specific
extended type. Standard enumerations are:
“string", "byte", "unsignedByte", "binary", "integer",
"positiveInteger", "negativeInteger", "nonNegativeInteger",
"nonPositiveInteger", "int", "unsignedInt", "long",
"unsignedLong", "short", "unsignedShort", "decimal", "float",
"double", "boolean", "time", "timeInstant", "timePeriod",
"duration", "date", "month", "year", "century", "recurringDay",
"recurringDate", "recurringDuration", "Name", "QName",
"NCName", "uriReference", "language", "ID", "IDREF",
"IDREFS", "ENTITY", "ENTITIES", "NOTATION", "NMTOKEN",
"NMTOKENS", "Enumeration", and "Other".
If “Other” then the type is an application specific extension and the
value is defined in the attribute “OtherValue”.

Copyright  2002 World Batch Forum Page 8 of 13


All Rights Reserved
909384323.doc

DependencyType A string defining the type of a dependency of segments. There are


two segments defined, A and B, this defines the type of the
execution or timing dependency between the segments.
This may be either a standard type or an application specific
extended type. Standard enumerations are: "NotFollow",
"PossibleParallel", "NotInParallel", "AtStart", "AfterStart",
"AfterEnd", "NoLaterAfterStart", "NoEarlierAfterStart",
"NoLaterAfterEnd", "NoEarlierAfterEnd", and "Other"
 NotFollow == B can not follow A
 PossibleParallel == B may run in parallel to A
 NotInParallel == B may not run in parallel to A
 AtStart == Start B at A start
 AfterStart == Start B after A start
 AfterEnd == Start B after A end
 NoLaterAfterStart == Start B no later than T
(Timing Factor) after A start
 NoEarlierAfterStart == Start B no earlier than T
(Timing Factor) after A start
 NoLaterAfterEnd == Start B no later than T
(Timing Factor) after A end
 NoEarlierAfterEnd == B no earlier than T
(Timing Factor) after A end
If “Other” then the type is an application specific extension and the
value is defined in the attribute “OtherValue”.
DescriptionType A string containing a description of an element.
DurationType A duration datatype used to define the time duration (expected or
actual) of a segment.
EarliestStartTimeType A date/time defining the earliest start date and time of a segment.
EndTimeType A date/time defining an ending time of a capability, production
performance, or other element.
EquipmentCapabilityTestSpecificationIDType A string containing an identification of a capability test specification.
EquipmentClassIDType A string containing an identification of a class of equipment.
EquipmentElementLevelType An identification of the level of an equipment element.
This may be either a standard type (ANSI/ISA-95) or an application
specific extended type. Standard enumerations are:
“Enterprise”, “Site”, “Area”, “ProcessCell”, “Unit”,
“ProductionUnit”, “ProductionLine”, “WorkCell”, and Other”
If “Other” then the type is an application specific extension and the
value is defined in the attribute “OtherValue”.
EquipmentIDType A string containing an identification of an equipment element.
ExpirationTimeType A date/time containing the expiration date/time of a test result.
IDType A string containing an ID of an element
LatestEndTimeType A date/time containing the latest end time of an element.
LocationType A complex type identifying the associated elements of the
equipment hierarchy model.
LocationType is recursive so that it can contain the definition of a
complete path in the equipment hierarchy. For example, a top level
could be the name of the enterprise, with EquipmentElementLevel
of “Enterprise”, which contains the name of the site, with
EquipmentElementLevel of “Site”, which contains an area name,
with EquipmentElementLevel of “Area”.
The scope of the location must be agreed to by communicating
components. For example, there may be an agreement to only

Copyright  2002 World Batch Forum Page 9 of 13


All Rights Reserved
909384323.doc

supply the “Area” name, because the site and enterprise are
implicitly defined through the messaging system.

MaintenanceRequestIDType A string containing an identification of a maintenance request.


MaintenanceResponseIDType A string containing an identification of a maintenance response.
MaintenanceWorkOrderIDType A string containing an identification of a maintenance work order.
MaterialClassIDType A string containing an identification of a material class
MaterialDefinitionIDType A string containing an identification of a material definition.
MaterialLotIDType A string containing an identification of a material lot.
MaterialSubLotIDType A string containing an identification of a material sublot
MaterialUseType An identification of the type of material use.
This may be either a standard type (ANSI/ISA-95) or an application
specific extended type. Standard enumerations are:
“Consumed”, “Produced”, “Consumable”, and Other”
If “Other” then the type is an application specific extension and the
value is defined in the attribute “OtherValue”.
NameType A string identifying the name of an element.
ParameterIDType A string containing an identification of parameter.
ParameterType A complex type defining a parameter, with an ID and a value.
Parameters may also be nested.

PersonIDType A string containing the identification of a person.


PersonNameType A string containing the name of a person.
PersonnelClassIDType A string containing the identification of a personnel class.
PlannedFinishType A date/time containing a planned finishing time.
PlannedStartType A date/time containing a planned starting time.
PriorityType An integer that specifies a priority of a request. Lower numbers
have higher priority (e.g., Priority 1 is more important than Priority

Copyright  2002 World Batch Forum Page 10 of 13


All Rights Reserved
909384323.doc

7).
ProblemType A string containing a description of a problem in a maintenance
request.
ProcessSegmentIDType A string containing an identification of a process segment.
ProductionRequestIDType A string containing an identification of a production request.
ProductionScheduleIDType A string containing an identification of a production schedule.
ProductProductionRuleIDType A string containing an identification of a product production rule.
ProductProductionRuleType A string containing a reference to an external product production
rule (e.g. a recipe)
ProductSegmentIDType A string containing an identification of a product segment.
PropertyIDType A string containing the ID of a property.
PublishedDateType A date/time defining the published date/time of an element.
QAMaterialTestSpecificationIDType A string containing an identification of a QA Material Test
Specification.
QualificationTestSpecificationIDType A sting containing an identification of a qualification test
specification.
QuantityStringType A string containing the value of a quantity, encoded as a string
type.
QuantityType A complex type defining the quantity of a resource (e.g. 15 KG). It
contains a value, a data type of the value and the unit of measure
of the value.
In many element definitions multiple quantities are allowed. This
supports the concept of “catch weight” where there may be multiple
measures of quantity, such as a count and a weight. For example,
a catch weight quantity for lobsters may include a count of the
number of lobsters as one quantity and the total weight of lobsters
as another quantity.

ReasonType A string containing the reason for a maintenance request.


RequestedCompletionDateType A date/time containing the requested completion date of an
element.
RequestedPriorityType An integer that specifies the requested priority of a request. Lower
numbers have higher priority (e.g., Priority 1 is more important than
Priority 7).
RequestorType A string containing an identification of the requestor for
maintenance request.
RequiredByRequestedSegmentResponse A string used by the production schedule, in a
Type ProductionRequest/SegmentResponse to indicate if an element in
a in the segment response should be returned in a
ProductionResponse.
The value must be one of the following standard enumerations:
“Required”, “Optional”, or “Other”

Copyright  2002 World Batch Forum Page 11 of 13


All Rights Reserved
909384323.doc

 Required  The SegmentResponse element is required to be


returned in a ProductionResponse.
 Optional  The SegmentResponse element , with the
associated ProductionSchedule/SegmentResponse structure
may be returned in a ProductionResponse.
If “Other” then the type is an application specific extension and the
value is defined in the attribute “OtherValue”.
ResourcesType A description of the resources required for a maintenance element.
ResponsiblePersonType A string containing the identification of the person responsible for a
maintenance element.
ResultType A complex type containing the result of a test, including a data type
and unit of measure.

ReviewerType A string containing an identification of a reviewer of an element.


SegmentDependencyType A complex type defining a dependency between segments.

StartTimeType A date/time containing the start time for an element.


StatusTimeType A date/time containing the time of a status for an element.
StatusType A string containing the status of an element.
StorageLocationType A string containing an identification of a storage location.
SubmissionDateType A date/time containing the time of a submission of a maintenance
element.
TestDateTimeType A date/time type used in a test result.
TestResultType A complex type containing test results, including the list of results,
expiration time of the test, the data and time of the test.

Copyright  2002 World Batch Forum Page 12 of 13


All Rights Reserved
909384323.doc

TimingFactorType A complex type defining the timing factor for a segment


dependency, containing the time factor and the unit of measure of
the time.

UnitOfMeasureType A string containing a unit of measure.


ValueStringType The value for a value, encoded as a string.
ValueType A complex type containing a value, the type of the data, and the
unit of measure of the value.

VersionType A string containing an identification of a version.

Copyright  2002 World Batch Forum Page 13 of 13


All Rights Reserved

You might also like