<!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>An Ontology-Based Feature Recognition and Design Rule Checker for Engineering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luis Enrique Ramos García</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Garcia</string-name>
          <email>alexgarciac@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>John Bateman</string-name>
          <email>bateman@uni-bremen.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Arkansas for Medical Sciences Little Rock</institution>
          ,
          <addr-line>Arkansas</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Bremen</institution>
          ,
          <addr-line>FB 10 Cartesium, Enrique-Schmidt-Strasse. Bremen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper describes the design and implementation of an OntologyBased System for Features Recognition and Design Rules Checking in the domain of sheet-metal engineering using Semantic Web technologies. The system was implemented by means of the Protégé Application Programming Interface (API), a rule engine and a reasoner. Using ontology in the core of the system enabled the representation of manufacturing rules and Automatic Features recognition. Rules and Queries were not hard coded in the program, giving the system a high level of maintainability and reusability. Features were classified as general and specific, easing the work of classifying newer features as they appear given their previous classification. Most common sheet metal features referred to in the literature were recognized by the system.</p>
      </abstract>
      <kwd-group>
        <kwd>Semantic Web</kwd>
        <kwd>OWL</kwd>
        <kwd>SWRL</kwd>
        <kwd>SQWRL</kwd>
        <kwd>CAD</kwd>
        <kwd>CAM</kwd>
        <kwd>CAPP</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>Sheet metal parts are elements commonly used in several products manufactured in
modern industry; aerospace, automotive, appliances, machine tools, etc. are only
some of these. Although various software tools are available for making digital
designs for such metal parts, trying to use those designs as input for process planning
and manufacturing is not straightforward. The majority of standards for Computer
Aided Design (CAD) do not represent certain features that are needed when
manufacturing. For instance, declaring when a circle corresponds to an inner edge or
an outer edge has significant consequences during manufacturing although not
necessary when displaying designs. Facilitating the interoperability across the
CADCAM (Computer Aided Manufacturing) process should make it possible for designers
to select optimal manufacturing conditions. For instance, to choose a sheet thickness
that would prevent crashes when punching holes.</p>
      <p>In order to achieve such interoperability, manufacturing features must be extracted
from CAD files. Extracting these features entails identifying certain patterns from the
CAD files that are to receive additional manufacturing-relevant enrichment. This
information about features is used a posteriori to determine the machining tools and
manufacturing processes required to manufacture a given design [1]. Feature
information can also then be used to pre-check designs in order to detect production
rules violations. If these violations are not detected in the early stage of design, the
life cycle of its development increases; raising both production costs and time to
market [2]. Manual recognition of the targeted features is not a viable alternative;
Automated Features Recognition (AFR) is thus required. However, even nowadays
AFR is not fully integrated with CAD software tools. It is applicable only to parts
with relatively simple geometry and still requires human intervention to obtain the
features identified. Moreover, such techniques are generally supported only on
expensive CAD software tools that are beyond the reach of small-scale industry [3].</p>
      <p>To address these shortcomings of AFR from sheet metal designs and design
checking, in this paper we propose an ontology-based framework that facilitates
interoperability across the entire CAD-CAM process. Our system integrates both a
CAD and a feature ontology; these ontologies were written in OWL (Web Ontology
Language) and represent 2D primitives as lines, arcs and circles in the CAD ontology
and as edges, slots, tab and holes in the features ontology. In order to provide rules
and query support, OWL was complemented with SWRL [4] and SQWRL [5]. The
result is an ontology-based system that allows us to automatically extract the most
common manufacturing features referred to in the literature.</p>
      <p>The paper is organized as follows. We begin with related work in Section 2.
Section 3 then describes the components in the architecture of the implemented
system. Section 4 shows the implementations and some results of the evaluation on a
sample design and Section 5 concludes with an outlook for future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related work</title>
      <sec id="sec-2-1">
        <title>2.1 AFR &amp; Design Advisory Systems</title>
        <p>Henderson &amp; Anderson [6] reported on early experiences with the use of production
rules that were not hard-coded into the system using Prolog, while Meeran &amp; Pratt [7]
proposed to extract features from 2D drawings to generate process planning and
machining instructions from CAD. The latter approach was also based on logic
programming, adopting Prolog as the implementation language. These authors
mentioned that Prolog presented certain limitations when dealing with trigonometric
functions.</p>
        <p>Other authors, such as Vasilakis [8] and Krima et al [9], did not use logic
programming. Rules were represented instead as a set of nested IF &lt;list of
conditions&gt; THEN &lt;hypothesis&gt;&lt;list of actions&gt;. In the case of Vasilakis [8], when
a design rule was violated the system showed the rule violated but did not suggest any
corrective action. Radhakrishnan [2] integrated a rule checker within a design
adviser; this approach identifies distance violations amongst features. The general
tendency in these contributions was the development of feature recognition and
design advisory systems with hard-coded rules.</p>
        <p>In summary, two main classes of approach can be identified from the literature.
On the one hand there are approaches based on logic programming. Here, rules are
separated from code, facilitating interoperability, shareability and maintainability;
these approaches have generally used Prolog as implementation language. On the
other hand, there are also approaches relying on procedural programming, commonly
using C and C++ as implementation languages. As these are not rule-based,
maintainability and share-ability are limited. Babic et al [10] consider that emerging
approaches should be hybrids.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Ontology for CAD</title>
        <p>The limitations of CAD software tools have motivated researchers to develop
frameworks that overcome those limitations and some of these have already adopted
ontological approaches. Vasilakis &amp; Andersen [11] and Krima et al [12], for example,
developed ontologies for the Standard for the Exchange of Product model data
(STEP). Here, Krima et al [12] acknowledged the limitation of STEP and accordingly
developed OntoSTEP. OntoSTEP is based on OWL precisely because of its support
of logic reasoning and inference mechanisms.</p>
        <p>Approaches addressing the problem of interoperability across CAD standards
have been explored by Ghafour et al [13], Sun &amp; Ding [14] and Ramos [15]. Ghafour
et al. proposed a common Design Features Ontology written in OWL and one domain
ontology from each specific standard, an approach similar to that of Sun &amp; Ding.
Ramos focused on an ontology for CAD primitives populating a CAD ontology. In
addition, Grüninger &amp; Delaval [16] developed an ontology for the cutting process of
sheet metal parts; this approach was proposed as a theoretical step from which the
planning process could be supported. Franke et al [17] developed an ontology-based
tool for quality control in CAD design. They aimed to verify cases in which
overlapping occurred in order to determine if this constituted a design mistake. Their
architecture included their own software tool (OntoDMU) and the system HETS [18].</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3 Sheet Metal Features and Rules for Manufacturing</title>
        <p>Defining features in the manufacturing domain is not straightforward [1]; a feature is
understood here as a part of a mechanical design that has a specific functionality and
that is semantically significant within the manufacturing process. Farsi &amp; Arezoo [19]
classified sheet metal features according to whether those features were internal or
external; internal features are holes and external features are different types of
notches. Radhakrishnan et al [2] classified rules into two types: intrafeature rules and
interfeature rules. Interfeature rules are related only to the feature itself and its
constraints, indicating minimum values of its dimensional parameters. Interfeature
rules describe restrictions across features and contours. In Fig. 1 some of the most
common features and rules found in the literature are described. The figure includes
features names and some of their most important parameters. The indicated rules are
related directly with the production process. It is necessary to take such rules into
account in order to provide the necessary structural strength to the design´s features.
Improperly formed features will contribute to waste of material in the finished
products due to buckle, cracks or breaks.</p>
        <p>Circular Hole</p>
        <p>Notch or slot
d  H</p>
        <p>&amp; d  W
d  T &amp; d  2.5mm
T= Thickness
d = diameter
H = High
W = Wide
W  1.5T &amp; W  0.5mm
H
W</p>
        <p> 5
dbh  T
dbh  1.5 mm
dhb  T
dhb  2 T
dhb  0.8 mm</p>
        <p>Protrusion or Tab</p>
        <p>Oblong holes</p>
        <p>Corner</p>
        <p>W 1.5T &amp; W  0.5m
H
W</p>
        <p> 5
d  H</p>
        <p>&amp; d  W
d  T &amp; d  2.5mm
r  0.7 T
Distance to holes
dbh: distance between holes
dhb: distance hole border</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 An Ontology-Based AFR and Design Checker system</title>
      <p>The approach developed here builds on the state of the art we have seen and takes this
further, relying on a modular architecture that makes use of the Protégé API. In the
following subsection we describe the approach’s components and the way in which
they interact with each other. Although the organization and classes of the two
ontologies are often comparable, it is important to see that they reflect fundamentally
different kinds of ontological information. To the extent that similarities are found,
then this renders the subsequent mapping process more straightforward, but there is
no requirement that the ontologies correspond precisely. Since the identification
criteria for the CAD and the features ontologies are quite distinct—the former relating
to descriptions of design, the latter to manufacturability —it is both theoretically and
architecturally cleaner to maintain them separately. We return to this important
consideration and the issues of perspectives below.</p>
      <sec id="sec-3-1">
        <title>3.1 A CAD Ontology</title>
        <p>
          The first component to be discussed is the CAD ontology. During the development of
this ontology several CAD formats, such as DXF [20] and IGES [
          <xref ref-type="bibr" rid="ref22">21</xref>
          ], were
considered. The resulting CAD ontology is under continued revision and update. Fig.
2 illustrates the current state of the CAD Ontology: http://bit.ly/q8baMm.
        </p>
        <p>As is illustrated in the figure, we divided CAD_Features into the two subclasses:
Qualitative_Features and Quantitative_Features. Among the former, Primitives can
be either Open or Closed. Under these classes, Line, Arc, Circle and Ellipse are
understood as Primitive elements that are present in any CAD standard that provides
at least a 2D representation. Derived elements are then Qualitative Features that may
vary and are standard dependent; they appear as a combination of certain primitive
elements. For example, a Vertex appears when two primitive lines are connected at
one end. Definition of concepts, such as Vertex, is dimensional-space dependent.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Ontology of Features</title>
        <p>For the development of the ontology of features, available at http://bit.ly/pyQGEE,
we considered information such as that shown in Fig. 1. An extract of the resulting
ontology is presented in Fig 3. There are two main concepts: these are
Shape_Features and NonGeometry. Shape_Features was divided further into
Qualitative_Features and Quantitative_Features, analogously to the top-level
distinction in the CAD ontology. Named_Feature involves features found in the
literature that can be precisely defined and identified using their properties or
attributes. Atomic_Feature is then a Named_Feature consisting of exactly one
identifiable element which has meaning in a manufacturing domain. These elements
can have Open or Closed edges.</p>
        <p>
          Composed_Features include features that appear as a combination of
Atomic_Features. Partial_Composed includes identifiable features that need to be
part of a whole to be consistent. Total_Composed covers a feature that exists as a
whole. Partial_Composed features have to be part of a Total_Composed feature.
hasPart and isPartof were included following a standard mereological [
          <xref ref-type="bibr" rid="ref23">22</xref>
          ] point of
view and its terminologies and definitions. Properties such as properWidth,
properHeight, properCircularHole were included as part of SWRL rules. When these
rules are evaluated, results are bound to true or false. If results are all true, the design
passes its evaluation; otherwise the design is flagged as needing to be checked.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 Mapping two domains of interpretation</title>
        <p>
          One of the main issues of AFR is the level of abstraction involved in the
manufacturing domain [
          <xref ref-type="bibr" rid="ref24">23</xref>
          ]. On the one hand, designers make designs from the
functionality and usability point of view, with its own constraints and rules. On the
other hand, manufacturing engineers evaluate a design from the manufacturing point
of view, considering factory constraints. It is for this reason that, in general, quite
distinct standards, formats and tools have been developed. In the two domains, two
different interpretations of the requirements take place for the same object, so an
interoperability channel between them is needed. This channel should facilitate the
interchange of information about products as well as the evaluation of designing and
manufacturing constraints.
        </p>
        <p>
          In Fig. 4, we introduce the framework implemented for dealing with this
situation. Knowledge transfer between domain ontologies has been facilitated by
means of a third, mapping ontology, which keeps track of the related concepts of both
domains. This mapping ontology was developed using the Prompt plug-in [
          <xref ref-type="bibr" rid="ref25">24</xref>
          ]. Given
that in many cases the difference between the domains can be reduced to
terminological issues (factoring out often implicit identity criteria), we first made an
internal comparison [
          <xref ref-type="bibr" rid="ref26">25</xref>
          ]. This consisted of comparing concepts based on attributes
and properties. The ontology of CAD and the ontology of features were used as inputs
and a mapping ontology was the output. Mapping was semi-automatic because the
algorithm did not detect all relationships; human intervention was needed to complete
the process. This preliminary mapping already gave us the necessary information to
generate individuals of the features ontology and then to transfer the knowledge about
individuals and their properties from the ontology of CAD to the ontology of features
in a workable fashion.
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4 Feature Patterns as Queries</title>
        <p>
          Features were recognized by querying the features ontology with SQWRL. These
queries were performed at two levels of abstraction. A first set of queries was
implemented to facilitate a general classification of features and a second set was
executed to facilitate specialized classification. These two sets of queries reduced the
impact of not extracted or unidentified features referred to in the literature [
          <xref ref-type="bibr" rid="ref27">26</xref>
          ].
Within the first set of queries, all given atomic features were classified as is part of, a
general pattern. Subsequently, having assigned all atomic features to some general
pattern, we proceeded to identify specific patterns. If some atomic feature was not
classified as is part of some specific pattern, then a new specific pattern had to be
added.
        </p>
        <p>For example, a protrusion pattern is formed by three connected edges having a
specific slope. The query for extracting this pattern was expressed as follows:
Open_Primitive(?l1) ∧ Slope(?l1, "-0.0") ∧
Open_Primitive(?l2) ∧ Slope(?l2, "Infinity") ∧
Open_Primitive(?l3) ∧ Slope(?l3, "+0.0") ∧
hasendpoint(?l1, ?p1) ∧ hasstartpoint(?l2, ?p1) ∧
hasendpoint(?l2, ?p2) ∧ hasstartpoint(?l3, ?p2) ˚
sqwrl:makeSet(?s, ?l3)
→ sqwrl:select(?s, ?l1, ?l2, ?l3)
The number of sets obtained and their composition allows the generation of composed
features. Once the query has been executed, composed features are related to atomic
features by means of the has-part property.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5 Design and Manufacturing Rules Checking</title>
        <p>
          Although AFR research is receiving considerable attention, a recognized feature still
does not indicate anything about its quality. This aspect is fundamental in order to
reduce the cost of manufacturing a given design [
          <xref ref-type="bibr" rid="ref28">27</xref>
          ]. To this end, two sets of SWRL
were implemented to check manufacturing rules. The first set allowed us to enrich
the features ontology with the necessary engineering information about features. For
instance, the width of a Partial Composed feature was calculated with the following
rule:
        </p>
        <p>PartialComposed(?pc) ∧ hasEdge(?pc, ?e) ∧ slope(?e,
"0.0") ∧ hasEndPoint(?e, ?p2) ∧ hasYcoordinate(?p2,
?y2) ∧ hasStartPoint(?e, ?p1) ∧ hasYcoordinate(?p1,
?y1) ∧ swrlb:subtract(?v1, ?y2, ?y1) ∧ swrlb:abs(?v1) →
width(?pc, ?v1)</p>
        <p>The second set of rules was implemented for checking the design. For instance,
given the thickness of a given material, a minimum width is mandatory to make its
manufacturability feasible. For some materials the width must be 1.5 times greater
than the given thickness. This rule was expressed in SWRL as follows:
PartialComposed(?pc) ∧ width(?pc, ?w) ∧ heigh(?pc, ?h)
∧ thickness(?pc, ?t) ∧ swrlb:multiply(?v1, ?t, 1.5) ∧
swrlb:greaterThan(?w, ?t) → proper_width(?pc, true)</p>
      </sec>
      <sec id="sec-3-6">
        <title>3.6 Reasoning framework</title>
        <p>
          The reasoning capabilities of the Semantic Web framework gives us the possibility of
classifying instances of classes against the ontologies of our application. Our
reasoning was done in two steps. Firstly, using SWRLTab [
          <xref ref-type="bibr" rid="ref29">28</xref>
          ], rules and queries
were edited, implemented and debugged. JESS [
          <xref ref-type="bibr" rid="ref30">29</xref>
          ], a rule engine for JAVA
platforms, has been included in Protégé for enabling this tab. Each OWL Model and
its corresponding SWRL rules were loaded into the JESS engine. The JESS engine
was then run and the resulting inferences were uploaded into the OWL model. Thus,
the amount of knowledge encoded in the OWL model was augmented. Results of
querying the models were also considered for creating new individuals. This result
was finally compared with the design in order to determine if the result was consistent
with it. Here we used Pellet [
          <xref ref-type="bibr" rid="ref31">30</xref>
          ] for the automatic verification of the consistency of
the OWL model and for classifying the instantiated features.
        </p>
        <p>
          Secondly, using the SWRL API [
          <xref ref-type="bibr" rid="ref32">31</xref>
          ], the OWL Reasoning API [
          <xref ref-type="bibr" rid="ref33">32</xref>
          ] and the
Protégé API, a prototype was developed. SWRLJessBridge, SWRLQueryAPI and
ProtegePelletJenareasoner were also used in this implementation; the overall
architecture is presented in Fig 4. Rules and the results of running the rules were
loaded into models at run time. Queries were made to the OWL models, and the
results were again imported so as to add new knowledge into the OWL models.
Finally, the reasoner verified the consistency of these ontologies and classified
instanced features. Resulting from this process we obtained an OWL model of
features containing all the necessary information pertaining to recognized features
with their quality; our model also includes non-identified features.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Implementation and Results</title>
      <p>
        The implementation was tested with several designs of shapes. In Fig. 5 one of these
is displayed by means of a CADViewer plug-in for Protégé [15]. Our first evaluation
of the design consisted of diagnosing the topological correctness of the model and
verifying the connectivity of edges and vertex [
        <xref ref-type="bibr" rid="ref34">33</xref>
        ]. For this verification, we defined
Isolated_Point as a subclass of Point. After populating the CAD ontology, the
reasoner was invoked. If instances of Isolated_Point are found then the design is
considered as inconsistent; such a case is illustrated in Fig. 6. As soon as the problem
was corrected, the system continued with the extraction of features and their
validation.
      </p>
      <p>The features described in Fig. 1 were recognized and extracted into the features
ontology. Manufacturing rules were run on the OWL model adding newer knowledge.
This new knowledge was then used by the reasoner to classify features into sets of
proper and improper features.</p>
    </sec>
    <sec id="sec-5">
      <title>5 Conclusions and future work</title>
      <p>AFR is a research and application area devoted to bridging the gap between design
and manufacturing. Most of the approaches used in AFR are divided into procedural
and declarative approaches. We have developed an Ontology-Based AFR and Design
Rules Checker System that combines the advantages of both approaches. An ontology
of CAD and an ontology of features are the fundamental components of our system.
The necessary interoperation between both ontologies was achieved by means of a
mapping ontology generated in a semi-automatic manner using the Prompt Protégé
plug-in.</p>
      <p>SWRL was used to perform engineering calculations in order to add appropriate
semantics to the features ontology. SQWRL was used for modeling feature patterns
commonly referred to in the literature. Sheet metal features were extracted as the
result of queries applied to the features ontology. SQWRL queries and SWRL rules
were written at several levels of abstraction in order to make a progressive
identification of features possible. By using such combination, SQWRL and SWRL,
we have identified a significant number of features.</p>
      <p>In this paper we have demonstrated that complex rule of mechanical and
manufacturing engineering processes can be expressed using OWL and SWRL.
Similarly, we have demonstrated that complex engineering information can be
retrieved from the ontology using the SQWRL language. These rules and queries
were also used for inferring knowledge and driving appropriate decision-making
information. New features, rules and patterns can be integrated into our system by
means of standard ontology editors. In the near future, we plan to integrate a
recommendation ontology. Thus, as soon as a design violation is found, a
recommendation will be presented to the user. We will also investigate how to deal
with intersecting mechanical features.</p>
      <p>The resulting set of recognized features could be used as an input in Computer
Aided Process Planning (CAPP) systems, from which process planning will be
obtained. We will continue this line of development as a Semantic Web CAPP
system, focusing on the accuracy of the kind of planning generated with the Semantic
Web Technologies taking into consideration other aspects of the engineering
environment and investigating scalability.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Cayiroglu</surname>
            ,
            <given-names>I.:</given-names>
          </string-name>
          <article-title>A new method for machining feature extracting of objects using 2D technical drawings</article-title>
          .
          <source>Comput. Aided Des</source>
          .
          <volume>41</volume>
          ,
          <fpage>1008</fpage>
          -
          <lpage>1019</lpage>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Radhakrishnan</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Amsalu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kamran</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nnaji</surname>
            ,
            <given-names>B.O.</given-names>
          </string-name>
          :
          <article-title>Design rule checker for sheet metal components using medial axis transformation and geometric reasoning</article-title>
          .
          <source>Journal of Manufacturing Systems</source>
          .
          <volume>15</volume>
          ,
          <fpage>179</fpage>
          -
          <lpage>189</lpage>
          (
          <year>1996</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Kumar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Singh</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Trends and Developments in Intelligent Computer Aided Design of Progressive Dies</article-title>
          .
          <source>AMR. 6-8</source>
          ,
          <fpage>241</fpage>
          -
          <lpage>248</lpage>
          (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel</surname>
            ,
            <given-names>P.F.-S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boley</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tabet</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grosof</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dean</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>SWRL: A Semantic Web Rule LanguageCombining OWL and RuleML</article-title>
          , http://www.w3.org/Submission/SWRL/#7.1, (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Amar Das</surname>
            ,
            <given-names>M.O.</given-names>
          </string-name>
          :
          <article-title>SQWRL: a Query Language for OWL</article-title>
          . 6th International Workshop on OWL:
          <article-title>Experiences and Directions (OWLED</article-title>
          <year>2009</year>
          ). Vrije Universiteit Amsterdam, Chantilly,
          <string-name>
            <given-names>VA</given-names>
            , United
            <surname>States</surname>
          </string-name>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Henderson</surname>
            ,
            <given-names>M.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Anderson</surname>
            ,
            <given-names>D.C.</given-names>
          </string-name>
          :
          <article-title>Computer recognition and extraction of form features: A CAD/CAM link</article-title>
          .
          <source>Computers in Industry. 5</source>
          ,
          <fpage>329</fpage>
          -
          <lpage>339</lpage>
          (
          <year>1984</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Meeran</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pratt</surname>
            ,
            <given-names>M.J.:</given-names>
          </string-name>
          <article-title>Automated feature recognition from 2D drawings</article-title>
          .
          <source>ComputerAided Design</source>
          .
          <volume>25</volume>
          ,
          <fpage>7</fpage>
          -
          <lpage>17</lpage>
          (
          <year>1993</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>de Sam Lazaro</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Engquist</surname>
            ,
            <given-names>D.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Edwards</surname>
            ,
            <given-names>D.B.</given-names>
          </string-name>
          :
          <article-title>An Intelligent Design for Manufacturability System for Sheet-metal Parts</article-title>
          .
          <source>Concurrent Engineering</source>
          .
          <volume>1</volume>
          ,
          <fpage>117</fpage>
          -
          <lpage>123</lpage>
          (
          <year>1993</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Soman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Padhye</surname>
          </string-name>
          , S.,
          <string-name>
            <surname>Campbell</surname>
            ,
            <given-names>M.I.</given-names>
          </string-name>
          :
          <article-title>Toward an Automated Approach to the Design of Sheet Metal Components</article-title>
          .
          <source>AI</source>
          .
          <volume>17</volume>
          ,
          <fpage>187</fpage>
          -
          <lpage>204</lpage>
          (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Babic</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nesic</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miljkovic</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>A review of automated feature recognition with rulebased pattern recognition</article-title>
          .
          <source>Computers in Industry</source>
          .
          <volume>59</volume>
          ,
          <fpage>321</fpage>
          -
          <lpage>337</lpage>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Andersen</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vasilakis</surname>
          </string-name>
          , G.:
          <article-title>Building an Ontology of CAD Model Information</article-title>
          . Springer Berlin Heidelberg (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Krima</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barbau</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fiorentini</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sudarsan</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sriram</surname>
          </string-name>
          , R.:
          <article-title>OntoSTEP: OWL-DL Ontology for STEP</article-title>
          , http://www.nist.gov/customcf/get_pdf.cfm?pub_id=
          <fpage>901544</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Ghafour</surname>
            , Abdul,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghodous</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shariat</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perna</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>An Ontology-based Approach for</article-title>
          &amp;#
          <volume>8220</volume>
          ;
          <string-name>
            <surname>Procedural</surname>
            <given-names>CAD Models</given-names>
          </string-name>
          &amp;#
          <volume>8221</volume>
          ;
          <string-name>
            <given-names>Data</given-names>
            <surname>Exchange</surname>
          </string-name>
          .
          <article-title>Proceeding of the 2006 conference on Leading the Web in Concurrent Engineering: Next Generation Concurrent Engineering</article-title>
          . pags.
          <volume>251</volume>
          -
          <fpage>259</fpage>
          . IOS Press, Amsterdam, The Netherlands, The
          <string-name>
            <surname>Netherlands</surname>
          </string-name>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Sun</surname>
            , L.-juan, Ding,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Ontology-based Semantic Interoperability among Heterogeneous CAD Systems</article-title>
          .
          <source>Information Technology Journal. 9</source>
          , pp.
          <fpage>1635</fpage>
          -
          <lpage>1640</lpage>
          (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Ramos</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Ontological CAD Data Interoperability Framework</article-title>
          .
          <source>Presented at the SEMAPRO</source>
          <year>2010</year>
          , Florence, Italy
          <string-name>
            <surname>Octubre</surname>
          </string-name>
          (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Grüninger</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Delaval</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A First-Order Cutting Process Ontology for Sheet Metal Parts</article-title>
          .
          <source>Proceeding of the 2009 conference on Formal Ontologies Meet Industry</source>
          . pp.
          <fpage>22</fpage>
          -
          <lpage>33</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          IOS Press (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Franke</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klein</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schröder</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Ontological Semantics of Standards and PLM Repositories in the Product Development Phase</article-title>
          .
          <source>Proc. 20th CIRP Design Conference</source>
          <year>2010</year>
          . Alain Bernard.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <surname>Mossakowski</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maeder</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lüttich</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          : The Heterogeneous Tool Set, Hets, (
          <year>2007</year>
          ).
          <source>In TACAS</source>
          <year>2007</year>
          (
          <year>2007</year>
          ),
          <string-name>
            <given-names>O.</given-names>
            <surname>Grumberg</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Huth</surname>
          </string-name>
          , Eds., vol
          <volume>4424</volume>
          <source>of LNSC</source>
          , Springer, pp.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <surname>Farsi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arezoo</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Feature Recognition and</article-title>
          AND
          <string-name>
            <surname>Design Advisory Systemfor Sheet Metal Components</surname>
          </string-name>
          .
          <source>Presented at the International Advanced Technologies Symposium , Turkey Mayo</source>
          <volume>13</volume>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <surname>Autodesk</surname>
          </string-name>
          : DXF Reference, http://images.autodesk.com/adsk/files/acad_dxf1.pdf, (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          21.
          <string-name>
            <surname>U.S. Product Data Association</surname>
            ,
            <given-names>U.S.P.D.A.</given-names>
          </string-name>
          :
          <source>Initial Graphics Exchange Specification</source>
          <volume>5</volume>
          .3, http://www.uspro.org/documents/IGES5-3_forDownload.pdf, (
          <year>1997</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          22.
          <string-name>
            <surname>Varzi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          : Mereology, http://plato.stanford.edu/entries/mereology/.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          23.
          <string-name>
            <surname>Shah</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rogers</surname>
          </string-name>
          , M.T.:
          <article-title>Functional requirements and conceptual design of the featurebased modelling system</article-title>
          .
          <source>Computer-Aided Engineering Journal. 5</source>
          ,
          <fpage>9</fpage>
          -
          <lpage>15</lpage>
          (
          <year>1988</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          24.
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>N.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musen</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          :
          <article-title>The PROMPT suite: interactive tools for ontology merging and mapping</article-title>
          .
          <source>International Journal of Human-Computer Studies</source>
          .
          <volume>59</volume>
          ,
          <fpage>983</fpage>
          -
          <lpage>1024</lpage>
          (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          25.
          <string-name>
            <surname>Euzenat</surname>
          </string-name>
          , J.:
          <article-title>State of the art on ontology alignment</article-title>
          , http://www.starlab.vub.ac.be/research/projects/knowledgeweb/kweb-223.pdf, (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          26.
          <string-name>
            <surname>Marchetta</surname>
            ,
            <given-names>M.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Forradellas</surname>
            ,
            <given-names>R.Q.:</given-names>
          </string-name>
          <article-title>An artificial intelligence planning approach to manufacturing feature recognition</article-title>
          .
          <source>Computer-Aided Design</source>
          .
          <volume>42</volume>
          ,
          <fpage>248</fpage>
          -
          <lpage>256</lpage>
          (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          27.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yoo</surname>
            ,
            <given-names>S.B.</given-names>
          </string-name>
          :
          <article-title>Integrity validation in semantic engineering design environment</article-title>
          .
          <source>Computers in Industry</source>
          .
          <volume>62</volume>
          ,
          <fpage>281</fpage>
          -
          <lpage>291</lpage>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          28.
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          : SWRLTab, http://protege.cim3.net/cgi-bin/wiki.pl?SWRLTab, (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          29.
          <string-name>
            <surname>Friedman-Hill</surname>
          </string-name>
          , E.:
          <article-title>the Rule Engine for the JavaTM Platform</article-title>
          . Sandia National Laboratories (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          30.
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Pellet: A practical OWL-DL reasoner</article-title>
          .
          <source>Web Semant</source>
          .
          <volume>5</volume>
          ,
          <fpage>51</fpage>
          -
          <lpage>53</lpage>
          (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          31.
          <string-name>
            <given-names>O</given-names>
            <surname>'Connor</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Nyulas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Shankar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Das</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Musen</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>The SWRLAPI: A Development Environment for Working with SWRL Rules</article-title>
          .
          <source>Proceedings of the International Workshop on OWL: Experiences and Directions (OWLED</source>
          <year>2008</year>
          )
          <article-title>(</article-title>
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          32.
          <string-name>
            <surname>Protege-OWL Reasoning</surname>
            <given-names>API</given-names>
          </string-name>
          , http://protegewiki.stanford.edu/wiki/ProtegeReasonerAPI, (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          33.
          <string-name>
            <surname>Tanaka</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kishinami</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>STEP-based quality diagnosis of shape data of product models for collaborative e-engineering</article-title>
          . Computers in Industry.
          <volume>57</volume>
          ,
          <fpage>245</fpage>
          -
          <lpage>260</lpage>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>