Modeling Semantic Web Services with OPM/S – A Human and Machine-Interpretable Language Dov Dori Eran Toch Iris Reinhartz-Berger Technion - Israel Institute of Technology Technion - Israel Institute of Technology University of Haifa Haifa 32000, Israel Haifa 32000, Israel Carmel Mt., Haifa 31905, Israel 972-4-8294409 972-4-8292853 972-4-8288502 dori@ie.technion.ac.il erant@tx.technion.ac.il iris@mis.hevra.haifa.ac.il ABSTRACT distributed, dynamic, and can be utilized as light- The World-Wide-Web is now a ubiquitous, global tool, weight components within a broader and loosely cou- used for finding information, communicating ideas, carry- pled framework, common semantics is required so ing out distributed computation, and conducting business, differences in terminology and definitions can be learning and science. Web services and the Semantic Web automatically resolved. While the World Wide Web are emerging as a powerful infrastructure for distributed provides a repository for Web services, the Semantic computing. However, even though standard methods that Web [2] is designed to be the foundation for semantic define semantics of Web services, such as OWL-S, may aid markup of Web services. The OWL-S initiative [1] in the development and deployment of these services, they are hardly designed to be easily understandable and usable (formally DAML-S) provides an ontology for Web by developers. Complexity and lack of accessibility of Web services that enables automatic discovery, invocation, services and the Semantic Web hinders their usage by the and interoperation of Web services. information industry. OPM/S, which is based on Object- As of today, the usage of OWL-S has not crossed the Process Methodology (OPM), offers a bi-modal visual- boundary between academia and industry. Based on lingual representation that is both intuitive for humans and formal for machines. Utilization of ontologies and interop- their experience, Sabou et al. [21] reported that OWL- erability are two issues addressed by the OPM/S modeling S is difficult to learn, partly due to the lack of sup- environment. Ontologies are expressed as meta-libraries, porting tools, and that it has an imprecise conceptual which are specified in OPM or OWL, and can be dynami- model, which is composed of multiple ontologies cally linked to semantic Web services in a distributed envi- (models). To overcome these shortcomings, we pro- ronment. Interoperability is achieved using a transparent pose to wrap OWL-S with a higher-level modeling reuse method that enables dynamic development of Web language, called OPM/S. Based on Object-Process services and their integration into more complex Web ser- Methodology (OPM) [9], OPM/S integrates software vices. Using a running example, the paper presents OPM/S engineering and semantics engineering practices in and its mapping to OWL-S. The benefits and shortcomings order to establish a single framework for modeling are discusses and compared with other OWL-S modeling Web services. OPM/S contains two main mechanisms methods. that enable modeling the dynamic interoperability between Web services. The first mechanism handles 1. INTRODUCTION ontologies and descriptions of the concepts that are The Web is highly dynamic in the quantity and nature shared among various semantic Web services. On- of the information that it encompasses, posing a host tologies are captured as meta-libraries, which are of challenges in managing distributed information and specified in OPM or OWL, and can be utilized in the computation over the Web. Access to the Web may be specification process of Web services. Meta-libraries from a variety of devices and interfaces, by different are developed and maintained separately from the users at different locations, and at varying times. Web service models, and are dynamically linked to Thus, there is a need for standard languages that cap- the Web services. Alterations in a meta-library are ture information semantics and not just syntax. Web reflected in the particular Web service models that use services and the Semantic Web are powerful infra- it. structures that enable easy integration, automatization, and reuse of different information and process formats The second OPM/S mechanism is transparent reuse in a distributed environment. Since Web services are [20]. Usually, reuse of Web services does not in- 86 volve the installation of separate copies of the compo- scription of the service and means to access it. OWL- nents, but rather utilization of runtime calls to the ser- S [1], which is a framework for containing and shar- vices. Therefore, modeling frameworks for Web ser- ing these descriptions, provides the following three vices should take into account scenarios in which ser- essential types of knowledge about a service. vices may change after being reused. Transparent re- 1. The Service Profile describes the properties of a use enables ongoing development of Web services service, such as its functionality, which is neces- and their integration into more complex Web services. sary for its automatic discovery, and its set of in- The reused models can be referred to using either URI puts, outputs, preconditions and effects (abbrevi- or UDDI entries. A supervision mechanism warns the ated IOPE). designer if changes in a reused model affect the entire model and automatically suggests possible solutions, 2. The Process Model defines the control flow of based on a shared semantics. the service, using its IOPEs and a set of control constructs and descriptions of each process that The rest of the article is structured as follows. Section takes part in the flow. OWL-S has three types of 2 reviews existing OWL-S engineering methods and processes: atomic processes, which are executed briefly presents OPM. Section 3 introduces the by single communication protocol calls, simple OPM/S framework and explains how it supports the (undivided) processes, and composite processes, different OWL-S ontologies. Finally, Section 4 dis- which comprise other processes. cusses the benefits and shortcomings of OPM/S and refers to future research plans. 3. The Service Grounding ontology connects the process model to communication-level protocols, 2. BACKGROUND such as the message description of Web Services 2.1 Semantics of Web Services Description Language (WSDL) [4]. Web services are automated resources accessed via Even though OWL-S had gained a considerable mo- the Internet, using an XML interface. The exponential mentum in the Semantic Web community, several growth of the Web and the progress of Internet-based shortcomings prevent OWL-S from being more architectures have set the stage for the proliferation of widely adopted by the software engineering industry. Web services and corresponding ontologies. How- The main problem is that OWL-S is relatively com- ever, despite the fact that these systems employ com- plex and inaccessible for humans [21]. The separation mon XML or even RDF interfaces, semantic gaps between the definition of the service and the semantic among these ontologies cause problems in various meta-information requires users to master several lan- scenarios. The problem of semantic reconciliation guages and carry out translations among them. More- arises, for example, when integrating two systems that over, the lack of suitable complexity management utilize different semantics to refer to entities that are mechanisms makes the readability of the domain conceptually identical. Such semantic differences scripts difficult. Exacerbating this situation is the need must be resolved manually, a costly process that is for different types of notation in disparate models that unavoidably error-prone. must be used to define various aspects of a Web ser- Trying to solve these problems, the Semantic Web vice, requiring consistency and integrity checking that provides an infrastructure for concepts to be specified is typical of systems that suffer from the model multi- formally, so relations between different concepts can plicity problem [18]. be reasoned automatically, providing a basis for 2.2 OWL-S Modeling Methods automated semantic reconciliation processes. Several In an attempt to overcome the complexity of OWL-S, standards have emerged to support the Semantic Web two approaches to creating OWL-S scripts have been vision, including Web Ontology Language (OWL) [8] developed: automatic generation and modeling. Auto- and DARPA Agent Markup Language (DAML+OIL) matic generation relies on tools that create OWL-S [5]. These languages are designed to enable com- descriptions from existing concrete artifacts, such as puter applications to semantically process the infor- programming code or WSDL specifications [4]. Em- mation that formerly could be interpreted only by ploying bottom-up development, this approach is im- humans. plemented, for example, in the WSDL2OWL-S tool In order to search for Web services and use them, a [16], which provides a partial translation from a software agent needs a computer-interpretable de- WSDL specification of a Web service to an OWL-S -2- 87 script. The OWL-S modeling approach, in contrast, things that transform objects. In most interesting and supports top-down development using a formal mod- challenging systems structure and behavior are highly eling language. Narayanan and McIlraith have used intertwined and hard to separate. Meeting this model- Petri nets to compose Web services [14]. While Petri ing challenge, stateful objects and processes that nets are sufficient for modeling the dynamics and con- transform them describe the function, structure and trol flows of OWL-S modules, they are limited in de- behavior aspects of the modeled system within a sin- scribing static aspects of systems, like module alloca- gle framework in a domain-independent manner with- tions and their dependencies and structural relations out highlighting one aspect at the expense of sup- [22]. Furthermore, lacking a refinement mechanism pressing another. that is essential for describing large-scale systems, Contrary to the object-oriented approach, processes in Petri nets are not directly scalable and are hence not OPM can stand alone, allowing intuitive modeling of widespread across the software engineering commu- the system's behavior that involves several object nity. classes, possibly cutting across the system's structure. Several OWL-S modeling methods rely on Unified Processes are connected to the involved objects Modeling Language (UML) [12], the standard object- through procedural links, which are classified into oriented modeling language. Bose et. al. [3] have enabling links, transformation links, condition links, suggested using UML for modeling the OWL-S Ser- and event links. The same and only diagram type pro- vice Profile and Process Model ontologies. Class dia- vides also for modeling the system's structure, includ- grams represent the structure of the top level OWL-S ing the fundamental aggregation, generalization, ex- specification, i.e., the entities of the Service Profile. hibition, and classification relations alongside any Since OWL-S specifications include also the Process other user-defined structural relation. Model ontology, additional dynamic UML diagrams Two semantically equivalent modalities, one graphic are needed to specify these behavioral aspects. The and the other textual, jointly express the same OPM need to use several diagram types necessitates the model. A set of inter-related Object-Process Diagrams development of a consistency management and pro- (OPDs) constitute the graphical, visual OPM formal- tection mechanism that must be employed while the ism. Each OPM element is denoted in an OPD by a multiple-view UML model is mapped onto the single graphic symbol, and the OPD syntax specifies correct formal OWL-S specification. and consistent ways by which entities can be linked. DUET [7] is a software tool that implements an Table 1 lists the fundamental OPM elements along OWL-S modeling solution based on UML activity with their symbols and semantics. The Object-Process diagrams. Each process is represented by an activity, Language (OPL) is the textual counterpart modality of while composite processes contain descendant activi- the graphical OPD set. As a dual-purpose language, ties. Inputs and preconditions are modeled as entry OPL is oriented towards humans as well as machines. actions that occur when the activity is executed. Out- Catering to human needs, OPL is designed as a con- puts and effects are modeled as exit actions that are strained subset of English, which serves domain ex- executed when the activity ends. This modeling perts engaged in analyzing and designing a system (or framework ignores several elements of the OWL-S a Web service). Every OPD construct is expressed by Process Model ontology, such as conditions and con- a semantically equivalent OPL sentence or phrase. ditional outputs. Another drawback of this solution is Designed also for machine interpretation, OPL pro- that it is limited only to the Process Model ontology, vides a solid basis for automatically generating the neglecting the OWL-S Service Profile and Service designed application. This dual representation of Grounding ontologies. OPM increases the processing capability of humans according to Mayer's theory [13]. 2.3 Object-Process Methodology (OPM) Object-Process Methodology (OPM) [9] is a holistic, integrated approach to the study and development of systems in general and information systems in par- ticular. 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 -3- 88 Table 1: Main OPM elements, their symbols and 3. The OPM/S Framework semantics The OPM/S modeling framework wraps OWL-S, re- Element Name Symbol Semantics flecting the characteristics and features of semantic Object A thing that has the potential of Web services. Contrary to OWL-S, which requires unconditional existence using three different types of ontologies with overlap- Process A pattern of transformation that ping concepts, OPM/S employs its single frame of objects undergo reference that can be presented at different abstraction Environmental An environmental (external) thing thing (object or process) which communi- levels. The combination of the single OPM view with cates with the system its bimodal presentation increases the accessibility Characterization A relation representing that a thing and usability of the OPM/S modeling framework to (object or process) exhibits another thing humans as well as machines (e.g., code generators and Generalization A relation denoting the fact that a automatic translators). thing generalizes a set of specialized things The OWL-S ontologies are mapped to OPM/S as fol- Aggregation A relation which denotes that a thing lows. The Service Profile is represented in OPM/S as consists of other things the top level Object-Process Diagram (called the Sys- General structural A general association between things relationship tem Diagram, SD) along with its corresponding Ob- Instrument link A link indicating that a process ject-Process Language paragraph. The Process Model requires an (input) object for its is expressed by zooming into the top-level specifica- execution Effect link A link indicating that a process tion to expose the process structure and flows. From changes an object the top-level processes and downwards in the process Result/ Consump- A link indicating that a process containment hierarchy of OWL-S, each composite tion link creates/consumes an object Invocation link A link indicating that a process process is in-zoomed in OPM/S to reveal its sub- activates (invokes) another process processes and their IOPE sets. The Service Ground- Condition link c A link representing a condition ing ontology is expressed by the interfaces of the required for a process execution. While an enabling link has a atomic processes, which are unfolded at the deepest "wait until" meaning, a condition level of the process hierarchy. Table 2 summarizes the link has an "if" meaning mapping between each of the three OWL-S ontologies Agent link A link indicating that an external agent is required for the process and the corresponding OPM/S concepts. execution Table 2: Mapping OWL-S ontologies to OPM/S OPM also exhibits three complexity management OWL-S OPM/S Representation OPD or OPL mechanisms which enable refinement/abstraction of Ontology Script Level Service OPM models: (1) unfolding/folding is used for refin- Profile The highest level of the OPM/S 0 (SD level) model ing/abstracting the structural hierarchy of a thing; (2) in-zooming/out-zooming exposes/hides the inner de- Each process is represented by k;0≤k≤N Process an OPD and an OPL paragraph, where N is the deep- tails of a thing within its frame; and (3) state express- Model which refine (zoom into) its sub- est level of the ing/suppressing exposes/hides the states of an object. processes OPM/S model Using flexible combinations of these mechanisms, Service Unfolding of the deepest atomic OPM enables specifying a system to any desired level N Grounding process level of detail without losing legibility and comprehension of the resulting specification. Two mechanisms are employed in order to support the dynamic and distributed nature of Web services: OPM is supported by the OPCAT [11] (Object- meta-libraries and transparent reuse. The rest of this Process CAse Tool) modeling environment1. It has section describes these mechanisms and explains their also been applied and tested in various domains, in- application to modeling the Service Profile and the cluding Web applications [19] and Semantic Web Process Model in OPM/S. In order to demonstrate our Information [10]. In this paper, we further extend approach, we use a running example of a book-buying OPM to support the modeling of semantic Web ser- service offered by the Web service provider Congo vices. For future reference, this extension is called Inc. [6]. The OPM/S representation of the Service OPM/S. Grounding ontology is out of the scope of this paper. 1 OPCAT can be downloaded from: http://www.objectprocess.org -4- 89 3.1 The Service Profile Ontology Output. This is expressed by the result links in the Figure 1 is an OPM/S model of the Service Profile OPD and by the corresponding result sentence in the ontology of the Congo Book Buying service. The top- OPL paragraph. The effect link between Buy Effect level, main process in this model, Congo Book Buy- and the Congo Book Buying Service specifies that ing Service, is surrounded by its inputs, outputs, pre- the process changes the object during its execution. conditions, and effects, which are all objects. These The service itself exhibits the attributes Service objects are connected to the Congo Book Buying Name, Text Description, Contact Information, and Service via procedural links that denote the role of several Quality Ratings. The Contact Information each one of the objects in the top-level process. section can contain many points of contact, each rep- resented by an Actor. The Quality Ratings are matri- ces 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. 3.2 The Process Model Ontology 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 Book Name is of type XS:string. here), is a "one shot" service for buying a book with Congo Book Buying Service exhibits Service Name, Text De- Congo, Inc. Figure 3 refines the composite process scription, Contact Information, and many Quality Ratings. Full Congo Buy as a two-step buying procedure, in Contact Information consists of many Actors. Congo Book Buying Service occurs if Account exists and Credit which the book is first located (Locate Book) and exists. then bought (Buy Book). Congo Book Buying Service requires Book Name, Account Info, Sign In Info, Credit Card Info, and Delivery Details. For comparison purposes, the OWL-S specification of Congo Book Buying Service affects Buy Effect. the Full Congo Buy process is listed in Figure 3. The Congo Book Buying Service yields Receipt, Shipping Order, and Account Output. XML statements contain the process type and its con- Figure 1: An OPM/S model of the Service Profile trol flows. As noted, an OWL-S process can be of type composite, simple, or atomic. OPM/S, in con- of the Congo Book Buying Service trast, defines a single concept—a process class, the As the condition links from the objects Credit and complexity of which is determined by its position in Account to the Congo Book Buying Service proc- the process hierarchy of the OPM model. OPM/S ess denote, the existence of these two objects is a pre- processes that are refined into subprocesses are condition for the execution of the Congo Book Buy- mapped to OWL-S composite processes. A refined ing Service. The corresponding OPL sentence, which OPM/S process, such as Buy Book, is denoted by the is "Congo Book Buying Service occurs if Account fact that the contour of its ellipse, which is originally exists and Credit exists”, reinforces this condition thin, becomes thick. Processes that are not in-zoomed semantics. Similarly, the objects Book Name, Ac- (and hence remain with thin contours) are mapped to count Info, Sign In Info, Credit Card Info, and De- either atomic or simple OWL-S processes. Atomic livery Details are the process inputs, as the instrument processes differ from simple ones in that the former links from each one of them to the Congo Book Buy- contain folded binding information (expressed in the ing Service process denote. The equivalent OPL sen- service grounding ontology), while the latter do not. tence is "Congo Book Buying Service requires Book Name, Account Info, Sign In Info, Credit Another difference between OPM/S and OWL-S is Card Info, and Delivery Details." The process out- the way they treat control flows. OWL-S enables ex- puts are Receipt, Shipping Order, and Account plicit selection of a control flow construct for defining -5- 90 an ordering or conditional execution of sub-processes. Else, Iterate, Repeat-While, and Repeat-Until. OPM/S, on the other hand, utilizes the limited set of denoted by the relative vertical position of the sub- processes, taking into account that the time line flows from the top of the diagram downwards. In Figure 3, Locate Book. Two processes with the same vertical position are executed in parallel or as alternatives. An can override this convention [17]. Figure 3: OWL-S specification of the Full Congo Buy service 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 deci- sions). Each state of this object is linked via a condi- tion link to the process that needs to happen if the ob- Book Name is of type XS:string. ject is at that state. In Figure 2, for example, Buy Full Congo Buy zooms into Locate Book and Buy Book, as well Book is executed only if Located Book exists, i.e., as Book Not Found and Located Book. only if the book was found. OPM/S also supports Located Book plays the role of Product of e-commerce. Located Book exhibits Book ISBN and Book Description modeling of iterative control flows (such as loops) by Book ISBN plays the role of Identifier of e-commerce. combining condition links to express the halting con- Book Description plays the role of Description e-commerce. ditions and an invocation link to enable the iterations. Locate Book requires Book Name. Locate Book yields either Located Book or Book Not Found. Adding an invocation link in Figure 2 from Buy Book Buy Book plays the role of E-Commerce Process of e- to the complete Full Congo Buy specifies that this commerce. process is executed until the requested book is not Buy Book occurs if Located Book exists. Buy Book requires Book ISBN, Credit Card Info, Sign found. In Info, Account Info, and Delivery Details. Buy Book yields Receipt, Shipping Order, and Account Output. 3.3 Consistency Maintenance of OPM/S Models Receipt plays the role of Confirmation of e-commerce. OPM/S models are not only readable and comprehen- Figure 2: An OPM/S Process Model of the Full sible; they are also consistent across the various ab- Congo Buy Service straction levels of the same Web service. The OPM consistency rules [9] require that the IOPE set of a process is either identical at any two consecutive re- finement 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 con- -6- 91 nected through an instrument link to Buy Book of Full Congo Buy, a sub-process of Congo Book Buy- ing Service, in Figure 2. These rules are enforced by OPCAT. Such consistency checks are difficult to en- force in OWL-S, especially since they require verifi- cation that involves two different ontologies: the Ser- vice Profile and the Process Model. The consistency of an OPM/S specification is con- served also within the same Process Model displayed at various refinement levels. For example, in Figure 4, the Buy Book composite process is zoomed into, ex- posing its Buy Sequence, Specify Delivery Details, and Finalize Buy sub-processes. Buy Sequence, in turn, is also a composite process, responsible for han- dling shopping carts, customers, and accounts. Spec- Buy Book plays the role of E-Commerce Process of e- ify Delivery Details and Finalize Buy, on the other commerce. Credit Card Info exhibits Credit Card Number and Credit Card hand, are atomic processes. The single instrument link Expiration. from Delivery Details to Buy Book in Figure 2 is Credit Card Number is of type XS:string. refined in Figure 4 into three instrument links from Credit Card Expiration plays the role of Instant of time. Delivery Details exhibits Delivery Address, Packaging Type, and Delivery Address, Packaging Type, and Delivery Delivery Type. Type (which are attributes of Delivery Details), to Delivery Address is of type XS:string. Specify Delivery Details. Changing one of these Packaging Type can be gift wrap or ordinary. Delivery Type can be fedex one day, fedex 2-3 days, links to an effect link will automatically change the ups, or ordinary mail. link between Delivery Details and Buy Book in the Book ISBN plays the role of Identifier of e-commerce. higher-level specification (shown in Figure 2) to an Located Book plays the role of Product of e-commerce. Located Book exhibits Book ISBN. effect link, denoting that Buy Book somehow Buy Book requires Located Book. changes Delivery Details. Buy Book zooms into Buy Sequence, Specify Delivery Details, and Finalize Buy. 3.4 OPM/S Typing Methods Buy Sequence requires Sign In Info, Credit Card Info, Account Info, and Book ISBN. There are three kinds of OPM/S typing methods: basic Buy Sequence yields Account Output. types, roles, and enumerations. These are demon- Specify Delivery Details requires Delivery Type, Delivery Address, and Packaging Type. strated in Figure 4. Basic types includes all the primi- Specify Delivery Details yields Shipping Order. tive types, such as xs:int and xs:string, and user-defined Finalize Buy yields Receipt. types. The type of Credit Card Number and Delivery Receipt plays the role of Confirmation of e-commerce. Address in Figure 4, for example, is XS:string. Figure 4: An OPM/S model of the Process Model of Buy Book Roles denote the ontological context, according to a given meta-library. Credit Card Expiration, for exam- 3.5 Meta-Libraries ple, is declared as an Instant from the Time ontology, Meta-libraries are used to specify and utilize ontolo- which is represented by an OWL meta-library. Role gies and domain knowledge in a dynamic and distrib- names are recorded in the upper-left corner of an ob- uted environment. A meta-library captures domain ject box or a process ellipse. knowledge as an OPM model or as an OWL specifica- Enumerations are specified in OPM/S by states. States tion. For instance, a meta-library concerning e- define the set of possible situations an object can be at commerce will contain concepts such as product, cus- or legal values an object can assume. At any point in tomer, order, invoice, and so fourth. It will also con- time an object is in exactly one of its states or in tran- tain static and dynamic constraints among these con- sition between states. States can change only through cepts, such as how many products can be ordered in a the occurrence of a process. In the graphical OPD no- single order, should the paying certification precede tation, states are denoted as rounded-corner rectangles the supplying process, etc. inside an object. Packaging Type in Figure 4, for ex- ample, can be gift-wrap or ordinary. -7- 92 3.6 Transparent Reuse The interoperability of semantic Web services is sup- ported by applying OPM's transparent reuse method [20]. 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 ser- vice from external services that can be further en- hanced and developed after they were integrated. Product exhibits Identifier and Description. Description is of type Xs:string. When applying OPM's transparent reuse method, E-Commerce Process requires many Products. elements from the reused service, which are symbol- E-Commerce Process yields an optional Confirmation. ized as environmental elements (“stubs”), are bound Figure 5: An E-Commerce meta-library to concrete (systemic) elements in the target Web ser- Figure 5 is an OPM model of a simple e-commerce vice, using generalization relations. The environ- meta-library. According to this e-commerce ontology, mental elements of the reused Web service cannot be Product exhibits two attributes, Identifier and De- edited in the target model, and are loaded from their scription. This e-commerce meta-library also intro- sources (local files or Internet addresses) each time a duces dynamic constraints on the E-Commerce design session is initiated. This way, any alteration in Process: the process requires one or more Products the reused Web service model will be reflected in all and yields an optional Confirmation. the target Web services that reuse it. When defining a Web service, one or more meta- As an example to the transparent reuse method, con- libraries are imported by selecting a local file or a sider a case in which Finalize Buy from Figure 4 is URI, or by searching through UDDI registries. After not specified in the Congo Book Buying Service. In the meta-library is imported, the Web service model this case, Finalize Buy would be marked as an envi- dynamically references it. The references are re- ronmental and, correspondingly, Receipt would be freshed each time a design session is initiated, ensur- marked as an environmental object (in all levels of the ing that every change in the meta-library would be OPM model), enabling the reuse of external services reflected to all the Web service models that import it. for finalizing a buy. An example of such a service can be the FedEx Service, whose interface includes de- Each element in a Web service model can be assigned livery details (as an input) and a receipt (as an output) to one or more roles each of which corresponds to an in special formats. When binding the FedEx Service element of the meta-library. Buy Book in Figure 2, to the Congo Book Buying Service (as a Finalize for example, plays the role of an E-Commerce Proc- Buy process), the integrated Web service uses FedEx ess. Hence, it requires Products, Located Books in in order to deliver books from the Congo provider. this case, and yields a Receipt, which plays the role of a Certification. Buy Book also requires additional A supervision mechanism is employed in order to de- information (Credit Card Info, Sign In Info, Account tect changes in Web services that might affect other Info, and Delivery Details) and yields Shipping Or- Web services. The designer receives a list of warnings der and Account Output. Furthermore, the Located regarding broken bindings between Web services, as Book (input) object fulfills the structural constraints well as suggestions to alternative substitutions for the of a Product, enforces by the e-commerce meta- broken bindings. library: it exhibits Book ISBN (the product identifier) and Book Description (the product description). A 4. CONCLUSIONS special algorithm (not described in this paper) vali- The dynamic nature of the Web and its heterogeneous dates that the Web service model fulfills the meta- information formats require addressing semantic is- library (static and dynamic) constraints. sues when searching and developing Web-based sys- tems, such as Web services. Using OWL-S for speci- fying semantic Web service holds great opportunities for automating Web service discovery, invocation, -8- 93 composition, interoperation, and execution monitor- [4] Christensen, E., Curbera, F., Meredith, G., Weer- ing. However, current OWL-S modeling and engi- awarana, S., Web Services Description Language neering methods need to be improved in order to (WSDL) 1.1, 15 March 2001, make them accessible and useful for humans as well. http://www.w3.org/TR/2001/NOTE-wsdl- This work has proposed OPM, which is a general sys- 20010315. tem engineering method, as a convenient, intuitive, [5] Connolly, D., Harmelen, F., Horrocks, I., yet formal language for wrapping and expressing McGuinness, D. L., Stein, L. A., DAML+OIL OWL-S specifications. A small set of about a dozen Reference Description. W3C Note, 18 December OPD symbols, along with a semi natural language, 2001. Object-Process Language (OPL), simplify the defini- [6] DAML.org, Congo Buy Specification, tion of Web services for humans. Ontologies and do- http://www.daml.org/services/owl- main knowledge are handled in the OPM/S modeling s/0.9/CongoService.owl framework using meta-libraries which are dynami- [7] DARPA, CODIP Project, DUET: DAML UML cally imported and shared by multiple Web services. Enhanced Tool, In order to support interoperability between Web ser- http://grcinet.grci.com/maria/www/CodipSite. vices, OPM's transparent reuse method is adopted as a way to integrate Web services. Transparent reuse en- [8] Dean, M., Connolly, D., Harmelen, F., Hendler, J., Horrocks, I., McGuinness, D. L., Patel-Schneider, ables ongoing changes in the integrated models, while P. F., Stein, L. A., OWL Web Ontology Language alerting the designer about influences of the changes 1.0 Reference, July 2002. on other Web services. [9] Dori, D., Object-Process Methodology - A Holis- The usage of objects and processes in OPM along tic Systems Paradigm, Springer Verlag, 2002. with its three built-in complexity mechanisms enable modeling the Service Profile, Process Model, and [10] Dori, D., Object-Process Methodology as a basis for the Visual Semantic Web. Proc. 14th Interna- Service Grounding ontologies of a Web Service in a tional Conference on Database and Expert Sys- single framework, using a single (bimodal) modeling tems Applications (DEXA 2003), IEEE Computer language. The complexity management mechanisms Society Press, IEEE International Workshop on also ensure that a Web service model is internally Web Semantics (WebS 2003), September 2003. consistent. [11] Dori, D. Reinhartz-Berger, I. and Sturm A. OPM/S expressiveness should be further improved to OPCAT – A Bimodal Case Tool for Object- support all types of OWL-S logical expressions, such Process Based System Development. 5th Interna- as complex branches. The research plans also include tional Conference on Enterprise Information Sys- implementing an OWL-S translator, which will enable tems (ICEIS 2003), pp. 286-291, 2003. bi-directional conversion of OPM/S models to OWL- [12] OMG, Unified Modeling Language 1.5 Specifica- S specifications and vice versa. In addition, develop- tion. OMG Document formal/03-03-01, March ment guidelines will be defined for specifying seman- 2003. tic Web services in OPM/S and OWL-S. [13] Mayer, R.E. Multimedia Learning. Cambridge University Press, 2001. REFERENCES [14] Narayanan, S. McIlraith, S., Analysis and simula- [1] Ankolenkar, M. Burstein, T. C. Son, J. Hobbs, O. tion of Web services, Computer Networks, In Lassila, D. Martin, D. McDermott, S. McIlraith, S. Press, Uncorrected Proof, Available online 10 Narayanan, M. Paolucci, T. Payne, K. Sycara, and April 2003. H. Zeng., OWL-S: Semantic Markup for Web Ser- [15] Noy, N. F., Sintek, M., Decker, S., Crubezy, M., vices, www.daml.org/services/, June 2002. Fergerson, R. W., Musen, M. A., Creating Seman- [2] Berners-Lee, T., Hendler, J., Lassila, O., The Se- tic Web Contents with Protege-2000. IEEE Intel- mantic Web, Scientific American, 284(5), 2001, ligent Systems 16(2), 2001, pp. 60-71, pp. 34-43. http://protege.stanford.edu. [3] Bose, P., Kogut, P., Leung, Y.H., Woodward, [16] Paolucci, M., Srinivasan, N., Sycara, K., Nishi- H.M., Applying UML to Model Web Service On- mura, T., Towards a Semantic Choreography of tologies for the Semantic Web, OMG Web Ser- Web Services: from WSDL to DAML-S, Proceed- vices Workshop, 3 July 02. -9- 94 ings of the The First International Conference on [20] Reinhartz-Berger, I., Dori, D., Katz, S., Open Re- Web Services (ICWS'03), June 2003. use of Component Designs in OPM/Web, 26th annual international Computer Software and Ap- [17] Peleg, M, and Dori, D. Representing Control Flow plications Conference (COMPSAC'02), pp. 19-26, Constructs in Object-Process Diagrams. Journal of 2002. Object-Oriented Programming, 11, 3, pp. 58-71, 1998. [21] Sabou M., Richards D., Splunter S. van, An ex- perience report on using DAML-S, Workshop on [18] Peleg, M, and Dori, D., The Model Multi-plicity E-Services and the Semantic Web (ESSW '03), Problem: Experimenting with Real-Time Specifi- The Twelfth International World Wide Web Con- cation Methods. IEEE Transac-tion on Software ference. Budapest, Hungary, May 20, 2003. Engineering, 26, 8, pp. 742-759, 2000. [22] Wirtz, G., Application of Petri Nets in Modelling [19] Reinhartz-Berger, I., Dori, D., Katz, S., Distributed Software Systems, MOCA01, Den- OPM/Web – Object-Process Methodology for mark, Aug. 2001 Developing Web Applications. Annals of Soft- ware Engineering. 13, pp. 141–161, 2002. -10- 95