<!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>Modeling Semantic Web Services with OPM/S - A Human and Machine-Interpretable Language</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Dov Dori</string-name>
          <email>dori@ie.technion.ac.il</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eran Toch</string-name>
          <email>erant@tx.technion.ac.il</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Iris Reinhartz-Berger</string-name>
          <email>iris@mis.hevra.haifa.ac.il</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Technion - Israel Institute of Technology</institution>
          ,
          <addr-line>Haifa 32000, Israel, 972-4-8292853</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Technion - Israel Institute of Technology</institution>
          ,
          <addr-line>Haifa 32000, Israel, 972-4-8294409</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Haifa</institution>
          ,
          <addr-line>Carmel Mt., Haifa 31905, Israel, 972-4-8288502</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2001</year>
      </pub-date>
      <fpage>86</fpage>
      <lpage>95</lpage>
      <abstract>
        <p>The World-Wide-Web is now a ubiquitous, global tool, used for finding information, communicating ideas, carrying out distributed computation, and conducting business, learning and science. Web services and the Semantic Web are emerging as a powerful infrastructure for distributed computing. However, even though standard methods that define semantics of Web services, such as OWL-S, may aid in the development and deployment of these services, they are hardly designed to be easily understandable and usable by developers. Complexity and lack of accessibility of Web services and the Semantic Web hinders their usage by the information industry. OPM/S, which is based on ObjectProcess Methodology (OPM), offers a bi-modal visuallingual representation that is both intuitive for humans and formal for machines. Utilization of ontologies and interoperability are two issues addressed by the OPM/S modeling environment. Ontologies are expressed as meta-libraries, which are specified in OPM or OWL, and can be dynamically linked to semantic Web services in a distributed environment. Interoperability is achieved using a transparent reuse method that enables dynamic development of Web services and their integration into more complex Web services. Using a running example, the paper presents OPM/S and its mapping to OWL-S. The benefits and shortcomings are discusses and compared with other OWL-S modeling methods.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        The Web is highly dynamic in the quantity and nature
of the information that it encompasses, posing a host
of challenges in managing distributed information and
computation over the Web. Access to the Web may be
from a variety of devices and interfaces, by different
users at different locations, and at varying times.
Thus, there is a need for standard languages that
capture information semantics and not just syntax. Web
services and the Semantic Web are powerful
infrastructures that enable easy integration, automatization,
and reuse of different information and process formats
in a distributed environment. Since Web services are
distributed, dynamic, and can be utilized as
lightweight components within a broader and loosely
coupled framework, common semantics is required so
differences in terminology and definitions can be
automatically resolved. While the World Wide Web
provides a repository for Web services, the Semantic
Web [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is designed to be the foundation for semantic
markup of Web services. The OWL-S initiative [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
(formally DAML-S) provides an ontology for Web
services that enables automatic discovery, invocation,
and interoperation of Web services.
      </p>
      <p>
        As of today, the usage of OWL-S has not crossed the
boundary between academia and industry. Based on
their experience, Sabou et al. [
        <xref ref-type="bibr" rid="ref18">21</xref>
        ] reported that
OWLS is difficult to learn, partly due to the lack of
supporting tools, and that it has an imprecise conceptual
model, which is composed of multiple ontologies
(models). To overcome these shortcomings, we
propose to wrap OWL-S with a higher-level modeling
language, called OPM/S. Based on Object-Process
Methodology (OPM) [
        <xref ref-type="bibr" rid="ref6">9</xref>
        ], OPM/S integrates software
engineering and semantics engineering practices in
order to establish a single framework for modeling
Web services. OPM/S contains two main mechanisms
that enable modeling the dynamic interoperability
between Web services. The first mechanism handles
ontologies and descriptions of the concepts that are
shared among various semantic Web services.
Ontologies are captured as meta-libraries, which are
specified in OPM or OWL, and can be utilized in the
specification process of Web services. Meta-libraries
are developed and maintained separately from the
Web service models, and are dynamically linked to
the Web services. Alterations in a meta-library are
reflected in the particular Web service models that use
it.
      </p>
      <p>
        The second OPM/S mechanism is transparent reuse
[
        <xref ref-type="bibr" rid="ref17">20</xref>
        ]. Usually, reuse of Web services does not
involve the installation of separate copies of the
components, but rather utilization of runtime calls to the
services. Therefore, modeling frameworks for Web
services should take into account scenarios in which
services may change after being reused. Transparent
reuse enables ongoing development of Web services
and their integration into more complex Web services.
The reused models can be referred to using either URI
or UDDI entries. A supervision mechanism warns the
designer if changes in a reused model affect the entire
model and automatically suggests possible solutions,
based on a shared semantics.
      </p>
      <p>The rest of the article is structured as follows. Section
2 reviews existing OWL-S engineering methods and
briefly presents OPM. Section 3 introduces the
OPM/S framework and explains how it supports the
different OWL-S ontologies. Finally, Section 4
discusses the benefits and shortcomings of OPM/S and
refers to future research plans.</p>
    </sec>
    <sec id="sec-2">
      <title>2. BACKGROUND</title>
    </sec>
    <sec id="sec-3">
      <title>2.1 Semantics of Web Services</title>
      <p>Web services are automated resources accessed via
the Internet, using an XML interface. The exponential
growth of the Web and the progress of Internet-based
architectures have set the stage for the proliferation of
Web services and corresponding ontologies.
However, despite the fact that these systems employ
common XML or even RDF interfaces, semantic gaps
among these ontologies cause problems in various
scenarios. The problem of semantic reconciliation
arises, for example, when integrating two systems that
utilize different semantics to refer to entities that are
conceptually identical. Such semantic differences
must be resolved manually, a costly process that is
unavoidably error-prone.</p>
      <p>
        Trying to solve these problems, the Semantic Web
provides an infrastructure for concepts to be specified
formally, so relations between different concepts can
be reasoned automatically, providing a basis for
automated semantic reconciliation processes. Several
standards have emerged to support the Semantic Web
vision, including Web Ontology Language (OWL) [
        <xref ref-type="bibr" rid="ref5">8</xref>
        ]
and DARPA Agent Markup Language (DAML+OIL)
[5]. These languages are designed to enable
computer applications to semantically process the
information that formerly could be interpreted only by
humans.
      </p>
      <p>
        In order to search for Web services and use them, a
software agent needs a computer-interpretable
de-2scription of the service and means to access it.
OWLS [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], which is a framework for containing and
sharing these descriptions, provides the following three
essential types of knowledge about a service.
1. The Service Profile describes the properties of a
service, such as its functionality, which is
necessary for its automatic discovery, and its set of
inputs, outputs, preconditions and effects
(abbreviated IOPE).
2. The Process Model defines the control flow of
the service, using its IOPEs and a set of control
constructs and descriptions of each process that
takes part in the flow. OWL-S has three types of
processes: atomic processes, which are executed
by single communication protocol calls, simple
(undivided) processes, and composite processes,
which comprise other processes.
3. The Service Grounding ontology connects the
process model to communication-level protocols,
such as the message description of Web Services
Description Language (WSDL) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        Even though OWL-S had gained a considerable
momentum in the Semantic Web community, several
shortcomings prevent OWL-S from being more
widely adopted by the software engineering industry.
The main problem is that OWL-S is relatively
complex and inaccessible for humans [
        <xref ref-type="bibr" rid="ref18">21</xref>
        ]. The separation
between the definition of the service and the semantic
meta-information requires users to master several
languages and carry out translations among them.
Moreover, the lack of suitable complexity management
mechanisms makes the readability of the domain
scripts difficult. Exacerbating this situation is the need
for different types of notation in disparate models that
must be used to define various aspects of a Web
service, requiring consistency and integrity checking that
is typical of systems that suffer from the model
multiplicity problem [
        <xref ref-type="bibr" rid="ref15">18</xref>
        ].
      </p>
    </sec>
    <sec id="sec-4">
      <title>2.2 OWL-S Modeling Methods</title>
      <p>
        In an attempt to overcome the complexity of OWL-S,
two approaches to creating OWL-S scripts have been
developed: automatic generation and modeling.
Automatic generation relies on tools that create OWL-S
descriptions from existing concrete artifacts, such as
programming code or WSDL specifications [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
Employing bottom-up development, this approach is
implemented, for example, in the WSDL2OWL-S tool
[
        <xref ref-type="bibr" rid="ref13">16</xref>
        ], which provides a partial translation from a
WSDL specification of a Web service to an OWL-S
script. The OWL-S modeling approach, in contrast,
supports top-down development using a formal
modeling language. Narayanan and McIlraith have used
Petri nets to compose Web services [
        <xref ref-type="bibr" rid="ref11">14</xref>
        ]. While Petri
nets are sufficient for modeling the dynamics and
control flows of OWL-S modules, they are limited in
describing static aspects of systems, like module
allocations and their dependencies and structural relations
[
        <xref ref-type="bibr" rid="ref19">22</xref>
        ]. Furthermore, lacking a refinement mechanism
that is essential for describing large-scale systems,
Petri nets are not directly scalable and are hence not
widespread across the software engineering
community.
      </p>
      <p>
        Several OWL-S modeling methods rely on Unified
Modeling Language (UML) [
        <xref ref-type="bibr" rid="ref9">12</xref>
        ], the standard
objectoriented modeling language. Bose et. al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] have
suggested using UML for modeling the OWL-S
Service Profile and Process Model ontologies. Class
diagrams represent the structure of the top level OWL-S
specification, i.e., the entities of the Service Profile.
Since OWL-S specifications include also the Process
Model ontology, additional dynamic UML diagrams
are needed to specify these behavioral aspects. The
need to use several diagram types necessitates the
development of a consistency management and
protection mechanism that must be employed while the
multiple-view UML model is mapped onto the single
formal OWL-S specification.
      </p>
      <p>DUET [7] is a software tool that implements an
OWL-S modeling solution based on UML activity
diagrams. Each process is represented by an activity,
while composite processes contain descendant
activities. Inputs and preconditions are modeled as entry
actions that occur when the activity is executed.
Outputs and effects are modeled as exit actions that are
executed when the activity ends. This modeling
framework ignores several elements of the OWL-S
Process Model ontology, such as conditions and
conditional outputs. Another drawback of this solution is
that it is limited only to the Process Model ontology,
neglecting the OWL-S Service Profile and Service
Grounding ontologies.</p>
    </sec>
    <sec id="sec-5">
      <title>2.3 Object-Process Methodology (OPM)</title>
      <p>
        Object-Process Methodology (OPM) [
        <xref ref-type="bibr" rid="ref6">9</xref>
        ] is a holistic,
integrated approach to the study and development of
systems in general and information systems in
particular. The basic premise of the OPM paradigm is
that objects and processes are two types of equally
important classes of things. Objects are (physical or
informatical) things that exist, while processes are
-3things that transform objects. In most interesting and
challenging systems structure and behavior are highly
intertwined and hard to separate. Meeting this
modeling challenge, stateful objects and processes that
transform them describe the function, structure and
behavior aspects of the modeled system within a
single framework in a domain-independent manner
without highlighting one aspect at the expense of
suppressing another.
      </p>
      <p>Contrary to the object-oriented approach, processes in
OPM can stand alone, allowing intuitive modeling of
the system's behavior that involves several object
classes, possibly cutting across the system's structure.
Processes are connected to the involved objects
through procedural links, which are classified into
enabling links, transformation links, condition links,
and event links. The same and only diagram type
provides also for modeling the system's structure,
including the fundamental aggregation, generalization,
exhibition, and classification relations alongside any
other user-defined structural relation.</p>
      <p>
        Two semantically equivalent modalities, one graphic
and the other textual, jointly express the same OPM
model. A set of inter-related Object-Process Diagrams
(OPDs) constitute the graphical, visual OPM
formalism. Each OPM element is denoted in an OPD by a
graphic symbol, and the OPD syntax specifies correct
and consistent ways by which entities can be linked.
Table 1 lists the fundamental OPM elements along
with their symbols and semantics. The Object-Process
Language (OPL) is the textual counterpart modality of
the graphical OPD set. As a dual-purpose language,
OPL is oriented towards humans as well as machines.
Catering to human needs, OPL is designed as a
constrained subset of English, which serves domain
experts engaged in analyzing and designing a system (or
a Web service). Every OPD construct is expressed by
a semantically equivalent OPL sentence or phrase.
Designed also for machine interpretation, OPL
provides a solid basis for automatically generating the
designed application. This dual representation of
OPM increases the processing capability of humans
according to Mayer's theory [
        <xref ref-type="bibr" rid="ref10">13</xref>
        ].
OPM also exhibits three complexity management
mechanisms which enable refinement/abstraction of
OPM models: (1) unfolding/folding is used for
refining/abstracting the structural hierarchy of a thing; (2)
in-zooming/out-zooming exposes/hides the inner
details of a thing within its frame; and (3) state
expressing/suppressing exposes/hides the states of an object.
Using flexible combinations of these mechanisms,
OPM enables specifying a system to any desired level
of detail without losing legibility and comprehension
of the resulting specification.
      </p>
      <p>
        OPM is supported by the OPCAT [
        <xref ref-type="bibr" rid="ref8">11</xref>
        ]
(ObjectProcess CAse Tool) modeling environment1. It has
also been applied and tested in various domains,
including Web applications [
        <xref ref-type="bibr" rid="ref16">19</xref>
        ] and Semantic Web
Information [
        <xref ref-type="bibr" rid="ref7">10</xref>
        ]. In this paper, we further extend
OPM to support the modeling of semantic Web
services. For future reference, this extension is called
OPM/S.
1 OPCAT can be downloaded from: http://www.objectprocess.org
-4
      </p>
    </sec>
    <sec id="sec-6">
      <title>3. The OPM/S Framework</title>
      <p>The OPM/S modeling framework wraps OWL-S,
reflecting the characteristics and features of semantic
Web services. Contrary to OWL-S, which requires
using three different types of ontologies with
overlapping concepts, OPM/S employs its single frame of
reference that can be presented at different abstraction
levels. The combination of the single OPM view with
its bimodal presentation increases the accessibility
and usability of the OPM/S modeling framework to
humans as well as machines (e.g., code generators and
automatic translators).</p>
      <p>The OWL-S ontologies are mapped to OPM/S as
follows. The Service Profile is represented in OPM/S as
the top level Object-Process Diagram (called the
System Diagram, SD) along with its corresponding
Object-Process Language paragraph. The Process Model
is expressed by zooming into the top-level
specification to expose the process structure and flows. From
the top-level processes and downwards in the process
containment hierarchy of OWL-S, each composite
process is in-zoomed in OPM/S to reveal its
subprocesses and their IOPE sets. The Service
Grounding ontology is expressed by the interfaces of the
atomic processes, which are unfolded at the deepest
level of the process hierarchy. Table 2 summarizes the
mapping between each of the three OWL-S ontologies
and the corresponding OPM/S concepts.
Two mechanisms are employed in order to support the
dynamic and distributed nature of Web services:
meta-libraries and transparent reuse. The rest of this
section describes these mechanisms and explains their
application to modeling the Service Profile and the
Process Model in OPM/S. In order to demonstrate our
approach, we use a running example of a book-buying
service offered by the Web service provider Congo
Inc. [6]. The OPM/S representation of the Service
Grounding ontology is out of the scope of this paper.</p>
    </sec>
    <sec id="sec-7">
      <title>3.1 The Service Profile Ontology</title>
      <p>Figure 1 is an OPM/S model of the Service Profile
ontology of the Congo Book Buying service. The
toplevel, main process in this model, Congo Book
Buying Service, is surrounded by its inputs, outputs,
preconditions, and effects, which are all objects. These
objects are connected to the Congo Book Buying
Service via procedural links that denote the role of
each one of the objects in the top-level process.
As the condition links from the objects Credit and
Account to the Congo Book Buying Service
process denote, the existence of these two objects is a
precondition for the execution of the Congo Book
Buying Service. The corresponding OPL sentence, which
is "Congo Book Buying Service occurs if Account
exists and Credit exists”, reinforces this condition
semantics. Similarly, the objects Book Name,
Account Info, Sign In Info, Credit Card Info, and
Delivery Details are the process inputs, as the instrument
links from each one of them to the Congo Book
Buying Service process denote. The equivalent OPL
sentence is "Congo Book Buying Service requires
Book Name, Account Info, Sign In Info, Credit
Card Info, and Delivery Details." The process
outputs are Receipt, Shipping Order, and Account
-5</p>
      <p>Output. This is expressed by the result links in the
OPD and by the corresponding result sentence in the
OPL paragraph. The effect link between Buy Effect
and the Congo Book Buying Service specifies that
the process changes the object during its execution.
The service itself exhibits the attributes Service
Name, Text Description, Contact Information, and
several Quality Ratings. The Contact Information
section can contain many points of contact, each
represented by an Actor. The Quality Ratings are
matrices that express various quality measurement of the
service. Multiple matrices can characterize the same
service. The thick contours of Quality Rating and
Actor indicate that further refinement of the objects
exists, i.e., in our case they are unfolded in separate
diagrams (not shown here due to space limitations) of
their internal structure.</p>
    </sec>
    <sec id="sec-8">
      <title>3.2 The Process Model Ontology</title>
      <p>The Congo Book Buying Service is refined through
zooming into two sub-processes, Full Congo Buy and
Express Congo Buy, each describing different type
of the Congo Book Buying Service. Express
Congo Buy, which is an atomic process (not shown
here), is a "one shot" service for buying a book with
Congo, Inc. Figure 3 refines the composite process
Full Congo Buy as a two-step buying procedure, in
which the book is first located (Locate Book) and
then bought (Buy Book).</p>
      <p>
        For comparison purposes, the OWL-S specification of
the Full Congo Buy process is listed in Figure 3. The
XML statements contain the process type and its
control flows. As noted, an OWL-S process can be of
type composite, simple, or atomic. OPM/S, in
contrast, defines a single concept—a process class, the
complexity of which is determined by its position in
the process hierarchy of the OPM model. OPM/S
processes that are refined into subprocesses are
mapped to OWL-S composite processes. A refined
OPM/S process, such as Buy Book, is denoted by the
fact that the contour of its ellipse, which is originally
thin, becomes thick. Processes that are not in-zoomed
(and hence remain with thin contours) are mapped to
either atomic or simple OWL-S processes. Atomic
processes differ from simple ones in that the former
contain folded binding information (expressed in the
service grounding ontology), while the latter do not.
Another difference between OPM/S and OWL-S is
the way they treat control flows. OWL-S enables
explicit selection of a control flow construct for defining
an ordering or conditional execution of sub-processes.
Examples of these constructs include Sequence, Split,
Split+Join, Choice, Unordered, Condition,
If-ThenElse, Iterate, Repeat-While, and Repeat-Until.
OPM/S, on the other hand, utilizes the limited set of
basic elements supplied by OPM, namely procedural
links, to specify control flows. Process sequences are
denoted by the relative vertical position of the
subprocesses, taking into account that the time line flows
from the top of the diagram downwards. In Figure 3,
for example, the process Buy Book is executed after
Locate Book. Two processes with the same vertical
position are executed in parallel or as alternatives. An
invocation link, which specializes a procedural link,
can override this convention [
        <xref ref-type="bibr" rid="ref14">17</xref>
        ].
&lt;owl:Class rdf:ID="FullCongoBuy"&gt;
&lt;rdf:subClassOf
rdf:resource="http://www.daml.org/services/owls/0.9/Process.owl#CompositeProcess" /&gt;
&lt;rdf:subClassOf&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty
rdf:resource="http://www.daml.org/services/owls/0.9/Process.owl#composedOf" /&gt;
&lt;owl:allValuesFrom&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Class
rdf:about="http://www.daml.org/services/owls/0.9/Process.owl#Sequence" /&gt;
&lt;owl:Restriction&gt;
&lt;owl:onProperty
rdf:resource="http://www.daml.org/services/owls/0.9/Process.owl#components" /&gt;
&lt;owl:allValuesFrom&gt;
&lt;owl:Class&gt;
      </p>
      <p>&lt;process:listOfInstancesOf
rdf:parseType="Collection"&gt;
&lt;owl:Class rdf:about="#LocateBook" /&gt;
&lt;owl:Class rdf:about="#CongoBuyBook" /&gt;
&lt;/process:listOfInstancesOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:allValuesFrom&gt;
&lt;/owl:Restriction&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
Figure 3: OWL-S specification of the Full Congo</p>
    </sec>
    <sec id="sec-9">
      <title>Buy service</title>
      <p>Conditional flow constructs, such as if-then-else or
case statements, are specified in OPM/S by setting a
decision object (which is Boolean for binary
decisions). Each state of this object is linked via a
condition link to the process that needs to happen if the
object is at that state. In Figure 2, for example, Buy
Book is executed only if Located Book exists, i.e.,
only if the book was found. OPM/S also supports
modeling of iterative control flows (such as loops) by
combining condition links to express the halting
conditions and an invocation link to enable the iterations.
Adding an invocation link in Figure 2 from Buy Book
to the complete Full Congo Buy specifies that this
process is executed until the requested book is not
found.</p>
    </sec>
    <sec id="sec-10">
      <title>3.3 Consistency Maintenance of OPM/S Models</title>
      <p>
        OPM/S models are not only readable and
comprehensible; they are also consistent across the various
abstraction levels of the same Web service. The OPM
consistency rules [
        <xref ref-type="bibr" rid="ref6">9</xref>
        ] require that the IOPE set of a
process is either identical at any two consecutive
refinement levels of the process or is refined in the
deeper level. For example, Delivery Details, which is
connected in Figure 1 to the Congo Book Buying
Service via an instrument (input) link, remains
connected through an instrument link to Buy Book of
Full Congo Buy, a sub-process of Congo Book
Buying Service, in Figure 2. These rules are enforced by
OPCAT. Such consistency checks are difficult to
enforce in OWL-S, especially since they require
verification that involves two different ontologies: the
Service Profile and the Process Model.
      </p>
      <p>The consistency of an OPM/S specification is
conserved also within the same Process Model displayed
at various refinement levels. For example, in Figure 4,
the Buy Book composite process is zoomed into,
exposing its Buy Sequence, Specify Delivery Details,
and Finalize Buy sub-processes. Buy Sequence, in
turn, is also a composite process, responsible for
handling shopping carts, customers, and accounts.
Specify Delivery Details and Finalize Buy, on the other
hand, are atomic processes. The single instrument link
from Delivery Details to Buy Book in Figure 2 is
refined in Figure 4 into three instrument links from
Delivery Address, Packaging Type, and Delivery
Type (which are attributes of Delivery Details), to
Specify Delivery Details. Changing one of these
links to an effect link will automatically change the
link between Delivery Details and Buy Book in the
higher-level specification (shown in Figure 2) to an
effect link, denoting that Buy Book somehow
changes Delivery Details.</p>
    </sec>
    <sec id="sec-11">
      <title>3.4 OPM/S Typing Methods</title>
      <p>There are three kinds of OPM/S typing methods: basic
types, roles, and enumerations. These are
demonstrated in Figure 4. Basic types includes all the
primitive types, such as xs:int and xs:string, and user-defined
types. The type of Credit Card Number and Delivery
Address in Figure 4, for example, is XS:string.
Roles denote the ontological context, according to a
given meta-library. Credit Card Expiration, for
example, is declared as an Instant from the Time ontology,
which is represented by an OWL meta-library. Role
names are recorded in the upper-left corner of an
object box or a process ellipse.</p>
      <p>Enumerations are specified in OPM/S by states. States
define the set of possible situations an object can be at
or legal values an object can assume. At any point in
time an object is in exactly one of its states or in
transition between states. States can change only through
the occurrence of a process. In the graphical OPD
notation, states are denoted as rounded-corner rectangles
inside an object. Packaging Type in Figure 4, for
example, can be gift-wrap or ordinary.
-7</p>
    </sec>
    <sec id="sec-12">
      <title>3.5 Meta-Libraries</title>
      <p>Meta-libraries are used to specify and utilize
ontologies and domain knowledge in a dynamic and
distributed environment. A meta-library captures domain
knowledge as an OPM model or as an OWL
specification. For instance, a meta-library concerning
ecommerce will contain concepts such as product,
customer, order, invoice, and so fourth. It will also
contain static and dynamic constraints among these
concepts, such as how many products can be ordered in a
single order, should the paying certification precede
the supplying process, etc.</p>
      <p>Product exhibits Identifier and Description.</p>
      <p>Description is of type Xs:string.</p>
      <p>E-Commerce Process requires many Products.</p>
      <p>E-Commerce Process yields an optional Confirmation.</p>
      <p>Figure 5: An E-Commerce meta-library
Figure 5 is an OPM model of a simple e-commerce
meta-library. According to this e-commerce ontology,
Product exhibits two attributes, Identifier and
Description. This e-commerce meta-library also
introduces dynamic constraints on the E-Commerce
Process: the process requires one or more Products
and yields an optional Confirmation.</p>
      <p>When defining a Web service, one or more
metalibraries are imported by selecting a local file or a
URI, or by searching through UDDI registries. After
the meta-library is imported, the Web service model
dynamically references it. The references are
refreshed each time a design session is initiated,
ensuring that every change in the meta-library would be
reflected to all the Web service models that import it.
Each element in a Web service model can be assigned
to one or more roles each of which corresponds to an
element of the meta-library. Buy Book in Figure 2,
for example, plays the role of an E-Commerce
Process. Hence, it requires Products, Located Books in
this case, and yields a Receipt, which plays the role
of a Certification. Buy Book also requires additional
information (Credit Card Info, Sign In Info, Account
Info, and Delivery Details) and yields Shipping
Order and Account Output. Furthermore, the Located
Book (input) object fulfills the structural constraints
of a Product, enforces by the e-commerce
metalibrary: it exhibits Book ISBN (the product identifier)
and Book Description (the product description). A
special algorithm (not described in this paper)
validates that the Web service model fulfills the
metalibrary (static and dynamic) constraints.
-8</p>
    </sec>
    <sec id="sec-13">
      <title>3.6 Transparent Reuse</title>
      <p>
        The interoperability of semantic Web services is
supported by applying OPM's transparent reuse method
[
        <xref ref-type="bibr" rid="ref17">20</xref>
        ]. Transparent reuse enables dynamic bindings of
system models. Each model is saved separately and
can be modified throughout the entire development
lifecycle, enabling the percolation of its most updated
version to all the models that reuse it. This way,
transparent reuse supports development of a Web
service from external services that can be further
enhanced and developed after they were integrated.
When applying OPM's transparent reuse method,
elements from the reused service, which are
symbolized as environmental elements (“stubs”), are bound
to concrete (systemic) elements in the target Web
service, using generalization relations. The
environmental elements of the reused Web service cannot be
edited in the target model, and are loaded from their
sources (local files or Internet addresses) each time a
design session is initiated. This way, any alteration in
the reused Web service model will be reflected in all
the target Web services that reuse it.
      </p>
      <p>As an example to the transparent reuse method,
consider a case in which Finalize Buy from Figure 4 is
not specified in the Congo Book Buying Service. In
this case, Finalize Buy would be marked as an
environmental and, correspondingly, Receipt would be
marked as an environmental object (in all levels of the
OPM model), enabling the reuse of external services
for finalizing a buy. An example of such a service can
be the FedEx Service, whose interface includes
delivery details (as an input) and a receipt (as an output)
in special formats. When binding the FedEx Service
to the Congo Book Buying Service (as a Finalize
Buy process), the integrated Web service uses FedEx
in order to deliver books from the Congo provider.
A supervision mechanism is employed in order to
detect changes in Web services that might affect other
Web services. The designer receives a list of warnings
regarding broken bindings between Web services, as
well as suggestions to alternative substitutions for the
broken bindings.</p>
    </sec>
    <sec id="sec-14">
      <title>4. CONCLUSIONS</title>
      <p>The dynamic nature of the Web and its heterogeneous
information formats require addressing semantic
issues when searching and developing Web-based
systems, such as Web services. Using OWL-S for
specifying semantic Web service holds great opportunities
for automating Web service discovery, invocation,
composition, interoperation, and execution
monitoring. However, current OWL-S modeling and
engineering methods need to be improved in order to
make them accessible and useful for humans as well.
This work has proposed OPM, which is a general
system engineering method, as a convenient, intuitive,
yet formal language for wrapping and expressing
OWL-S specifications. A small set of about a dozen
OPD symbols, along with a semi natural language,
Object-Process Language (OPL), simplify the
definition of Web services for humans. Ontologies and
domain knowledge are handled in the OPM/S modeling
framework using meta-libraries which are
dynamically imported and shared by multiple Web services.
In order to support interoperability between Web
services, OPM's transparent reuse method is adopted as a
way to integrate Web services. Transparent reuse
enables ongoing changes in the integrated models, while
alerting the designer about influences of the changes
on other Web services.</p>
      <p>The usage of objects and processes in OPM along
with its three built-in complexity mechanisms enable
modeling the Service Profile, Process Model, and
Service Grounding ontologies of a Web Service in a
single framework, using a single (bimodal) modeling
language. The complexity management mechanisms
also ensure that a Web service model is internally
consistent.</p>
      <p>OPM/S expressiveness should be further improved to
support all types of OWL-S logical expressions, such
as complex branches. The research plans also include
implementing an OWL-S translator, which will enable
bi-directional conversion of OPM/S models to
OWLS specifications and vice versa. In addition,
development guidelines will be defined for specifying
semantic Web services in OPM/S and OWL-S.
-9[6] DAML.org, Congo Buy Specification,
http://www.daml.org/services/owls/0.9/CongoService.owl
[7] DARPA, CODIP Project, DUET: DAML UML
Enhanced Tool,
http://grcinet.grci.com/maria/www/CodipSite.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Ankolenkar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Burstein</surname>
            ,
            <given-names>T. C.</given-names>
          </string-name>
          <string-name>
            <surname>Son</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Hobbs</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Lassila</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>McDermott</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>McIlraith</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Narayanan</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Paolucci</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Payne</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Sycara</surname>
            , and
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Zeng</surname>
          </string-name>
          ., OWL-S:
          <article-title>Semantic Markup for Web Services, www</article-title>
          .daml.org/services/,
          <year>June 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hendler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lassila</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <source>The Semantic Web, Scientific American</source>
          ,
          <volume>284</volume>
          (
          <issue>5</issue>
          ),
          <year>2001</year>
          , pp.
          <fpage>34</fpage>
          -
          <lpage>43</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Bose</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kogut</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leung</surname>
            ,
            <given-names>Y.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Woodward</surname>
            ,
            <given-names>H.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Applying</surname>
            <given-names>UML</given-names>
          </string-name>
          <article-title>to Model Web Service Ontologies for the Semantic Web</article-title>
          ,
          <source>OMG Web Services Workshop</source>
          , 3 July 02.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Christensen</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Curbera</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meredith</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weerawarana</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <source>Web Services Description Language (WSDL) 1.1, 15 March</source>
          <year>2001</year>
          , http://www.w3.org/TR/2001/NOTE-wsdl20010315.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Dean</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Connolly</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hendler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D. L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P. F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stein</surname>
            ,
            <given-names>L. A.</given-names>
          </string-name>
          ,
          <source>OWL Web Ontology Language 1.0 Reference</source>
          ,
          <year>July 2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Dori</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Object-Process Methodology - A Holistic Systems</surname>
            <given-names>Paradigm</given-names>
          </string-name>
          , Springer Verlag,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Dori</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>Object-Process Methodology as a basis for the Visual Semantic Web</article-title>
          .
          <source>Proc. 14th International Conference on Database and Expert Systems Applications (DEXA</source>
          <year>2003</year>
          ), IEEE Computer Society Press, IEEE International Workshop on Web Semantics (WebS
          <year>2003</year>
          ),
          <year>September 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Dori</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Reinhartz-Berger</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          and
          <article-title>Sturm A. OPCAT - A Bimodal Case Tool for ObjectProcess Based System Development</article-title>
          .
          <source>5th International Conference on Enterprise Information Systems (ICEIS</source>
          <year>2003</year>
          ), pp.
          <fpage>286</fpage>
          -
          <lpage>291</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [12]
          <string-name>
            <surname>OMG</surname>
          </string-name>
          ,
          <source>Unified Modeling Language 1</source>
          .5 Specification. OMG Document formal/
          <fpage>03</fpage>
          -03-01,
          <year>March 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Mayer</surname>
            ,
            <given-names>R.E. Multimedia</given-names>
          </string-name>
          <string-name>
            <surname>Learning</surname>
          </string-name>
          . Cambridge University Press,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Narayanan</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>McIlraith</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <article-title>Analysis and simulation of Web services, Computer Networks</article-title>
          , In Press, Uncorrected Proof,
          <source>Available online 10 April</source>
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>N. F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sintek</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Crubezy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fergerson</surname>
            ,
            <given-names>R. W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musen</surname>
            ,
            <given-names>M. A.</given-names>
          </string-name>
          ,
          <source>Creating Semantic Web Contents with Protege-2000. IEEE Intelligent Systems</source>
          <volume>16</volume>
          (
          <issue>2</issue>
          ),
          <year>2001</year>
          , pp.
          <fpage>60</fpage>
          -
          <lpage>71</lpage>
          , http://protege.stanford.edu.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Paolucci</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srinivasan</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sycara</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nishimura</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <article-title>Towards a Semantic Choreography of Web Services: from WSDL to DAML-S,</article-title>
          <source>Proceedings of the The First International Conference on Web Services (ICWS'03)</source>
          ,
          <year>June 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Peleg</surname>
            ,
            <given-names>M,</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Dori</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Representing Control Flow Constructs in Object-Process Diagrams</article-title>
          .
          <source>Journal of Object-Oriented Programming</source>
          ,
          <volume>11</volume>
          ,
          <issue>3</issue>
          , pp.
          <fpage>58</fpage>
          -
          <lpage>71</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Peleg</surname>
            ,
            <given-names>M,</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Dori</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>The Model Multi-plicity Problem: Experimenting with Real-Time Specification Methods</article-title>
          .
          <source>IEEE Transac-tion on Software Engineering</source>
          ,
          <volume>26</volume>
          ,
          <issue>8</issue>
          , pp.
          <fpage>742</fpage>
          -
          <lpage>759</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Reinhartz-Berger</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dori</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , OPM/Web -
          <article-title>Object-Process Methodology for Developing Web Applications</article-title>
          .
          <source>Annals of Software Engineering. 13</source>
          , pp.
          <fpage>141</fpage>
          -
          <lpage>161</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Reinhartz-Berger</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dori</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Open Reuse of Component Designs in OPM/Web, 26th annual international
          <source>Computer Software and Applications Conference (COMPSAC'02)</source>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>26</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Sabou</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Richards</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Splunter</surname>
            <given-names>S. van</given-names>
          </string-name>
          ,
          <source>An experience report on using DAML-S, Workshop on E-Services and the Semantic Web (ESSW '03)</source>
          ,
          <source>The Twelfth International World Wide Web Conference</source>
          . Budapest, Hungary, May
          <volume>20</volume>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Wirtz</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <article-title>Application of Petri Nets in Modelling Distributed Software Systems</article-title>
          , MOCA01, Denmark, Aug. 2001
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>