<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>On the Notion of Maintenance State for Industrial Assets</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Caitlin Woods</string-name>
          <email>caitlin.woods@uwa.edu.au</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Matt Selway</string-name>
          <email>matt.selway@unisa.edu.au</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Melinda Hodkiewicz</string-name>
          <email>melinda.hodkiewicz@uwa.edu.au</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Farhad Ameri</string-name>
          <email>ameri@txstate.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Markus Stumptner</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>William Sobel</string-name>
          <email>will@wvsobel.llc</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>MTConnect Institute</institution>
          ,
          <addr-line>McLean, VA, 22102</addr-line>
          ,
          <country country="US">U.S.A</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Texas State University</institution>
          ,
          <addr-line>San Marcos, TX 78666</addr-line>
          ,
          <country country="US">U.S.A</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>The University of Western Australia, Crawley Western Australia</institution>
          ,
          <addr-line>6009</addr-line>
          ,
          <country country="AU">Australia</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of South Australia, Industrial AI, 1 University Blvd., Mawson Lakes, South Australia</institution>
          ,
          <addr-line>5095</addr-line>
          ,
          <country country="AU">Australia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Maintenance is vital to ensure our manufacturing assets operate safely and eficiently. Maintenance work is triggered by a number of factors. One of these factors is a change in health state of an asset and the impact of this change on the ability of the asset to perform its functions. In addition, the act of performing maintenance changes the health state of the asset, restoring or retaining it to a state in which it can perform its required function. The ability to perform maintenance can also depend on the state, up state or down state, of the asset. The notion of state and the precursors and consequence of a change in state of an asset are central to developing formal maintenance ontologies and their related reasoning mechanisms to support maintenance management process automation. This paper explores this notion in a Basic Formal Ontology (BFO) context using an illustrative case study. In modelling a simple example, we have encountered many issues that are under active discussion within the industrial ontology community. We propose a formalization for maintenance state and discuss practical and ontological issues. Our main focus is on the role of maintenance state in the interplay between function realization and process participation, conditioned on a state. The paper is a call-to-arms to the ontology community to engage with defining a notion of state to support the use of ontologies and reasoning to assist in automation of industrial manufacturing processes.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;state</kwd>
        <kwd>stasis</kwd>
        <kwd>maintenance</kwd>
        <kwd>asset</kwd>
        <kwd>Basic-Formal Ontology</kwd>
        <kwd>function</kwd>
        <kwd>industrial ontology</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Motivation</title>
      <p>
        The notion of an asset’s state is central to maintenance language. Maintenance is defined as
“combination of all technical, administrative and managerial actions during the life cycle of an
item intended to retain it in, or restore it to, a state in which it can perform the required function"
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Maintenance actions and their timing are determined by the maintenance strategies for an
asset and the operating plan for the facility. Manufacturing plants need to plan and execute
hundreds sometimes thousands of maintenance actions each month. Typical maintenance
actions include inspections, calibrations, repairs, replacements, and modifications. The up or
down state of an asset impacts what maintenance task can be executed.
      </p>
      <p>Maintenance actions may be triggered by the change in health state of an asset and the impact
of this change on the ability of the asset to perform its primary and secondary functions. The
ability to perform maintenance also depends on the operating state, up state or down state, of
the asset. The act of performing maintenance is often, but not always, intended to change the
health state of the asset, restoring or retaining it to a state in which it can perform its required
function. An exception to this is an inspection task which does not change the state of the asset.</p>
      <p>Historically information about the health of an asset has seldom been available in near real
time to maintainers and operators. However, this situation is changing due to rapid
developments in industrial internet and analytics associated with Industry 4.0 and prognostics health
management initiatives. Both these initiatives hope to improve asset availability and reduce
costs through maintaining assets proactively before failure, reducing unnecessary maintenance
work on healthy assets, and optimising when asset maintenance actions occur to balance cost,
risk and performance. The availability of digital asset health information and the ability to
infer a health state from sensor data opens the way to automated reasoning about maintenance
actions to be taken conditioned on certain health and operating states. For example, a failed
state notification could be used to trigger a repair maintenance action. The challenge of linking
the outputs of health assessment with maintenance task generation, leveraging automated
reasoning, is of interest to the industrial ontology community. The authors are part of the
Maintenance Working Group of the Industrial Ontology Foundry (IOF) and engaged in the
development of open, shared ontologies aligned with the Basic Formal Ontology (BFO) top-level
ontology. It is within this framework that we explore the notion of state in a maintenance
context and describe our ontological challenges.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background</title>
      <p>We start with identifying terms of interest and their natural language definitions. We draw the
definitions from International Standards such as those developed by the International Standards
Organisation (ISO), International Electrotechnical Commission (IEC), European Committee for
Standardization (CEN) and the Society of Automotive Engineers (SAE). The shared vocabulary
provided by formal standards is an important feature in how engineers communicate and these
standards are widely used, and in many cases are mandatory, in engineering work. The terms
in Table 1 and their definitions inform the development of classes in our proposed ontology but
there is not a direct mapping.</p>
      <sec id="sec-2-1">
        <title>2.1. On function, loss of function, and maintenance action</title>
        <p>Each asset has a primary function, this describes the main reason(s) for owning or using the asset.
It may also have a set of secondary functions due to the need to fulfill regulatory requirements</p>
        <p>
          Natural language definition from International Standards Standard
Item that has potential or actual value to an organization [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]
Part, component, device, subsystem, functional unit, equipment or sys- [
          <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
          ]
tem that can be individually described and considered
Function, combination of functions, or a total combination of functions [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]
of an item which are considered necessary to fulfil a given requirement
Loss of the ability of an item to perform a required function [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]
State of reduced ability to perform as required, but with acceptable re- [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]
duced performance
State of an item being able to perform a required function, assuming that [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]
the external resources, if required, are provided
State of an item being unable to perform a required function due to pre- [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]
ventive maintenance or a fault
Function(s) which constitute the main reason(s) why a physical asset or [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]
system is acquired by its owner or user
Functions which a physical asset or system has to fulfil apart from its pri- [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]
mary function(s), such as those needed to fulfil regulatory requirements
and those which concern issues such as protection, control, containment,
comfort, appearance, energy eficiency and structural integrity
Combination of all technical, administrative and managerial actions dur- [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]
ing the life cycle of an item intended to retain it in, or restore it to, a state
in which it can perform the required function"
and requirements concerning issues of protection, control, containment, comfort, appearance,
energy eficiency, and structural integrity [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. Each maintenance action performed on an asset
depends on the function to be maintained and the consequence of a functional failure. Each
significant asset will have an asset management (AM) plan that sets out what maintenance
tasks should be performed and when it should be performed. Additional maintenance work
is identified when maintainers perform inspections and nfid anomalies or operators notice
issues such as assets not performing functions as required and when failures occur. When
considering these situations, we ask what is meant by the loss of a function? We know from the
definitions in Table 1 that a function is considered necessary to fulfil a given requirement. How
is a requirement deemed to be met, and at what stage is it lost? How is this transition captured
in an ontology? In our case, we propose to move forward without having to resolve these
bigger ontological issues by using the notion of a state—such issues can be modelled indefinitely
whereas we aim to develop a fit-for-purpose domain/application ontology to achieve practical
goals and reasoning tasks. We want to say that being in one state enables a function and being
in another state disables the same function. The act of disabling a function means that a process
that realises that function cannot be performed. To follow this line of thinking requires us to
define a notion of state and change of state. This has been discussed in the ontology community,
particularly by [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] who suggested that a thing will stay in a state until an external event happens
and that an external event can result in a change to a stable state.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. The Need for the Notion of State</title>
        <p>
          Cambridge Dictionary defines state as ‘a condition or way of being that exists at a particular
time’. In the domains of systems engineering and software development, state is used to describe
and understand the behavior of complex systems. In those domains, a state simply represents
a stage in the behavior pattern of an object. A transition is a progression from one state to
another and will be triggered by an internal or external event [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
        <p>
          For ontological definitions of state, we first consider DOLCE which defines a class state
as a perdurant (approximately equivalent to BFO ‘process’), particularly a subclass of stative
alongside process. State is understood as actual occurrences of situations, which are temporally
located and unchanging [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. In contrast to non-stative perdurants, DOLCE statives are
cumulative (i.e., the sum of two operating state occurrences is still an occurrence of operating state);
while in contrast to DOLCE processes, states are homeomeric which captures their unchanging
nature [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>
          This unchanging nature is also reflected in the Common Core Ontologies (CCO)[
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]—a
midlevel extension of BFO 2020 in which the class state or similar does not appear. Instead CCO uses
the notion of stasis to represent a process in which an [BFO] independent continuant endures
across some temporal region and bears some [BFO] (generically or specifically) dependent
continuant that does not change in intensity. CCO give as examples: a process during which a
light switch remains in the of position and, the stasis of being scheduled for maintenance. Other
authors consider states as more like continuants than occurrents, in that they allow certain
events to occur [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Process Specification Language (PSL) uses state to represent the ‘state of the
world’ before and after an activity [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ], this allows PSL to use input and output states to specify
a set of conditions to constrain what activities occur [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Finally the ISO 15531 Standard uses
the notion of resources status defined by a resources status type to provide feedback on the state
of each manufacturing resource (e.g. machine) [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] for a particular moment in time.
        </p>
        <p>In general, discussions on ‘state’ and ‘stasis’, particularly when discussing systems, share
several common attributes, including:
• states occur/hold for some time; and,
• states describe some unchanging aspect of interest.</p>
        <p>As such we consider a very general notion of state/stasis as ‘an occurrence that is of a
particular entity (possibly an aggregation or assembly) and during which some aspect of interest
(specified by the state kind) remains unchanged (completely or within some tolerance).’ This
captures a variety of phenomena of interest, which we can narrow down with more specific
notions necessary for our domain.</p>
        <p>
          Coverage in the literature of the notion of the state of an asset and what functions can and
cannot be realised in a state is sparse in engineering-related domain and application ontologies.
We know that a motor in a powered of state cannot produce torque (its function), however we
have not found ontology patterns that represent this idea. Engineering ontologies that mention
states include the PROTEUS e-maintenance platform 2006 which identified four asset states:
Normal state, Degraded state, Failure state, Programmed stop state [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. Also the ROMAIN
ontology defined two states, a State of Failure and a State of Degradation, both are sub-classes of
process class [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. Transition into a State of Degradation is represented by a process described
by a Triggering Event. The triggering event class is used to describe the transition between
states. In neither case is there any detailed description of how the state class is related to other
classes or any use of the state class in reasoning. However it is reassuring to see the developers
acknowledging the need for the class of state and thinking about diferent types of states.
        </p>
        <p>
          The notion of an Object in Fault State has been used in reasoning in a recent Failure Modes
and Efects (FMEA) ontology [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. This work describes possible types of malfunctions and
the propagation of the state of an Object in Fault state at the component level to produce an
object in fault state at the asset system level. A malfunction is defined as “the disposition of an
item to fail to perform a required function”, and object in fault state as “the state of an item
resulting from the realization of a malfunction”. A malfunction is a disposition and an object in
fault state is a functional object that has some realized malfunction. This FMEA ontology is
focused on modelling the negative aspects of malfunctions whereas we are trying to describe
the functioning aspects and specifically what functions can be realised depending on a specific
state of the asset. Nevertheless, we intend that our work here to define state for functions we
may want to realise, such as the ability to operate and perform maintenance, should be coherent
with the work by [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ] on malfunctions which have only negative consequences.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Proposed Implementation</title>
      <p>In this section, we propose an implementation of the notion of state in maintenance that aims to
address specific goals and reasoning tasks encapsulated by the competency questions listed in
the next section. The ontology is demonstrated on an illustrative use case of a washing machine.
The competency questions for this ontology are shown in Section 4.</p>
      <sec id="sec-3-1">
        <title>3.1. Use Case Description</title>
        <p>We describe an illustrative use case using a washing machine. Assume, for the purpose of
this discussion, that our washing machine has four functions. These are: (1) to wash clothes
(primary function), (2) to turn on (secondary function), (3) to turn of (secondary function), (4)
to operate at 5-Star energy eficiency (secondary function). The state of the washing machine
determines which of these functions can be realized. Assume that our washing machine has
ifve possible states.</p>
        <p>1. Operating State (the equipment is operating normally, i.e., broadly related to the ‘up state’ in the terminology
of Table 1)
2. Degraded State (e.g., the washing machine’s filter is degraded i.e., the ‘degraded state’ in the terminology of</p>
        <p>Table 1)
3. Failed State (the equipment cannot perform its primary function, i.e., the ‘down state’ in the terminology of</p>
        <p>Table 1)
4. On State (the equipment has been switched on by an external agent)
5. Of State (the equipment has been switched of by an external agent)</p>
        <p>The first three states ofer a familiar view of equipment state in reliability and maintenance
work management. When making decisions about the timing of maintenance actions, reliability
engineers will consider which of these three states the asset is currently in. States (4) and (5),
rather, refer to the state of the washing machine after it has been acted upon by an external
agent. This information is used in two ways by engineers. The first is for troubleshooting,
knowing which health state (1-3) and which On/Of State (4-5) the asset was in at a particular
time is necessary for fault identification. The second is for maintenance task planning: while
most maintenance work can only be executed when an asset is in the Of State, there are certain
tasks such as calibration that need the asset to be in the On State. We use this distinction as a
basis for our conceptualisation of Maintenance State, described in the following section.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Conceptualisation</title>
        <p>We introduce the notion of Maintenance State as a ‘stasis that holds during a temporal interval
when the realizable functions and capabilities of the participating maintainable item, or the
grade of realization of those functions and capabilities, remain unchanged and where the stasis
may prevent specific functions and/or capabilities from being realized.’ This definition is based
on the notions of function and capability from the BFO and IOF Core ontologies, which map
approximately to the maintenance notion of primary and secondary functions, respectively, and
which are both types of disposition. These functions and capabilities are associated with types
of process that realize the disposition; together, the functions/capabilities and their correlated
processes represent both aspects of “engineering function”, i.e., the (intended) ability to do
something, and the actual performance of the function/capability. By making this
ontological commitment, it helps identify these subtle distinctions which helps to further refine the
conceptualisation.</p>
        <p>This is applied to the use case described in Section 3.1, using a “two-tier filter"
conceptualisation of which functions and capabilities may be realizable at any given time. The first tier
iflter is primarily based around the maintenance concepts of operating, degraded, and failed
states, which impacts which functions and capabilities are realizable: all are realizable in the
operating state; (primary) functions are still realizable in the degraded state, while one or more
capabilities are no longer realizable; and the (primary) function is no longer realizable in the
failed state (i.e., there is a malfunction). The second tier filter is characterised by external factors
impacting the functions and capabilities that can be realized, without implying anything about
a malfunction. An example of this conceptualisation is shown in Figure 1.</p>
        <p>The grey box labeled “dispositions 1” contains all of the washing machine’s dispositions (i.e.,
all of its primary and secondary functions described in Section 3.1). When there is no state
information, we can assume that all of these dispositions are realizable. However, we can filter
this set of dispositions depending on whether the washing machine is in an operating, degraded
or failed state. We call this our “tier 1 filter”. So, in Figure 1, the washing machine is in an
Operating State. Since an operating state does not afect which dispositions are realizable, the
box “disposition 2” still contains all four of the washing machine’s dispositions. Now, we can
“pass” our dispositions through a second filter. This filter is the set of states that are influenced by
an external agent (i.e., On State and Of State). In Figure 1, the washing machine is in an Of State .
When it is of, it cannot turn of, wash clothes or operate at 5-star eficiency. Therefore, after
passing the set of possible dispositions through this filter, we are left with only one realizable
function: to turn on. The fact the washing machine cannot wash clothes does not mean that
the equipment is malfunctioning when it is turned of, rather it is in need of intervention from
an external agent in order to realise this function. In summary, if a washing machine is in an
operating state, but is switched of then it can only turn on (it cannot perform its other three
dispositions).</p>
        <p>Now consider the example shown in Figure 2. In this case, our washing machine is in a
Degraded State. This is a state in which it fails to fulfil a secondary requirement. For the
purpose of this example, this means that the washing machine has a degraded filter and fails
to meet an eficiency requirement. Therefore, Figure 2 shows that after the “tier 1 filter”, the
box labeled “dispositions 2” shows that only three functions remain for the washing machine.
Finally, since the washing machine is in an On State, it cannot be turned on because it is already
on. Therefore, after “passing” our dispositions through the “second-tier filter”, the washing
machine has two realizable dispositions. In summary, if the washing machine is in a degraded
state, but is switched on, then it can turn of and wash clothes; however, it cannot turn on or
operate at 5-star energy eficiency.</p>
        <p>The introduction of Maintenance State as a distinguished kind of State separates the axioms
specific to the maintenance domain from the axiomatisation of the mid- and upper-ontology.
This helps future proof the ontology as we expect that not all axioms that we define in future
application ontologies for maintenance will hold for the general notion of State. It also helps to
modularise the ontology and support mappings of the maintenance application ontologies into
other upper ontologies in the future.</p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Implementation</title>
        <p>A BFO-aligned OWL implementation of the conceptualisation described in Section 3.2 can
be found at https://github.com/uwasystemhealth/FOMI_maintenance_state. Figure 3 shows
the four functions of a washing machine and their organisation under Function and Capability
where the primary function is considered a Function and the secondary functions are considered
Capabilities. The organisation of functions and capabilities in this implementation is discussed
further in Section 5.1. The figure also shows that there exist individuals (as specifically dependent
continuants) for each of these functions that inhere in an instance of Washing Machine. The
washing machine itself being a Maintainable Item and, as such, will generally be in one or more
Maintenance States.</p>
        <p>
          The “two-tier filter” conceptualisation for Maintenance State described in Section 3.2 is
modeled in OWL using the Value Partition design pattern [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. In UML, used for Figure 5, this
is represented by the generalization set construct. The figure shows how each of the state
types are arranged under the Tier1ValuePartition and Tier2ValuePartition classes, which each
constitute an instance of the Value Partition design pattern.
        </p>
        <p>We introduce new object properties in the ontology implementation. To capture the idea that
functions and/or capabilities may be made unrealizable in a particular state, we introduce the
relation disables (domain: Maintenance State, range: Function or Capability): i.e., if a Maintenance
State disables a Function or Capability, it ‘prevents the Function/Capability from being realized’.
In terms of temporalized BFO, it is a sub-property of ‘has participant at all times’ indicating that
the Function/Capability is disabled for the entire time that the state is in efect. The inverse
relation, disabledBy is a sub-property of ‘participates in at some time’, as function/capability
may only be disabled during some parts of its existence, We use this object property to model
which instances of Maintenance State disabled which functions or capabilities of our washing
machine. This idea is captured in Figure 4.</p>
        <p>We also have the object property hasState (domain: Maintainable Item, range: Maintenance
State), a sub-property of BFO:participates in at some time and its inverse stateOf, which is a
sub-property of BFO:has participant at all times. We use this object property to capture the
current state(s) of a Maintainable Item (i.e. the washing machine) and the idea that each state
(individual) is of a specific Maintainable Item.</p>
        <p>We capture which States disable which Functions using a series of SWRL rules. Two examples
are as follows:
(1) WashClothes(? ) ∧ MaintainableItem(?) ∧ bearerOf (?, ? ) ∧ hasState(?, ?) ∧</p>
        <p>(FailedState(?) ∨ OffState(?)) → disabledBy(?, ?)
(2) OperateAtFiveStarEfficiency (? ) ∧ MaintainableItem(?) ∧ bearerOf (?, ? ) ∧
hasState(?, ?) ∧ (FailedState(?) ∨ DegradedState(?) ∨ OffState(?)) → disabledBy(?, ?)
These rules say that for a given function or capability (?f) and state (?s), if a maintainable
item (?i) has that disposition and state and the state is of a relevant type, then the function or
capability is disabledBy the state.</p>
        <p>Now that there are dispositions that can be disabled by various states, we need to model the
effect of this disabled property. We need to say that if a disposition is disabled then a maintainable
item cannot participate in the process that realizes that disposition. For example, if the wash
clothes function is disabled, the washing machine cannot participate in (as the
“agent/instrument/efector”) a washing clothes process that would realize the wash clothes function, while the
disablement is in efect. We represent this by inferring a relation unableToParticipateIn between
the Maintainable Item and the realizing Process, for example1:
(3) MaintainableItem(?) ∧ bearerOf (?, ? ) ∧ hasState(?, ?) ∧
participatesInAtSomeTime(?, ?) ∧ realizes(?, ? ) ∧ disabledBy(?, ?) →
unableToParticipateIn(?, ?)</p>
        <p>
          This relation is purely a support for reasoning and analysis and is extra-ontological. This
approach is along the lines of [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] and their addition of the Unexpected Malfunction class. The
alternative is to use consistency checking to determine if a maintainable item is participating in
a process that realizes a disabled function. However, as mentioned by [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], this could lead to
integration problems with other ontologies and prevents further reasoning. Moreover, while a
consistent ontology (particularly under the realist view inherited from BFO) would mean that
the conflicting process individual would never be present, it may be present either as the result of
an expectation (e.g., an event triggers the process but it cannot start) or for analysis/investigative
purposes. Additional object properties used for reasoning support are situated in the ontology
implementation under the reasoningSupport object property. In future work, we intend to
move these reasoning support object properties to a separate OWL file. This way, users of
1For brevity we exclude the temporal aspects of the state and the process in which Maintainable Item
participates
the ontology will not have extra-ontological relations in their ontology and can choose to
use consistency-checking instead. The implementation described is suficient to answer the
competency questions demonstrated in the following section. We discuss open questions and
limitations of this implementation in Section 5.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Evaluation</title>
      <p>Validation was performed for this work by testing the ontology against competency questions
that are of relevance to a maintenance engineer. In the following, we assume the execution of
an OWL reasoner and that the queries are performed over the asserted and inferred information.
For brevity we do not query for within a specific time-frame.</p>
      <sec id="sec-4-1">
        <title>4.1. Competency Question 1</title>
        <p>What are the conditions that need to be met so that an asset can perform its primary function?
i.e., what state does the asset need to be in? We illustrate this by considering if there is a
Maintenance State in which the asset cannot perform its required function. This requires the
querying of specification information for which we introduced the relation typeDisabledBy. To
use this we posit a Washing Machine individual and query for which states it must be in that
would not disable the function (as indicated by typeDisabledBy).</p>
        <p>PREFIX b f o : &lt; h t t p : / / p u r l . o b o l i b r a r y . org / obo / &gt;
PREFIX s t a s i s : &lt; h t t p : / / www. semanticweb . org / s t a s i s − ontology − f i l t e r #&gt;
SELECT ? m a i n t a i n a b l e _ i t e m ? s t a t e ? p r i m a r y _ f u n c t i o n
WHERE {</p>
        <p>VALUES ? m a i n t a i n a b l e _ i t e m { s t a s i s : washing_machine_001 } .
? m a i n t a i n a b l e _ i t e m b f o : BFO_0000196 ? p r i m a r y _ f u n c t i o n . # BFO_0000196 = " b e a r e r o f "
? p r i m a r y _ f u n c t i o n a s t a s i s : P r i m a r y F u n c t i o n .
{ ? s t a t e r d f s : s u b C l a s s O f s t a s i s : T i e r 1 S t a s i s V a l u e P a r t i t i o n } UNION { ? s t a t e r d f s :
s u b C l a s s O f s t a s i s : T i e r 2 S t a s i s V a l u e P a r t i t i o n } .</p>
        <p>FILTER NOT EXISTS { ? p r i m a r y _ f u n c t i o n s t a s i s : t y p e D i s a b l e d B y ? s t a t e } }</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Competency Question 2</title>
        <p>Can an asset perform its function if it is in an Operating State but is switched of (i.e., in its Of
State)? Or more generally, is the Primary Function of a Maintainable Item disabled in its current
Maintenance State? If it is not, then it can perform its function, otherwise it cannot. This can be
captured by the query:
PREFIX b f o : &lt; h t t p : / / p u r l . o b o l i b r a r y . org / obo / &gt;
PREFIX c o r e : &lt; h t t p : / / www. i n d u s t r i a l o n t o l o g i e s . org / c o r e / &gt;
PREFIX s t a s i s : &lt; h t t p : / / www. semanticweb . org / s t a s i s − ontology − f i l t e r #&gt;
SELECT ? m a i n t a i n a b l e _ i t e m ? p r i m a r y _ f u n c t i o n
WHERE {</p>
        <p>VALUES ? m a i n t a i n a b l e _ i t e m { s t a s i s : washing_machine_001 s t a s i s : washing_machine_002
s t a s i s : washing_machine_003 } .
? m a i n t a i n a b l e _ i t e m b f o : BFO_0000196 ? p r i m a r y _ f u n c t i o n . # BFO_0000196 = " b e a r e r o f "
? p r i m a r y _ f u n c t i o n a s t a s i s : P r i m a r y F u n c t i o n .</p>
        <p>FILTER NOT EXISTS { ? p r i m a r y _ f u n c t i o n s t a s i s : d i s a b l e d B y ? s t a t e } }</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Competency Question 3</title>
        <p>If the asset can perform its primary function, but it is not operating to full eficiency, what
conditions have not been met? I.e., what Maintenance State(s) does that asset need to be in to
be able to realize the capability. For this we ensure that the asset is participating in, and able to
be participating in, the process of its primary function and identifying the relevant states.
SELECT ? item ? f u n c t i o n i n g _ p r o c e s s ? c a p a b i l i t y ? s t a t e
WHERE {
VALUES ? item { s t a s i s : washing_machine_001 s t a s i s : washing_machine_002 s t a s i s :
washing_machine_003 }
? f u n c t i o n i n g _ p r o c e s s a s t a s i s : F u n c t i o n i n g P r o c e s s .
? item b f o : BFO_0000056 ? f u n c t i o n i n g _ p r o c e s s # ’ p a r t i c i p a t e s i n a t some time ’
FILTER NOT EXISTS { ? item s t a s i s : u n a b l e T o P a r t i c i p a t e I n ? f u n c t i o n i n g _ p r o c e s s } .
? item b f o : BFO_0000196 ? c a p a b i l i t y . # b e a r e r o f
? c a p a b i l i t y a s t a s i s : O p e r a t e A t F i v e S t a r E f f i c i e n c y .</p>
        <p>OPTIONAL { ? c a p a b i l i t y b f o : BFO_0000054 ? p r o c e s s } FILTER ( !BOUND( ? p r o c e s s ) ) .
{ ? s t a t e r d f s : s u b C l a s s O f s t a s i s : T i e r 1 S t a s i s V a l u e P a r t i t i o n } UNION { ? s t a t e r d f s :
s u b C l a s s O f s t a s i s : T i e r 2 S t a s i s V a l u e P a r t i t i o n } MINUS { { ? c a p a b i l i t y s t a s i s :
t y p e D i s a b l e d B y ? s t a t e } UNION { ? item s t a s i s : h a s S t a t e / a ? s t a t e } } }</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion</title>
      <sec id="sec-5-1">
        <title>5.1. Functions vs Capabilities</title>
        <p>
          In simple English, we define a function as something that the equipment is designed to do
(that is the purpose of its existence), whereas a capability is something that it can do. In the
ontology presented here, the classes function (from BFO) and capability (from IOF Core) are
both subclasses of disposition. A function is defined as a “disposition that exists in virtue of
the bearer’s physical make-up and this physical make-up is something the bearer possesses
because it came into being...through intentional design (in the case of artefacts), in order to
realize processes of a certain sort" [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. The notion of capability is not defined in BFO [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]
[
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] but is included in IOF Core as a disposition in whose realization some Agent has an interest
and for all times during which the capability inheres in its bearer [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ].
        </p>
        <p>
          The notion of ‘capability’ occurs frequently in the manufacturing domain. In ISO 15531 [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ],
‘capability’ is defined as a ‘quality of being able to perform an activity,’ which is intended to be
use to specify the functional aspects of a manufacturing resource [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Such a definition is more
general than that of function and capability from BFO and IOF Core. While the manufacturing
usage of ‘capability’ subsumes both function and capability, it does not distinguish between the
two nor identify intent or purpose. However, such distinctions are important in the maintenance
domain.
        </p>
        <p>In maintenance, there is the notion of primary function and secondary function as described
in Table 1. This distinction is essential in the maintenance domain and aligns with the notions
of function and capability from BFO/IOF Core, respectively. In general, the maintenance of
equipment is intended to ensure that it is able to fulfil its primary function upon request, while
secondary functions may fulfil other requirements (e.g., regulatory, eficiency, protection, etc.)
and may not intrinsically impact the ability to fulfil the primary function. For example, while
the failure to fulfil a safety requirement (in a particular context) may prevent an equipment
from being turned on, it does not change the nature of the equipment nor its ability to fulfil its
primary function (if it were to be turned on).</p>
        <p>In the case of a washing machine, to wash clothes is the machine’s primary function. To turn
on, turn of and operate at five star energy eficiency are secondary functions—for simplicity of
this presentation we do not consider protection, safety, regulatory, etc., secondary functions.
According to the vocabulary used in industry, it is intuitive for both primary and secondary
functions to be a subclass of function.</p>
        <p>In the implementation described in Figure 3, however, we chose to make wash clothes a
function and turn on, turn of and operate at 5 star eficiency all capabilities. We made the
commitment align with the BFO elucidation of function. In our implementation, wash clothes is
the only function because to wash clothes is the reason for the washing machine’s existence. In
contrast, secondary functions (i.e. operate at five star eficiency ) are not the primary reason for
the washing machine’s existence, thus secondary functions have been asserted as capabilities.
Moreover, we believe this distinction will be beneficial in the analysis of equipment and system
decompositions where the interplay between functions and capabilities at diferent levels will
be highlighted. Even so, this terminology may be confusing for industrial users. We invite
further discussion on this topic from the industrial ontology community.</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2. Conditional Participation</title>
        <p>In BFO compliant ontologies, continuants have functions that are realised in a process. The
continuant is then a participant in that process. The implementation described in Section 3.3
expands this pattern. In the implementation, there is a fourth entity, the maintenance state,
that has an impact on the maintainable item’s ability to perform a function. Therefore, we
require some mechanism to model the situation where: a maintainable item has a function that
is disabled, therefore the maintainable item cannot participate in any process that realises that
function. The pattern used is demonstrated in Figure 4 and in competency questions 2 and 3.</p>
        <p>In the maintenance domain, the function of an asset does not change throughout its lifetime.
Within the BFO framework, it could be argued that when equipment is in a failed state, the
equipment has changed so significantly that the function is non-existent. To align to the
maintenance domain, we want continuity of the function individual. Therefore, we use the
disables object property to model if functions or capabilities are realisable.</p>
      </sec>
      <sec id="sec-5-3">
        <title>5.3. State or Stasis</title>
        <p>
          The IOF has been using the term stasis in line with the Common Core Ontologies (CCO). CCO
is a collection of ontologies in OWL that extend BFO. The IOF’s argument for this is that the
word ‘state’ is overloaded with other entities (such as location). The term ‘stasis’, as defined in
CCO, is something to maintain, a condition in which things are unchanging. In engineering the
term ‘state’ is often associated with a specific context such as ‘operating state’. In an operating
state, qualities such as the load on an asset or its speed can be changing. Our interest here is in
how to represent functions that can be realised, or not, conditioned on the state of the asset e.g.
if it is operating or not. If we use the term ‘stasis’ to describe ‘state’ in this context we have to
explain what stasis means and why we are using it to our engineering colleagues. One view is
that ontologies should be invisible to end users, in our case, engineers. This is enabled by the
use of patterns and pipelines that allowing ontology experts to build and manage a library of
templates and domain experts to provide content in the form of structurally simple template
instances [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. An alternate view is that even if the ‘internal’ names in the ontology are not seen
by the end users there is an intervening layer that explicitly maps the ontology concepts to the
names (labels) seen by the end users. Choosing the internal name against the convention of the
ifeld makes it more dificult for those who maintain the layer to keep track of the implications.
        </p>
        <p>One way forward might be to use ‘stasis’ at the reference ontology level, but subclass it with
our more appropriate domain class, e.g. ‘Maintainable Item State’. Apart from clarifying the
terminology, it means the assertions we are making about ‘stasis’ are not universal but specific
to our domain, since not all ‘stasis’ necessarily control whether functions can be realised or not.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion and Future Work</title>
      <p>This paper explores the notion of state in a BFO context to model the transition between an asset
being able to perform a function and not perform it. We propose the notion of maintenance state
as a means of modelling the relationship between function realization and process participation
conditioned on a state. We discuss the diference between a function and a capability of an
engineered asset when there are primary and secondary functions, choosing to model the first
as a function and the latter as capabilities. The current formulation and reasoning treats the
ontology largely atemporally, as a snapshot. However, a more complete solution will require
consideration of temporal aspects including temporal data properties and relations between
states and processes. Although some consideration has been made towards temporalisation,
e.g., unableToParticpateIn links to the temporal nature of a state, immediate future work will
incorporate a more complete treatment to allow reasoning across time.</p>
      <p>In this work we explored including the event that initiates the state change in our ontology.
Lengthy discussions were had on the notion of triggering events and the role that a process or
process boundary might play (e.g. a failure event). We decided this should be developed in a
separate modular ontology. We propose the community put more focus on developing small
modular ontologies aligned with a top level ontology and associated reference and domain
ontologies, to address specific modelling needs. This approach would support a more rapid
deployment of ontologies that are fit-for-purpose for use by the engineering community.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgements</title>
      <p>The authors wish to acknowledge members of the IOF community particularly in the
Maintenance Working Group. Melinda Hodkiewicz would also like to acknowledge funding from the
BHP Fellowship for Engineering for Remote Operations.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>CEN-EN</surname>
          </string-name>
          , Maintenance - Maintenance terminology,
          <source>Standard EN 13306</source>
          ,
          <string-name>
            <surname>European</surname>
            <given-names>Committee</given-names>
          </string-name>
          <source>for Standardization (CEN)</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>IEC</given-names>
            ,
            <surname>Dependability</surname>
          </string-name>
          <string-name>
            <surname>Management</surname>
          </string-name>
          - Maintenance and Maintenance Support,
          <source>Standard AS IEC 60300.3</source>
          .14, International Electrotechnical Commission, Geneva, Switzerland,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>SAE</given-names>
            <surname>International</surname>
          </string-name>
          ,
          <article-title>A Guide to the Reliability-Centered Maintenance (RCM) Standard, Standard SAE JA1012</article-title>
          , SAE International,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wand</surname>
          </string-name>
          ,
          <article-title>Ontology as a foundation for meta-modelling and method engineering</article-title>
          ,
          <source>Information and Software Technology</source>
          <volume>38</volume>
          (
          <year>1996</year>
          )
          <fpage>281</fpage>
          -
          <lpage>287</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gruninger</surname>
          </string-name>
          ,
          <article-title>Psl: A semantic domain for flow models</article-title>
          ,
          <source>Software &amp; Systems Modeling</source>
          <volume>4</volume>
          (
          <year>2005</year>
          )
          <fpage>209</fpage>
          -
          <lpage>231</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>N.</given-names>
            <surname>Guarino</surname>
          </string-name>
          , G. Guizzardi,
          <article-title>Events and their context</article-title>
          ,
          <source>in: Joint Ontology Workshops (JOWO)</source>
          , Medical University of Graz,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>C.</given-names>
            <surname>Masolo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Borgo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gangemi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Guarino</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Oltramari, WonderWeb Deliverable D18:
          <article-title>Ontology Library (final</article-title>
          ),
          <source>Technical Report D18</source>
          , Laboratory For Applied Ontology - ISTC-CNR,
          <year>2003</year>
          . URL: http://wonderweb.man.ac.uk/deliverables/D18.shtml.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>CUBRIC,</surname>
          </string-name>
          <article-title>An overview of the common Core Ontologies 1</article-title>
          .3,
          <year>2020</year>
          . URL: https://github.com/ CommonCoreOntology/CommonCoreOntologies.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Galton</surname>
          </string-name>
          ,
          <article-title>States, processes and events, and the ontology of causal relations (</article-title>
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gruninger</surname>
          </string-name>
          ,
          <article-title>Inputs and outputs in the process specification language</article-title>
          ,
          <source>Citeseer</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>A.-F. Cutting-Decelle</surname>
            ,
            <given-names>J.-J.</given-names>
          </string-name>
          <string-name>
            <surname>Michel</surname>
          </string-name>
          ,
          <article-title>ISO 15531 MANDATE: a standardised data model for manufacturing management</article-title>
          ,
          <source>International journal of computer applications in technology 18</source>
          (
          <year>2003</year>
          )
          <fpage>43</fpage>
          -
          <lpage>61</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A.</given-names>
            <surname>Matsokis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. M.</given-names>
            <surname>Karray</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Chebel-Morello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kiritsis</surname>
          </string-name>
          ,
          <article-title>An ontology-based model for providing semantic maintenance</article-title>
          ,
          <source>IFAC Proceedings Volumes</source>
          <volume>43</volume>
          (
          <year>2010</year>
          )
          <fpage>12</fpage>
          -
          <lpage>17</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M. H.</given-names>
            <surname>Karray</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ameri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hodkiewicz</surname>
          </string-name>
          , T. Louge, ROMAIN:
          <article-title>Towards a BFO compliant reference ontology for industrial maintenance</article-title>
          ,
          <source>Applied Ontology</source>
          <volume>14</volume>
          (
          <year>2019</year>
          )
          <fpage>155</fpage>
          -
          <lpage>177</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hodkiewicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Klüwer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Woods</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Smoker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>French</surname>
          </string-name>
          ,
          <article-title>An ontology for reasoning over engineering textual data stored in fmea spreadsheet tables</article-title>
          ,
          <source>Computers in Industry</source>
          <volume>131</volume>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Aranguren</surname>
          </string-name>
          ,
          <article-title>Role and Application of Ontology Design Patterns in Bio-Ontologies</article-title>
          ,
          <source>Ph.D. thesis, Citeseer</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Lupp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hodkiewicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. G.</given-names>
            <surname>Skjaeveland</surname>
          </string-name>
          ,
          <article-title>Template libraries for industrial asset maintenance: A methodology for scalable and maintainable ontologies</article-title>
          ,
          <source>in: CEUR Workshop Proceedings</source>
          , volume
          <volume>2757</volume>
          , Technical University of Aachen,
          <year>2020</year>
          , pp.
          <fpage>49</fpage>
          -
          <lpage>64</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>B.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Almeida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bona</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Brochhausen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Ceusters</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Courtot</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Dipert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Goldfain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Grenon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hastings</surname>
          </string-name>
          , et al.,
          <source>Basic Formal Ontology</source>
          <volume>2</volume>
          .
          <article-title>0: Specification and user's guide</article-title>
          , National Center for Ontological Research: Bufalo,
          <string-name>
            <surname>NY</surname>
          </string-name>
          , USA (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ruttenberg</surname>
          </string-name>
          , BFO-
          <year>2020</year>
          ,
          <year>2021</year>
          . URL: https://github.com/BFO-ontology/BFO-2020.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>C.</given-names>
            <surname>Will</surname>
          </string-name>
          ,
          <source>Industrial Ontology foundry (IOF) Core</source>
          ,
          <year>2021</year>
          . URL: https://github.com/NCOR-US/ IOF-BFO/tree/IOF-Core-
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>ISO</surname>
          </string-name>
          ,
          <article-title>Industrial automation systems and integration - Industrial manufacturing management data, Standard ISO15531</article-title>
          , International Organization for Standardization,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>