<!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>Enabling Rich Discovery of Web Services by Projecting Weak Semantics from Structural Specifications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Leo Obrst</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dru McCandless</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michael Bankston</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>The MITRE Corporation</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>lobrst</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>mccandless</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>mbankston}@mitre.org</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2010</year>
      </pub-date>
      <abstract>
        <p>Although we would prefer using defined ontologies that express the domains and specifications of web services, and thus more easily discover and compose these, we know that in the mainstream world represented by the US Department of Defense we will not have those ontologies available soon. In the meantime we have to ensure a transition from structural to semantic methods, including web service discovery methods. In this paper, we are proposing a different approach for dynamic web service discovery that takes advantage of the structure inherent in web services that are defined by WSDL documents. Since the structure is usually based on XML Schema, there is enough information present in these documents to develop a broadly applicable approach. Furthermore, if a consistent and detailed naming convention of schema artifacts is followed, then discovery can be made more precise. This paper describes our approach for projecting weak semantics from structural information for discovery of web services.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The use of web services has grown steadily over the past few years due to their ease of use
and modularity for providing information in a standard way (including information
retrieval, such as in a digital library). Web services have demonstrated their value for
solving information needs that are part of regular, foreseen tasks. Thanks to standards
such as the Web Service Description Language (WSDL) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and the Business Process
Execution Language (BPEL) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], and approaches such as Service Oriented Architecture
(SOA), the way web services are defined and presented has also become more universal.
However, many information integration tasks are unforeseen at the time the services are
constructed, and are therefore difficult to perform “on the fly”. Users lack the tools to
search for what they want (i.e., the services that provide the specific information they
*
      </p>
      <p>All rights reserved.
desire) and the tools to quickly and effectively examine a potential web service to
determine if it meets their needs. The ability to quickly discover and chain web services to
accomplish some dynamic information need is still a ways off, and will require additional
technology before it is fully realized.</p>
      <p>
        Discovery in this context is the ability to locate and understand a web service that is
defined by the WSDL standard. This is usually a preliminary step before the service is
accessed and used. Web service discovery is a long recognized problem, and several
approaches have developed as attempts to solve it. The current standard for web service
discovery is Universal Description, Discovery, and Integration (UDDI) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which uses
tModels to describe a service’s content. Although useful for locating services of which the
searcher is already aware, it is decidedly less useful for discovering previously unknown
services.
      </p>
      <p>
        To alleviate this, much work in the area of Semantic Web services has been done. If a
searcher were able to discover web services using the same tools and techniques for
performing semantic queries, then better results could be obtained. Several efforts are
showing promise in this area, such as FUSION [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ], WSMX [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], Service-Finder [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], and
EASY [
        <xref ref-type="bibr" rid="ref6 ref7">6-7</xref>
        ]. However, the premise of many Semantic Web approaches is that the source
information is first organized into an underlying ontology, and then the service definitions
are derived from that ontology. Unfortunately, if the organization creating the web service
doesn’t use this approach (i.e., have an underlying ontology) then the search and
discovery benefits cannot be realized. In the current technology environment (particularly
within the US Department of Defense) while web services abound, the use of ontologies is
being only slowly adopted, so relying on their use for service discovery won’t work. The
reasons for this are varied: lack of requirements, mismatch in skill sets between ontology
development and writing web services, lack of leadership support, etc. Furthermore, since
service discovery is by definition an act of finding resources not under the control of the
searcher, there is no way (short of re-factoring each discovered service) to force or
otherwise cause other service providers to use an ontology (or to adhere to a specific
ontology even if they do). The question then becomes: is there some way to realize the
benefits of Semantic Web technology for rich discovery of services without having the
services based on a formal ontology? Fortunately for a certain class of services there is a
way to do this.
      </p>
      <p>We are proposing a different approach for dynamic web service discovery that takes
advantage of the structure inherent in web services that are defined by WSDL documents.
Since the structure is usually based on XML Schema, there is enough information present
in these documents to develop a broadly applicable approach. Furthermore, if a consistent
and detailed naming convention of schema artifacts is followed (and recommendations for
such are presented in this paper) then discovery can be made more precise. Such an
approach can be viewed as a path to richer semantics.</p>
      <p>The format of this paper is the following. In section 2, we describe the general
approach of our discovery mechanism, and provide a view of the user interface. In section
3, we discuss the application of our approach in the larger picture of an architecture and
implementation that combines many service layers and research pieces. In section 4, we
provide our initial evaluation results. Finally, in section 5, we briefly discuss some issues
and look toward the next steps.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Approach</title>
      <p>
        In previous work, we have demonstrated the effective use of ontologies as a means of
performing data integration [
        <xref ref-type="bibr" rid="ref10 ref11 ref12 ref13">10-13</xref>
        ] and service chaining [
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ].
      </p>
      <p>This work extends those previous efforts into the area of web service discovery and
assembly. Our approach is as follows:
1.
2.
3.</p>
      <p>XML Schema definitions of web service input and output items are extracted
from a body of WSDL documents.</p>
      <p>A registry is created that contains the XML Schema definitions, message
structure, and the operations of each WSDL file, along with a small amount of
metadata.</p>
      <p>The schema elements are efficiently encoded as a graph set to enable fast lookup
as part of the search.</p>
      <p>Service discovery is intended to allow subject matter experts to locate information
services that provide information needed for some unforeseen task. The assumption is that
searchers will be knowledgeable about the domain and somewhat knowledgeable about
services, although they may rely on software tools to perform the actual integration (a
method for which will be described later in this paper). It is not expected that they will be
experts in logic, ontologies, or even search technology.</p>
      <p>The mechanics of searching breaks the search terms into three separate parts. The
terms are hierarchical. The top level is the overall topic of the search and is usually broad
in scope (e.g., sports, medicine, airplanes, etc.). The topic is usually assigned as metadata
when the service is registered. Ideally the topic is selected from a pre-set list so that
services covering the same subject will use the same topic description, allowing a searcher
to use something such as a pull-down list to pick the topic (and thus simplifying the search
task). The advantage of this approach is the pre-filtering or ranking of services for
locating the type of service being sought (as well as help in disambiguating terms). The
disadvantage is the extra bookkeeping that must be done by the registry owner to select
the topics and keep them consistent.</p>
      <p>The next level is the subject: that is, a term (or terms) for the actual thing being
sought. This is a free-text field, and is matched against the text labels of the XML
elements of the messages that are in the registry. Various match techniques are used to
catch partial or imperfect matches (CamelCase parsing, partial term matching, term
expansion using a thesaurus or semantic data model). This approach is sound insofar as
the thing being sought is an actual or measurable thing, and not an abstract thing.</p>
      <p>The bottom level consists of terms describing the properties or attributes of the subject.
These are also matched to the names of elements and attributes of the schemas that make
up the messages within the WSDL files.</p>
      <p>
        The three levels of terms can be thought to constitute a very primitive ontology, and
the process of searching for matching WSDL messages is similar to a graph-based
ontology matching attempt. In fact, the XML structure of the messages in our approach
are encoded using a graph-encoding technique similar to the one described in Ait-Kaci
[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>The heart of the search method is in matching the subject search terms to WSDL
operations. The other two matching operations (topic and properties) essentially modify
the scores of the items returned by the subject search. The assumption is that a searcher
will provide a subject, but may not always provide a topic or properties. When these are
not provided, the score remains unchanged.</p>
      <sec id="sec-2-1">
        <title>Subject Search Method</title>
        <p>The following describes our overall subject search method. We index these for readability.</p>
        <p>(1) The search software is designed to support the use of multiple multi-word search
terms, where each term is separated by a comma (e.g., “satellite status, owner”). The first
step is to take the search phrase and turn it into an array of search terms, where
multiword terms are also combined into a single word. So the subject search “satellite status,
owner” becomes the string array [“satellite”, “status”, “satellitestatus”, “owner”]. The
reason for creating the combined word is that XML schema designers often use “camel
case” to name nodes (i.e., elements) in the XML message structure. The idea is that if a
combined term happens to be found in a message node name, then that increases the
likelihood that it constitutes a good match, and that node’s corresponding operation
receives a higher score.</p>
        <p>(2) The terms in the string array formed in step (1) are expanded. Each search term
(including multi-word terms) are checked against a known library of synonyms,
abbreviations, and acronyms. Thus for example “frequency” is expanded to include
“freq”, “point of contact” now includes “poc”, and “space object” is expanded to include
“satellite”. The expanded array terms are also pluralized. This forms the final array of
search terms.</p>
        <p>(3) The following scoring loop is then executed. For each search term in the array
formed in step (2):</p>
        <p>(3.a) The term is looked up in the service registry index, and if found then its
corresponding list of operation nodes is returned. The operation nodes are stored as
a dot-separated set: WSDLName.OperationName.NodeName
(3.b) For each operation node in (a):
i. The operation node is split into the WSDLName.OperationName (a ‘key’) and
the NodeName (the value)
ii. If the key doesn’t already appear in the set of answers, then it is added with a
beginning score of zero.
iii. The NodeName is split into its component CamelCase parts.
iv. The score is then computed based on the number of terms the NodeName is
split into, where the score is 1/number of terms unless the matching term is the
last one of the camel case terms; in which case the score is 0.8. For example, the
NodeName SatellitePayloadStatus is split into 3 terms, so the score for that
operation would be 1/3 if the search term were ‘satellite’ or ‘payload’, and .8 if it
were ‘status’. Note that if a NodeName consists of a single term, then the score is
1 (the highest possible) if the search term matches it. The last word in a camel
case term is considered more significant since it tends to be the most significant
(i.e., more “noun-like”), whereas preceding words are more adjectival. This score
is a called the “occurrence score” – the score for that occurrence of a particular
operation. Also note that the same service operation can be encountered multiple
times as steps i – iv are repeated.
(3.c) For each operation, the occurrence scores are added up to compute a “term
score” for that operation, in the following manner:
√#
log 1</p>
        <p>(1)
) ,
where:
# occurrences is the total number of times that operation occurs,
Avg Occurrence Score is the average of all the occurrence scores (i.e.,
∑</p>
        <p>#
Wt is a weighting factor,
Occurrence Descent Level is the integer count of how far down the highest
occurring NodeName is from the root parent node of that operation.</p>
        <p>This scoring approach seeks to preserve a balance between how many times a search
term appears throughout the named labels of a service operation, how significant that term
appears to be, on average, in those labels, and how important the nodes are by computing
how far down the message hierarchy they are.</p>
        <p>(3.d) The term scores are then added up for each search term. The result is a subject
score for each operation.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Property Score Method</title>
        <p>The property scores are computed in a similar manner as the scores for the subject. The
main differences are that (1) the property score for each operation is scaled by the number
of properties present in that operation (e.g., if a search contained 3 properties, and an
operation contained 2 of them, then the property score for that operation would be
multiplied by 2/3), and (2) only operations that are returned as part of the subject search
are considered – so operations that match at least one property but not the subject terms
are thrown out. For each operation the property score is then added to the subject score.
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Topic Score</title>
        <p>The topic of a WSDL is kept as a metadata item in the service registry. The way this item
is included in the search is via a pulldown list which contains all of the topics in the
registry. This removes the need for the searcher to try and guess what the topic is.
Operations matching the topic keep their scores; those with a different topic have their
scores reduced, so that they are kept but with a lower ranking.</p>
        <p>One of the main reasons for including the topic is to provide some contextual filtering
of the other terms. For example, a search for “tank” and “weight” with a topic of “armored
vehicles” will score a service operation about Army vehicle features higher than a service
about fuel tank capacity under the topic of “Logistics”.
2.4</p>
      </sec>
      <sec id="sec-2-4">
        <title>User Interface</title>
        <p>Fig. 1. Service Discovery Graphical User Interface.
3) In the upper right of the figure, details of the service operations are available: in this
case, the inputs and outputs of “GetSpaceObjectCapabilities”, which includes their data
types. 4) Finally, in the lower left of the figure, operations are displayed as boxes that can
be connected to form a chain of services via drag-and-drop.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Application</title>
      <p>We are integrating the service discovery mechanism into a larger effort at MITRE focused
on Command and Control (C2), called Composable Capabilities on Demand (CCOD).
CCOD intends to provide the capability to rapidly customize virtual systems based on the
mission and threat of the day, promoting local innovation by leveraging the use of layered
architectures and global integration based on loose couplers at all layers of the
architecture. CCOD consists of over 20 individual research projects all providing some
capabilities. There are a number of mission scenarios under CCOD. We are involved in a
vignette supporting the US Department of Defense Combatant Command (COCOM)
information-sharing and interaction to supply assistance to a population experiencing a
natural disaster such as the Haiti earthquake of January, 2010. However, for our initial
research, because the existing WSDL files that were available were C2-based, we used
those, intending to work out a general method for service discovery that could be used for
logistical and aid-support operations, when web services for those were more numerous.</p>
    </sec>
    <sec id="sec-4">
      <title>4 Evaluation</title>
      <p>Currently our evaluation is focused on subjective measures. Typical objective measures,
such as recall and precision, slightly modified to incorporate partial or whole aspects of
our approach, remain incomplete, requiring a larger population of web services than we
have acquired so far.</p>
      <p>At a recent CCOD Integration Event in June, 2010, a combined activity for all the
research projects involved in the CCOD initiative, we had five people use our tool to
discover appropriate services based on several search questions they were given. The
questions were to find services that provided:
•
•
•
•
•
•</p>
      <sec id="sec-4-1">
        <title>The length of a runway</title>
        <p>The callsign and fuel code of a tanker aircraft
An aircraft’s fuel capacity
The departure base of a tanker aircraft
An aircraft’s tail number and home base</p>
        <p>The payload status and owner of a space object</p>
        <p>This gave us 5 people times 6 questions or 30 total test cases. However, some of the
search questions turned out to be ambiguous or had multiple correct answers, so we had to
throw a few of them out. After this reduction we ended up having a total of 21
person/questions. We compared our approach to that of a generic UDDI type interface,
and the results were:</p>
      </sec>
      <sec id="sec-4-2">
        <title>Our approach: 20/21 successful searches</title>
        <p>UDDI: 10/21 successful searches</p>
        <p>The testers all were very complimentary of our system’s search tool and its ability to
present results in an understandable manner. A couple, though, expressed some skepticism
about web service search and discovery in general.</p>
        <p>Concerning our approach in terms of estimating recall, we found this to be really
subjective, i.e., deciding which terms to test for. In Table 1 below are displayed the 31
terms which represent the recall terms, and two numbers: how many WSDL files were
returned and how many WSDL files should have been returned (as hand determined by
us, knowing the domain). The overall recall performance was 162 of 189 returned WSDLs
or 85.7%, which is respectable but not great. One issue that caused us problems is the fact
that services about aircraft were not returned when the search terms “airplane”, “fighter”
and “bomber” were used. Although they were clearly implied (and therefore should have
been found) in the service, the necessary term matches were not present in the synonym
library. Precision measured 162 / 165 or 98%. Of potential significance is our ability to
raise recall without reducing precision, which we attribute to using at least weak
semantics and the graph structuring.
Although our approach described in this paper uses only weak term semantics projected
from the actual WSDL structures, when combined with heuristics used by the algorithm
(different weights for topic, subject, property, and use of the hierarchic structure of the
WSDL), and a simple lexicon of synonyms and acronyms to assist in query expansion, it
promises to assist technically unsophisticated users at discovering relevant Web services,
and then enabling their drag-and-drop composition – all without the use of a sophisticated
domain ontology. We do believe that more sophisticated terminologies and
domainspecific ontologies will enable more accurate search and discovery methods, and will
draw upon these as they become available. For example, some early Community of
Interest (COI) vocabularies are emerging within the DoD for command and control,
logistics, etc., and some with associated ontologies to represent the term meanings. But in
general, these are not yet emerged. Also, some external lexical-conceptual resources such
as WordNet can be employed and integrated into our approach, but in general, we have
found these to not have the term specificity and complexity of domain knowledge that we
need. Hence, we view our technical contribution as enabling a transition strategy between
purely syntactic (keyword-based) methods and much richer semantic methods using
ontologies, to assist users and developers over the near and mid-term. In addition, we
believe our method advances the state of the art and can be expanded on when richer
resources become available.</p>
        <p>
          Concerning structural issues, WSDL and XML files (and WSDL’s syntax is
XMLbased) are tree-based, since XML’s underlying data model is tree-based. So in our design
and implementation of an efficient representation for the structure of WSDL services, we
focused on a tree-based representation, though we did plan for a graph-based
generalization, and our encoding scheme reflects that. We considered various graph-based
representations and efficient encodings of subsumption reasoning based on those
representations. These include considerations from early bit encodings such as [
          <xref ref-type="bibr" rid="ref16 ref17 ref18 ref19 ref20 ref21">16-21</xref>
          ] to
more recent work that includes prime number encodings, such as [
          <xref ref-type="bibr" rid="ref22 ref23">22-23</xref>
          ].
        </p>
        <p>We are also very interested in addressing more objective evaluative measures such as
typically captured by recall and precision metrics (sufficiently adjusted to fit the
circumstances). However, our total set of WSDL services is really not large enough yet to
apply these measures meaningfully. The set of structure-based WSDL-defined Web
services will undoubtedly grow in the near term, given that ontologies that define more
precise semantics for domains of those services unfortunately will continue to be lacking.
So we think therefore that we will have more service definitions to work with in the
future, and hence be able to evaluate our discovery methods more precisely against that
larger set.</p>
        <p>Finally, we have identified several recommendations and conventions for service
schema developers to adopt, to increase the value of the syntactic and structural services
they define when using a light semantic approach for discovery such as ours, but which
will also benefit approaches with richer semantics: 1) use descriptive names for elements
and attributes (FuelStationLocation) and avoid general terms (“items”, “response”); use
whole words and avoid contractions (“track” not “trk”); follow a consistent style for
CamelCase; and design schemas with as much specificity as possible (e.g., avoid xs:any,
xs:all). These practices, when combined with a service-discovery approach such as ours,
can help find and reuse web services – until richer ontologies and lexical resources are
available, and until developers become more sophisticated with semantic technologies.
Acknowledgments. The views expressed in this paper are those of the authors alone and
do not reflect the official policy or position of The MITRE Corporation or any other
company or individual.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Baumgartner</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Flesca</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
          </string-name>
          , G.:
          <article-title>Visual Web Information Extraction</article-title>
          . VLDB Conference,
          <year>2001</year>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Kourtesis</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paraskakis</surname>
            <given-names>I.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Combining</surname>
            <given-names>SAWSDL</given-names>
          </string-name>
          ,
          <article-title>OWL-DL and UDDI for Semantically Enhanced Web Service Discovery</article-title>
          . In Bechhofer S. et al.(Eds.):
          <source>ESWC 2008, Lecture Notes in Computer Science 5021</source>
          , Springer-Verlag Berlin Heidelberg, pp.
          <fpage>614</fpage>
          -
          <lpage>628</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kourtesis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paraskakis</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Friesen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gouvas</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bouras</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Web Service Discovery in a Semantically Extended UDDI Registry: the Case of FUSION</article-title>
          . In:
          <string-name>
            <surname>Camarinha-Matos</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Afsarmanesh</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Novais</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Analide</surname>
          </string-name>
          , C. (Eds.) IFIP
          <source>International Federation for Information Processing, Establishing the Foundation of Collaborative Networks</source>
          , vol.
          <volume>243</volume>
          , Springer, Boston, pp.
          <fpage>547</fpage>
          -
          <lpage>554</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Web</given-names>
            <surname>Service Execution Environment</surname>
          </string-name>
          , http://www.wsmx.org/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Service-Finder</surname>
          </string-name>
          , http://www.service-finder.eu/
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Mokhtar</surname>
            ,
            <given-names>S. B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaul</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Georgantas</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Issarny</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Efficient Semantic Service Discovery in Pervasive Computing Environments</article-title>
          .
          <source>Proceedings of the ACM/IFIP/USENIX 2006 International Conference on Middleware, IFIP International Federation for Information Processing</source>
          , Melbourne, Australia. M. van Steen and
          <string-name>
            <given-names>M.</given-names>
            <surname>Henning</surname>
          </string-name>
          (Eds.):
          <source>Middleware 2006, Lecture Notes in Computer Science 4290</source>
          , pp.
          <fpage>240</fpage>
          -
          <lpage>259</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Mokhtar</surname>
            ,
            <given-names>S. B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Preuveneers</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Georgantas</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Issarny</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berbers</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>EASY: Efficient semAntic Service discoverY in pervasive computing environments with QoS and context support</article-title>
          .
          <source>The Journal of Systems and Software 81</source>
          , pp.
          <fpage>785</fpage>
          -
          <lpage>808</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Web</given-names>
            <surname>Services Description Language</surname>
          </string-name>
          (WSDL), http://www.w3.org/TR/wsdl
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Business</given-names>
            <surname>Process Execution Language</surname>
          </string-name>
          (BPEL), http://en.wikipedia.org/wiki/Business_Process_Execution_Language
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Obrst</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stoutenburg</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McCandless</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nichols</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franklin</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prausa</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sward</surname>
          </string-name>
          , R.:
          <article-title>Ontologies for Rapid Integration of Heterogeneous Data for Command, Control</article-title>
          , &amp;
          <string-name>
            <surname>Intelligence</surname>
            . Chapter in: Obrst,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Janssen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ceusters</surname>
          </string-name>
          , W. (eds.)
          <article-title>Ontologies and Semantic Technologies for the Intelligence Community</article-title>
          , pp.
          <fpage>71</fpage>
          -
          <lpage>89</lpage>
          . IOS Press, Amsterdam, The Netherlands.
          <source>IOS Press book series: Volume 213 Frontiers in Artificial Intelligence and Applications</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Samuel</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Obrst</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stoutenberg</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fox</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franklin</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Johnson</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Laskey</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nichols</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lopez</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peterson</surname>
          </string-name>
          , J.: Applying Prolog to Semantic Web Ontologies &amp;
          <article-title>Rules: Moving Toward Description Logic Programs</article-title>
          .
          <source>The Journal of the Theory and Practice of Logic Programming (TPLP)</source>
          , Massimo Marchiori, ed., Cambridge University Press, Volume
          <volume>8</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>03</given-names>
          </string-name>
          , pp
          <fpage>301</fpage>
          -
          <lpage>322</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Obrst</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McCandless</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stoutenberg</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fox</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nichols</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prausa</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sward</surname>
          </string-name>
          , R.:.
          <article-title>Evolving Use of Distributed Semantics to Achieve Net-centricity. Regarding the “Intelligence” in Distributed Intelligent Systems</article-title>
          ,
          <source>AAAI Fall Symposium</source>
          ,
          <string-name>
            <surname>Arlington</surname>
            <given-names>VA</given-names>
          </string-name>
          ,
          <year>Nov</year>
          .
          <fpage>8</fpage>
          -
          <lpage>11</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Stoutenberg</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Obrst</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nichols</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franklin</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Samuel</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prausa</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Ontologies and Rules for Rapid Enterprise Integration and Event Aggregation. Vocabularies, Ontologies and Rules for the Enterprise (VORTE 07)</article-title>
          ,
          <source>EDOC</source>
          <year>2007</year>
          ,
          <article-title>Annapolis</article-title>
          , MD, Oct.
          <volume>15</volume>
          -
          <fpage>19</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>McCandless</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Obrst</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Using Ontology Alignment to Dynamically Chain Web Services</article-title>
          . Ontology Matching Workshop, poster,
          <source>International Semantic Web Conference (ISWC)</source>
          <year>2009</year>
          , Oct.
          <volume>25</volume>
          -
          <fpage>29</fpage>
          , Chantilly,
          <string-name>
            <surname>VA</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>McCandless</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Obrst</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Dynamic Web Service Chaining using OWL and a Theorem Prover</article-title>
          .
          <source>Third IEEE International Conference on Semantic Computing</source>
          , Berkeley, CA, USA - September 14-
          <fpage>16</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Ait-Kaci</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boyer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lincoln</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nasr</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <source>Efficient Implementation of Lattice Operations. TOPLAS 11-1</source>
          (
          <year>1989</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Ait-Kaci</surname>
          </string-name>
          , H.:
          <article-title>A Lattice-Theoretic Approach to Computation Based on a Calculus of PartiallyOrdered Type Structures</article-title>
          .
          <source>Ph.D thesis</source>
          , Computer and Information Science Dept.,
          <source>Univ. of Pennsylvania</source>
          , Philadelphia, PA (
          <year>1984</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Caseau</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Habib</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nourine</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Raynaud</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Encoding of Multiple Inheritance Hierarchies</article-title>
          and
          <string-name>
            <given-names>Partial</given-names>
            <surname>Orders</surname>
          </string-name>
          .
          <source>Computational Intelligence</source>
          <volume>15</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>50</fpage>
          -
          <lpage>62</lpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Fall</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Heterogeneous Encoding</article-title>
          .
          <source>In Proceedings of International KRUSE Symposium: Knowledge Retrieval</source>
          , Use, and Storage for Efficiency, Gerard Ellis, Robert Levinson, Andrew Fall, Veronica Dahl, eds., Santa Cruz, CA,
          <year>Aug</year>
          .
          <fpage>11</fpage>
          -
          <issue>13</issue>
          , pp.
          <fpage>134</fpage>
          -
          <lpage>146</lpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Hellerstein</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Naughton</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pfeffer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Generalized search trees for database systems</article-title>
          .
          <source>In: Proceedings of the 21st International Conference of Very Large Data Bases</source>
          , VLDB'
          <volume>95</volume>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Krall</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vitek</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horspool</surname>
          </string-name>
          , N.:
          <article-title>Near optimal hierarchical encoding of types</article-title>
          .
          <source>11th European Conference on Object Oriented Programming (ECOOP'97)</source>
          . Springer (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Preuveneers</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berbers</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Prime numbers considered useful: Ontology encoding for efficient subsumption testing</article-title>
          ,
          <source>Tech. Rep. CW464</source>
          . http://www.cs.kuleuven.be/publicaties/rapporten/cw/CW464.abs.html. Department of Computer Science, Katholieke Universiteit Leuven,
          <source>Belgium (October</source>
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23. van Bommel,
          <string-name>
            <given-names>M. F.</given-names>
            ,
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.</surname>
          </string-name>
          :
          <article-title>Encoding multiple inheritance hierarchies for lattice operations</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          , Volume
          <volume>50</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>2</given-names>
          </string-name>
          ,
          <string-name>
            <surname>August</surname>
          </string-name>
          , pp.
          <fpage>175</fpage>
          -
          <lpage>194</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>