Expert Systems with Applications 24 (2003) 375–389 www.elsevier.com/locate/eswa
Meta web service: building web-based open decision support system based on web services O. Byung Kwona,b,* b
a ISRI, School of Computer Science, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213, USA School of Management and Economics, Handong University, HungHae, Pukku, Pohang, KyungBuk 791-708, South Korea
Abstract Web services are currently one of the trends in network-based business services, which intuitively will be applied to build a semantic webbased decision support system (DSS). Since web services are self-contained, modular business process applications, based on open standards, enable integration models for facilitating program-to-program interactions. Decision modules in a semantic web-based DSS can be viewed as a web service. However, according to the current features, web services know only about themselves, they are neither autonomous, nor are they designed to use ontologies; they are passive until invoked, and they do not provide for composing functionalities. These lead to the motivation on building a sophisticated web service to contain these features and to utilize web services on behalf of the user. This paper aims to propose a new concept of Meta Web Service, a web service-based DSS. The meta web service understands the user’s problem statement with ontology, performs web service discovery, web service composition, and automatically generates codes for composite web service execution. Case-based reasoning is applied to quickly find past histories of successful service compositions. A prototype of research web service has been developed to show the feasibility of the proposed idea. q 2003 Elsevier Science Ltd. All rights reserved. Keywords: Open DSS; Web-based DSS; Semantic web; Web services; Meta system; Case-based reasoning; Petri nets
1. Introduction The DSS environment is changing into a distributed, open, interoperable, and scalable environment according to parallel changes in internet computing such as web-based and open DSS. Web-based and Open DSS have been suggested as tools to work within the new environment and to meet corresponding needs under Internet computing. However, these tools still have some drawbacks that limit their usefulness on the Internet. First, open DSS intends to use metadata for DSS discovery and match. However, the metadata does not contain semantics on what DSS is and how to use it. For example, the metadata may contain the name of problem domain, but the detailed information on the semantic match does not exist. To overcome this limitation, a Semantic web approach could be promising to enrich metadata. Secondly, the legacy DSS web servers receive a client’s input as a pre-defined specific form, which tends to prohibit openness. The input and output forms do * Address: ISRI, School of Computer Sciences, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PA 15213, USA. Tel.: þ 1412-268-1304/82-54-260-1402; fax: þ1-412-268-5571. E-mail address:
[email protected] (O.B. Kwon).
not often easily share data, mainly due to differing standards. Moreover, it is hard for the servers to share their capabilities for cooperated computing because the interface is explicitly known externally. Meanwhile, web services are now one of the trends in information technology. Web services are XML-based, work through firewalls, and are lightweight. They are a key component of Microsoft’s .Net initiative and are deemed essential to the business directions charted by IBM, Sun, and SAP (Huhns, 2002). Microsoft views the benefits of web services are threefold: enabling best-of-breed business integration, providing a resilient and scalable platform, and enabling freedom of choice in transports and encoding protocols (Clark, 2002). When thinking of decision support systems as a kind of service, we can see decision modules of open DSS as web services at least for the following reasons. First, web services do not need to know who or what will use the services being provided. This frees the DSS developer from the burden of user interface. Secondly, cross-platform capabilities are one of web service’s key attractions because inter-operability has been a dream of the distributed computing community for years, which would be helpful for open DSS run on heterogeneous platforms
0957-4174/03/$ - see front matter q 2003 Elsevier Science Ltd. All rights reserved. doi:10.1016/S0957-4174(02)00187-2
376
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
(Vaughan-Nichols, 2002). Now web services are helping us acquire “a homogenous view of a heterogeneous reality” (Clark, 2002). Even though the rationales to make use of the web service mechanism for open DSS, a sort of limited functionality of web service may not be well receivable to the DSS user. According to the current features, a web service knows only about itself; it is not autonomous and is not designed to use ontologies; it is passive until invoked, and it does not provide for composing functionalities (Huhns, 2002). However, lacking some features is inevitable for active decision support such as what we would provide. These lead to the motivation to build another independent service to contain these features and utilize web services on behalf of the user. Hence, this paper aims to propose a Meta Web Service for open DSS. The Meta Web Service understands the user’s problem statement with semantic web, performs web service discovery, web service composition, and automatically generates codes for composite web service execution. To reuse the past successful experiences in using web services, Meta Web Service handles case base, and quickly retrieves most similar cases. The cases may contain functional dependencies because the past web service usage may often sequentially integrate several web services. To detect these functional dependencies, an algorithm for case composition is described. The Meta Web Service is more than just a computational portal that Youn, Mock, Mueller, Pierce, and Fox (2002) have advocated. The computational portal makes batch scripts with the messages from web services. However, the Meta Web Service is autonomous, intelligent, and performs self-learning. A prototype system, Research Web Service, has been developed to show the feasibility of the proposed idea. The prototype not only discovers retrieving information from web, but also understands ontology and enables decision support to a certain extent, such as goal seeking analysis, sensitivity analysis, and reasoning. The remainder of this paper is as follows: surveys on web-based DSS and web services are described in Section 2. In Section 3, the overall framework and detailed illustration of the components are delineated. The Research Web Service will be shown as an example application with some implementation issues to show the feasibility of the idea in Section 4. Finally concluding remarks and future research directions are put forth in Section 5.
2. Literature survey 2.1. Web-based DSS The main feature of web-based DSS is that decisionmakers can share open decision modules on the Internet using a standardized protocol such as HTTP, and
a standardized format like XML or DAML. The combination of web and DSS techniques is natural for several reasons. First, information that is helpful for making decisions is dramatically increasing and tends to be distributed. Therefore, it is desirable to allow the information to be identified and controlled remotely. How enterprise-specific and public information can successfully be mingled for decisionmaking has particularly been raised as the main factors. To do this, concepts like International DSS have been suggested. This research mentioned the necessity of a formal approach to decision-making such as the use of formulated protocols (Evans, Hau, & Sculli, 1989; Hofstede, 1980). However, concerns about this field continue to be focused in translating language or indicating the differences in decision making between different cultures. Secondly, as the WWW made its appearance, certain characteristics help constructing the DSS. Hypertext, which is the document form received and transmitted through the web, holds hyperlink function that directly access the hypertext, which describes the relations between information, segments and provides information search among web servers (Bieber, 1995; Conklin, 1987). The important characteristic of a hypertext system is the easy formation of reference and the possibility of mutual reference. This characteristic guarantees the logical and structural connectivity of each model (Madsen, 1989; Ramesh & Sengupta, 1995). Also due to the permission of nonlinear information approaching, the user can choose the decision making route aside from the sequences which are decided in advance (Kendall, Kendall, Baskerville, & Barns, 1996). Likewise, the hypertext form makes a counterproposal concerning the model visualization (Hatcher, 1995; Huser, Reichenberger, Rosek, & Streitz, 1995; Kahn, 1995). Thirdly, the reusability of decision modules can be increased. Not a few modules are acquired in public and if they exist on the web servers, they have been prepared as references without developing them from scratch. In addition, the web-based applications are easily combined with the database and knowledge base technologies. This means the WWW can be applied to DSS. With these advantages, decision modules are becoming available on the web so that users may access them via Internet with the help of component-based development methodology. AlphaBlox (AlphaBlox, 2002) has been developed using component-based technology that would significantly reduce the development cycle with a simple ‘Lego-like’ approach, where application building blocks are ‘snapped together’ on a web page using any of today’s most popular web authoring tools. Booz-Allen’s Purchasing Analysis Tool adopted an SS/DSS mechanism that enables identifying, analyzing, and diagnosing opportunities to improve purchasing performance, such as optimum supplies, purchasing levels, and categories (DSS Resources, 2002). The mechanism includes structured and flexible tools that allow analysis of historic purchasing data. Comshare Decision (Comshare, 2002) is a web-based decision support
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
solution. When a user selects a Comshare Decision page, advanced Java applets are automatically downloaded to the client’s machine to provide a wide range of interactive functions. InterNetivity, Inc. has developed dbProbe, a Javabased corporate-wide tool for sales, statistical, financial, and inventory analysis, or any other application, such as a data warehouse (InterNetivity, 2002). DSS Web 5.0 (Microstrategy, 2002) provides a web interface to DSS Server, which runs a relational OLAP engine. Speedware is based on an open web architecture and supports development of secure, scalable, robust and cost-effective client/server applications (Speedware, 2002). From the mid-1990s, moreover, one of the interesting areas in applying web-based technology is a solver server. The solver server allows the client to pass algebraic expressions via web forms, and return results via web pages. BARON (Tawarmalani & Sahinidis, 1999), HIRON (2002), NIMBUS (Miettinen & Ma¨kela¨, 2000), UniCalc (Babichev, Kadyrova, Kashevarova, Leshchenko, & Semenov, 1993) are excellent examples of feasible servers. However, since they ask users to enter data in a pre-defined, specific format, the users tend to feel uncomfortable with such a complicated process, and the result is a decreased openness. Moreover, the input and output forms do not easily share data with each other, mainly due to a lack of standards. Not surprisingly, managers are increasingly dissatisfied with established procedures for making decisions (Agor, 1984). Therefore, for more usability, the profiles of the servers need to be explicitly represented and shared on the web. Meanwhile, as DSS environments are rapidly changing from centralized and closed to distributed and open mainly by virtue of the proliferation of WWW, scalability and interoperability features are getting more crucial to DSS development. Gregg and Goul defined DSS as “…an object class that includes software applications, mathematical subprograms or model solvers designed to interact with humans to facilitate decision-making”. (Gregg & Goul, 1999) Today, the agent-oriented approach has been regarded as emerging yet promising to DSS development and deployment. An approach for DSS deployment on the web is an open system that would allow DSS to be distributed on individual web pages, as other types of data are currently being offered. Goul, Philippakis, Kiang, Fernandes, and Otondo (1997) propose a set of requirements for a protocol suite that will allow the deployment of open DSS on the WWW. A protocol based on these requirements would utilize specialized web search agents to provide automated intelligent discovery of DSS pertaining to a specific decision-making or problem-solving situation. To distribute DSS on the WWW, a metadata model has been developed as a part of the ‘open DSS’ protocol (Gregg, Goul, & Philippakis, 2002). The metadata are used in the web environment to identify the content and quality of web pages (Resnick & Miller, 1996). However, the metadata does not contain semantics on what the DSS is and how to
377
use it. For example, the metadata may contain the name of problem domain, but the detailed information on a semantic match does not exist. To overcome this limitation, the semantic web approach is very promising to enrich metadata. In summary, conventional web technologies have made DSS to be openly used on the Internet, in spite of some limitations such as pre-defined specific input/output formats and lack of machine-understandable semantics in the current web pages. Fortunately, currently emerging technologies give us a clue about resolving these limitations. Among those technologies, semantic web and web services are promising for open web-based DSS and hence adopted in this paper. 2.2. Web services A web service interacts with its environment through a collection of operations that are network-accessible through standardized XML messaging. A web service is described by an XML-based service description that covers all the details necessary to interact with the services, including message formats, transport protocol, and location (Avila-Rosas, Moreau, Dialani, Miles, & Liu, 2002). The two primary currently emerging web services infrastructure standards are J2EE and .NET. HP’s Application Server, BEA’s WebLogic and IBM’s WebSphere are examples of J2EE-compliant application servers that combine web server farms with EJB engines. The J2EE provides a web service layer on top of the J2EE infrastructure. Services are performed through WSDL interfaces, registering these services at UDDI operator sites and communicating with clients and other web services through SOAP messaging (Burg, 2001; Clark, 2001). Robust service discovery is a hot issue to increase the usability of web services. Agent technologies are widely applied to service discovery, because agents are expected to adapt its behavior based on the dynamic characteristics of the web services in the user’s context, and carry out complex interactions with multiple services (Kuno & Sahai, 2002). On the other hand, web service discovery and synthesis have been considered as crucial for successful implementation of agent-based web services (Avila-Rosas et al., 2002; Buhler & Vidal, 2002). There are several off-the-shelf frameworks in support of a document management system that conceptualizes each document as a web service. These include Sun Microsystems’ Jini (Edwards, 2001), and the Universal Description, Discovery and Integration (UDDI) framework (UDDI Community, 2001a,b). The UDDI framework is a working W3C standard authored by Ariba, IBM, and Microsoft. At the time of this writing, several implementations of UDDI are available from companies such as Microsoft and IBM. Web services can be used for a wide range of tasks. For example, a document with text, images, and a sort of embedded logic can be viewed as a web service.
378
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
Ghandeharizadeh, Sommers, Kuntal, and Alwagait (2002) described two complementary, off-the-shelf frameworks for discovery and retrieval of documents in a distributed document management system. The concept of hybrid environment using UDDI and Jini is provided in their frameworks.
3. Meta web service 3.1. Overall framework A Meta Web Service is a web service that handles federating web services. The vision of the Meta Web Service is to support the entire life cycle of a group of federating web services: from creating to maintaining web services. Fig. 1 shows the entire life cycle of web services. † IDENTIFY: This is the issue of figuring out what the new service requirements are, and decide whether they are significant and worthwhile being created as a new web service. † CREATE: When a new requirement of creating web service arrives, a human expert or hopefully a meta system creates or generates a program that will be running on the Internet, making the new service profiles or connecting to the URIs of ontology so that the new web service might be semantically understood by clients or other web services. † USE: This step is to make use of the web service on behalf of the clients’ inquires. This step can be decomposed as problem identification, alternative generation, choice, and execution. These are similar to the decision making process originated from Simon (1967). † MAINTAIN: This happens whenever any needs to update the web service logic and/or interface is detected. Among the four fundamental steps of the life cycle, we will focus on USE step since the main focus of this paper is
Fig. 1. Web service life cycle with Meta Web Service.
how the web service can be applied and used in the area of decision support. When thinking that a web service advocates the use of the ‘software and data as a service’ paradigm, it is beneficial to conceptualize a decision module residing on the Internet as a web service for several reasons. First, as a web service, it encapsulates both data and behavior as a self-contained object. The decision modules hold data, model, knowledge, and solvers to reach a solution by optimization, analysis, forecasting, reasoning, or simulation. Secondly, it ensures the autonomy of modules so that one or more might either reside on a single server or would be cached (replicated) across many servers. Data, model, knowledge, and solvers may be distributed according to the capability of the service provider. For example, an inference engine is a solver for making decisions through reasoning, and it has been developed by a variety of developers. Solvers embedding optimization algorithm such as LINDO, LINGO, GAMS, and AMPL are all different in their functionalities and ownership. Hence, there is no reason to collect them all in only one server. The components of the Meta Web Service are † SERVICE FINDER † SERVICE PLANNER † SERVICE EXECUTOR The overall framework of the Meta Web Service is shown in Fig. 2. The service finder receives a problem from a user and identifies it with an ontology on the Internet. DAML series markup languages are adopted as an ontology language in this paper. Terminologies and their semantics used in the web services are represented as DAML þ OIL ontology and stored in corresponding URIs. However, since DAML þ OIL does not allow web service flows, web service profiles and grounding information are represented as a sort of DAML-S formatted ontologies in this paper. DAML-S is a DAML-based markup language for service description such as the properties and capabilities of web services in explicit and computer interpretable form. Moreover, DAML-S file so that it may openly reused. DAML-S provides a declarative representation of web service and user constraint knowledge. The service finder embeds a CBR capability to find an appropriate plan quickly instead of finding it from scratch, which is typically very time consuming. Successful usage experiences of web services are stored as cases, each of which is a set of case features and results. The service planner gets a recommended plan from the service finder with its estimated similarity indicator. If the similarity is good enough to use directly, then the Service planner passes the case over to the service executor. Otherwise, the Service planner looks up the service registry and retrieves web service profiles to make a composed plan. Nowadays, UDDI is prevailing as a web service directory. If a web service comes in, it begins to work by publishing itself to the registry.
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
379
Fig. 2. Meta Web Service.
As a last step, the service executor executes web services and delivers a solution to the client. This automatic web service execution is crucial for providing seamless service, i.e. the user does not need to know how the web services are retrieved and interconnected internally. The user only cares the location of Meta Web Service, problem statement, and type of output solution as follows String urlString ¼ URI_of_Meta_seb_service; Call c ¼ new Call(); c.setTargetObjectURI(“urn:service_name”); c.setMethodName(service_method_name); Vector v ¼ new Vector(); v.addElement(new Parameter( parameters)); 3.2. Case-based reasoning in service finder As time passes, accordingly the number of web services is dramatically increasing, and users may spend more effort to keep up with new or relevant things. However, if the user has no choice but to collect information from scratch, it would be quite costly. Hence, in this case, a fast reasoning method such as case-based reasoning could be very helpful. The basic principle of case-based reasoning is “similar problems lead to similar outcomes.”
However, we are concerned with the scenario when cases are interdependent, especially functionally dependent on each other, that conventional case-based reasoning might not recommend the most similar case. Therefore, we will focus on how to find the most similar case among the cases, which have functional dependencies. For example, let us give a case table like Table 1. Now suppose there are five cases (Case #1– #5) with seven fields, six features and one result. Also suppose that a user wants to find a solution with using input parameters (Yes, Yes, Yes, Yes, No, No). Using simple similarity check, Case #5 will be selected (5/6 ¼ 83.3%), and will return Solution #3 as the recommended solution. Or if a user wants only exact match, the CBR will answer that no cases are found. However, if we carefully review the table, some dependencies will be discovered: the solution of Case #1 is Feature #3, which is an input parameter of Case #3, and the solution of Case #3 is an input parameter of Case #4, which will recommend Solution #2. If we compose the three cases, the input parameter will be (Yes, Yes, Yes, Yes, No, No), which is 100% match to the user’s inquiry, and will return Solution #2 to the user. This kind of phenomenon will frequently happen when applying case-based reasoning to web service composition
Table 1 Example cases Cases
Feature #1
Feature #2
Feature #3
Feature #4
Feature #5
Feature #6
Result
Case #1 Case #2 Case #3 Case #4 Case #5
Yes Yes No No No
Yes No No No Yes
No Yes Yes No Yes
No No No Yes Yes
No Yes No No No
No Yes No No No
Feature #3 Solution #1 Feature #4 Solution #2 Solution #3
380
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
Table 2 Pre-processed cases Cases
Feature #1
Feature #2
Feature #3
Feature #4
Feature #5
Feature #6
Case #1 Case #2 Case #3 Case #4 Case #5
21 21 0 0 0
21 0 0 0 21
1 21 21 0 21
0 0 1 21 21
0 21 0 0 0
0 21 0 0 0
and execution. Web service is like a set of pre- and postconditions, which will be regarded as inputs and outputs. As a result, some additional mechanism to detect the inner dependencies within cases is needed on top of the conventional simple case based reasoning. The sequence of reasoning using case base with functional dependencies is proposed as follows: Step 1: Set input parameters, output parameters to 2 1 and 1, respectively. Otherwise, the value is set to 0 as Table 2. Step 2: While (not end of case) do: Read current case. Foe each feature which value is 1 in the current case, find the other cases that have the feature which value is 2 1. If found, store the case in memory, otherwise forget. Go to next case. End While
If at lease one input parameter value is 2 1, the parameter value is set to 2 1. Else if all input parameter values are 0, the parameter value is set to 0. Go to next input parameter. End Until Go to next case End Until Step 4: Add newly composed cases to the current case base. In the example, four cases are temporarily added to the original cases such as Table 3. Now when the user wants to find the most similar to (Yes, Yes, Yes, Yes, No, No), the similarity of each case will be: Similarity Similarity Similarity Similarity Similarity Similarity Similarity Similarity Similarity
of Case of Case of Case of Case of Case of Case of Case of Case of Case
#1 ¼ 67%, #2 ¼ 33%, #3 ¼ 50%, #4 ¼ 50%, #5 ¼ 83%, #1&2 ¼ 50%, #1&3 ¼ 83%, #3&4 ¼ 67%, #1&3&4 ¼ 100%,
As a result, the case-based reasoning system will select Case #1&3&4 and return it to the user as the most similar case. 3.3. Service planner The features of the service planner are as follows:
Step 3: Look up the memory. Until (no case remained) do // Generate new composite case with two or more cases Until (no input parameter remained) do // For each input parameter
† Discover the URIs of web service profiles from the registry † Access web service profiles according to the URIs † Produce a dynamic transition-matrix by using input and output parameters, † Provide web services invocation plan and deliver it to the service executor.
Table 3 Augmented cases Cases
Feature #1
Feature #2
Feature #3
Feature #4
Feature #5
Feature #6
Result
Case #1 Case #2 Case #3 Case #4 Case #5 Case #1&2 Case #1&3 Case #3&4 Case #1&3&4
21 21 0 0 0 21 21 0 21
21 0 0 0 21 21 21 0 21
1 21 21 0 21 21 21 21 21
0 0 1 21 21 0 1 21 21
0 21 0 0 0 21 0 0 0
0 21 0 0 0 21 0 0 0
Feature #3 Solution #1 Feature #4 Solution #2 Solution #3 Solution #1 Feature #4 Solution #2 Solution #2
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
The service registry is used to discover the service profiles of federating web services. The publishing information includes the URI of the web service and interfaces. After visiting the registry, the service planner can access the URIs and get service profiles and grounding information using HTTP protocol. The inquiry API provided by UDDI consists of two types of calls that let a program quickly find decision modules. First, ‘find_xx’ enables a client to pose a variety of search criteria on the registration data. Once a web service is identified as relevant, the ‘get_xx’ APIs are used to retrieve a particular structure from the UDDI registry. As web interactions become more complex, having one server provide a total solution will become increasingly difficult. This fact requires web service composition: retrieving web services sequentially and conforming them into one seamless service. As the service is regarded as a black box interfacing with input and output ports, the composition will be like a kind of pipe integration, one of the model integration methods in model management area (Dolk & Kottemann, 1993). The pipe integration is an integration method by linking an input node of a web service with an output node of another web service. If an input node can be linked with an output node, the input value is derived from the web service that has the output node. If there is no output node that matches to the input node, the node value will be received externally. Finally, the input/output connection makes a composed web service that looks like a Petri net as shown in Fig. 3. In the figure, there are four models, each of which has its own hypothesis that is represented as a transition. The input and output variables are places. There are four tokens in the leaf modes. The Petri net can be easily derived from a transition-matrix operationmatrix operation as follows (Table 4). The transition-matrix is a set of 2 1, 1, and 0s, which indicates input, output, and N.A., respectively. Decompositions show, among other things, the control structure
381
Table 4 Example transition-matrix of Fig. 3
Var Var Var Var Var Var Var Var
1 2 3 4 5 6 7 8
Model 1
Model 2
Model 3
Model 4
0 21 21 0 1 0 0 0
21 0 0 0 21 1 0 0
0 0 0 21 0 0 1 0
0 0 0 0 0 21 21 1
associated with a composition of processes and the input – output data of the composition. Sometimes the operations of a composite service used to be expressed as a composition of operations of the web services using state charts (Benatallah, Dumas, Sheng, & Ngu, 2002; Harel & Naamad, 1996). 3.4. Service executor The features of the service planner are as follows: † Receive invocation plan from service planner † Sequentially discover the web services according to the plan † Receive output values and send them to the next web service as input values † Send the output solution to the user The service executor is supposed to perform a variety of decision-making modes. In general, the decision-making activity involves what-if (or sensitivity) analysis, goalseeking analysis, optimization, simulation, forecasting, and reasoning. The details on this functionality will be partially described in Section 4. When an output solution is acquired through the execution, it is then delivered to the client’s graphic user interface.
4. Application: research web service
Fig. 3. Petri net representation of composed web service.
Currently researchers have invested significant efforts in producing new research materials. The efforts generally include a literature survey: analyzing what has been done so far relating to the main theme of his or her current research. For example, suppose that a researcher of organizational behavior wants to figure out which factors affect a worker’s performance in a workplace. Then he or she probably uses a physical library or various Internet sites including journal access services using keywords. By trial and errors some papers that might be useful to the researcher’s question are found. To understand the materials in-depth, the researcher has to get the paper through copying, printing, or at best browsing the file using a specific browser. Then he or she
382
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
will carefully read the paper and try to figure out if it is really useful and how the findings can be related to the researcher’s research. Then the paper will be adopted as a reference, or discarded. At last, if a sufficient number of papers are eventually found, then the researcher may compose the found papers to make a meaning set of concepts or research model. A series of these activities is very knowledge-intensive and hence very costly. The main difficulties are caused by the fact that current techniques for knowledge retrieval are very cumbersome, unreliable and hence unsuccessful. The research papers are stored in the traditional way of text on paper as natural language texts in electronic form (e.g. Latex, PDF, postscript, HTML, presentation file), as formal texts (wellformed formulae in some logic) in electronic form, or as executable code, e.g. mathematical software systems and/or specifications of certain algorithms, etc. The formats, however, are not computer understandable. Hence, we cannot answer the useful questions directly such as What-if (“if X happens then how Y will be?”) and Goal-seeking (“to make Y, how should X be?”), etc. This application proposes a machine-readable research model description for intelligent research support. By adopting the approach of a Meta Web Service, terminology and service profile ontologies are applied to conceptualize models and increase the reusability. The use of ontologies enables sharing of common concepts, the specialization of these concepts and vocabulary for reuse across multiple applications, and the mapping of concepts, between different ontologies (Macllraith, Son, & Zeng, 2001). 4.1. Service description In the application, findings in research papers are transformed into a specific machine-understandable form, which will be used by web services. The research model, hypothesis, and variable are selected as core terms with the following fundamental relationships: Research model is a set of tested Hypotheses. Hypothesis consists of Variables. First, a description of the properties and functional attributes of variables that appear in the Research Web Service are listed in Table 5. An example of variable, ‘jobPerformance’, is described as follows: VARIABLE VariableName ¼ “jobperformance” VariableDefinition ¼ “combination of perceptual and objective job performance” Temporality ¼ none Dynamics ¼ static VariableDomain ¼ interval VariableRange ¼ “7Likert”
Table 5 Description properties of variables Variable name Variable definition Temporality
Dynamics
Variable domain Variable range Variable description
The name of the variable The definition of the variable Three types: none, at-time, duration, where none denotes a variable with no temporality, at-time denotes a variable with a fixed point of time, and duration is a variable with interval time Three types: static, dynamic, ext_input. Where static means value of a variable exists in data repository, dynamic denotes a value deduced from a sort of function of other variables, ext_input denotes a value given by external user Four types: nominal, ordinal, interval, ratio The range of the variable: e.g. Likert 5 scale A brief human readable description of the variable
VariableDescription ¼ “” END_VARIABLE Secondly, a hypothesis is a description of how a set of independent and dependent variables are related to each other. In this paper, we will focus only on causal-effect form of a hypothesis. In the case of casual models, the relationship is represented as causality with significant level, if any. The hypothesis also may have some assumptions, pre- and post-assumptions. The description of the properties of hypothesis is addressed in Table 6. For example, a hypothesis which name is ‘organizationalSkill_jobPerformance’ is described as follows: HYPOTHESIS HypoethsisName ¼ “ organizationalSkill_jobPerformance” IndependentVariable ¼ { organizationalSkilldeficiency, organizationalSkillsurplus} DependentVariable ¼ “jobPerformance” Causality ¼ {(2 0.368,0.01}, {2 0.312,0.1}}
Table 6 Description properties of hypotheses Hypothesis name Independent variable Dependent variable Casuality
Pre-assumption Post-assumption
The name of the hypothesis The name of the independent variable The name of the dependent variable Four types: (yes, significant level), no, unknown, (value, significant level) Where yes denotes the hypothesis’s causality is proven but coefficient value is not known, no denotes the hypothesis is not supported, unknown denotes no prove has not performed yet, and value denotes the value of causality A set of assumptions of the independent variable part of hypothesis A set of assumption of the dependent variable part of hypothesis
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
383
Pre-Assumption ¼ {IndependentVariable.type ¼ “ Perceived”, Sample ¼ “WebMasters, 2002”} Post-Assumption ¼ null END_HYPOTHESIS Lastly, a research model is represented as a set of hypotheses. The important characteristics of the research model such as authors and sources are represented as properties. Table 7 shows the description of the properties of the research models. Note that we have considered only causal models, even though adding some more features could extend this. The following shows an example research model, ‘JobSkill_Performance’ done by Wade and Parent (2002). Fig. 4. Service representation.
Research model Modelname ¼ “JobSkill_Performance” Hypotheses ¼ {organizationalSkill_jobPerformance, technicalSkill_jobPerformance} Author ¼ {Michael R. Wade, Michael Parent} Source ¼ {Relationships Between Job Skills and Performance: A Study of Webmasters, Journal of Management Information Systems, 18 (3), 2002, 71– 96”} Description ¼ “The main purpose of this study is to determine the mix of organizational and technical skills demanded of Webmasters, and the degree to which those skills influence job performance.” END_MODEL The overall process of representing research sources from resource sources is shown in Fig. 4. Let us suppose that the original research articles, which are formatted as postscript, pdf, image, or word files, are available on the Internet. Then the research source is transformed and divided into research model, hypotheses, and variables. The relationships among them can be represented as a directed graph. So far it may not be possible to automatically transform the article into a network model, hence, we can assume that a knowledge engineer can acquire the structure and semantics of the article with the help of domain experts or authors. The networked model then can be systematically mapped to an ontology file. Then the Java program of the web service on this networked model is made and registered in the service registry.
Table 7 Description properties of research models Research model Hypotheses Authors Source Description
The name of the research model The name of the hypotheses The name of authors The references or URIs A brief human readable description of the variable
Authoring a service ontology mainly consists of individual program description and service grounding description, especially service grounding on hypothesis. 4.1.1. Step 1: describe service profile The first step in marking up a web service is to describe the individual service profile. It is the process model that provides a declarative description of a program’s properties. The process model conceives each program as either an atomic process, or as a simple or composite process. A nondecomposable Web-accessible program is described as an atomic process in DAML-S. An atomic process is characterized by its ability to be executed by a single (e.g. http) call that returns a response. The mapping from the research model to DAML-S profile is listed in Table 8. Since there may exist one or more hypotheses in one paper, a research paper is recognized as an atomic process or composite process. For example, ‘JobSkill_Performance’ denotes a paper to determine the degree to which organizational and technical skills influence job performance. kdaml:Class rdf:ID ¼ “JobSkill_Performance”l krdfs:subClassOf rdf:resource ¼ “& process;#AtomicProcess”/l k/daml:Classl krdf:Property rdf:ID ¼ “OrganizationalSkills”l krdfs:subPropertyOf rdf:resource ¼ “& process;#input”/l krdfs:domain rdf:resource ¼ “#Ordinary”/l krdfs:range rdf:resource ¼ “&xsd;#5LikertScale”/l k/rdf:Propertyl A detailed DAML-S file for a web service profile is shown in Appendix A. The designation of inputs and outputs enables the programs/services that we are describing in DAML-S to be used for automated web service invocation. In order to enable the programs/services to be
384
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
Table 8 Mapping from research model to DAML-S service profile Research model Author name Source Reference Quality Rating Hypothesis name
DAML-S process Provided by PhysicalAddress QualityGuarantees QualityRating Service Name
Hypothesis type
ServiceType
Description
textDescription
Independent variable
Input
Dependent variable
Output
Causality
If-Then-Else
Assumption name
Condition name
Pre-assumption
Precondition
Post-assumption
Effect
Descriptions
Statement
Significance Variable name
DegreeOfQuality Parameter name
Temporality
Restricted to
Dynamics Variable domain Variable range
used for automated service composition, we must additionally describe the side effects of the programs, if any exist. To this end, me must describe the pre-condition and (conditional) effect properties of our program. They are described analogously to inputs and outputs. 4.1.2. Step 2: describe the grounding for each hypothesis The grounding for each hypothesis, which is an atomic process in DAML-S, is then described. kdaml:Class rdf:about ¼ “ organizationalSkills_jobPerformance”l kdaml:sameClassAsl kdaml:Restriction daml:cardinality ¼ “1”l kdaml:onProperty rdf:resource ¼ “# hasGrounding”/l kdaml:hasValue rdf:resource ¼ “# organizationalSkills_jobPerformanceGrounding”/l k/daml:Restrictionl k/daml:sameClassAsl k/daml:Classl kgrounding:WsdlGrounding rdf:ID ¼ “ organizationalSkills_jobPerformanceGrounding”l kgrounding:wsdlReference rdf:resource ¼ “http:// www.w3.org/TR/2001/NOTE-wsdl-20010315”l
··· kgrounding:wsdlDocuments rdf:parseType ¼ “ daml:collection”l “http://example.com/performance/performance.wsdl” k/grounding:wsdlDocumentsl kgrounding:wsdlOperation rdf:resource ¼ “http://example.com//skill2performance.wsdl#Reasoning”/l kgrounding:wsdlInputMessage rdf:resource ¼ “http://example.com//skill2performance.wsdl#SkillInput”/l kgrounding:wsdlInputMessageParts rdf:parseType ¼ “daml:collection”l kgrounding:wsdlMessageMapl kgrounding:damlsParameter rdf:resource ¼ # DegreeofSkilll kgrounding:wsdlMessagePart rdf:resource ¼ “http://example.com//skill2performance.wsdl#DegreeofSkil”l k/grounding:wsdlMessageMapl …other message map elements… k/grounding:wsdlInputMessagePartsl kgrounding:wsdlOutputMessage rdf:resource ¼ “http://example.com/locatebook.wsdl#SkillOutput”/l kgrounding:wsdlOutputMessageParts rdf:parseType ¼ “daml:collection”l …similar to wsdlInputMessageParts … k/grounding:wsdlOutputMessagePartsl kgrounding:WsdlGroundingl 4.2. Implementation We have implemented a prototype of a Research Web Service. We adopted with Java under JDK 1.3.1 and experimented on several networked PC platforms. We adopted Windows 2000 as a server operating system. The case base and other data tables are made in Microsoft Access 2000 and linked with ODBC/JDBC connections. The ontology of the model schema and instances are formatted as DAML þ OIL and DAML-S. Jena API is used in our Java program to get classes and instances by parsing the DAML ontology files. Jena is a Java API for manipulating not only RDF models, but also DAML series models. So far, however, Jena API does not directly handle DAML-S. Therefore, some updates are needed to make use of Jena API. As shown in Fig. 5, there are five menus: get model, clear, CBR, goal seeking analysis, and sensitive analysis. The ‘Get model’ menu lets the user seek URIs of research resources, which are called models in this paper, on the Internet. Then the DAML-S file in the URI are imported and parsed so that the user can review the paper. The ‘Clear’ menu erases all data imported and displayed on the screen and also computer memory.
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
Fig. 5. Prototype of Research Web Service (I).
Fig. 6. Prototype of Research Web Service (II).
385
386
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
The ‘CBR’ menu finds the most similar case among the cases in the case base according to the user’s describing features. After typing input parameters and its values, if any, on the screen, the prototype runs the case base using the algorithm proposed in this paper and finally suggest a use case using a dialog box. If the user accepts it, then the prototype shows the research source by opening a web browser, as shown in the right window in Fig. 6. The prototype allows two kinds of causal analysis: goal seeking and sensitive analysis. When clicking the goal seeking analysis button, the prototype seeks a DAML þ OIL formatted ontology to understand the parameter that the user typed. Then URIs are visited to get service profiles. In the middle of service composition, the prototype pops up windows if any assumptions are detected. By the user’s confirmation, the composition process resumes. The lower window shows the reasoning process of the prototype. Sensitivity analysis, also called scenario analysis, starts by getting an input parameter name and its value. The reasoning procedure of sensitivity analysis is quite similar to that of goal seeking analysis, except the fact that the direction of reasoning is opposite to each other. The highest text window in the left hand side shows the list of models with the URL address of the source found and used in the web service composition. Each URL can be used to open the source with a web browser, which is shown in the window of right hand side. The middle window on the right hand side shows the result of the composed web service. For example, if ‘Firm performance’ is increased, ‘EDI penetration’ will be increased, etc. The lower window of the left hand side shows the model information involved.
5. Conclusion Conventional web technologies have made DSS to be openly used on the Internet, in spite of some limitations such as pre-defined specific input and output formats, and lack of machine-understandable semantics in the current web pages. Fortunately, currently emerging technologies give us a clue to resolve these limitations. Among those technologies, semantic web and web service are promising for web-based open DSS and hence have been adopted in this paper. The semantic web is one of the useful ways to declare taxonomy with its semantics and to share it with webaccessing applications. In our Research Web Service prototype, the interfaces of decision modules such as input and output variables with their assumptions were well understandable. A decision module is seen as a web service in this paper. Even though we did not fully implement the detailed computational logic for each web service,
the interface could be much easier using web service protocol like SOAP. Meta Web Services have adopted these two technologies to support a part of the web service life cycle: the USE step, which includes service finding, planning and executing web services. The decision modules often cooperate with one another to yield a solution on behalf of the user. This kind of composition is quite knowledgeintensive and hence is very costly to find some suitable web services from scratch and compose them in an integrated manner. Past experiences of successful composition deserve to be stored somewhere. This thought has brought us to consider case-based reasoning. However, a common case-based reasoning method hardly makes a new composition of cases stored in the case base. To resolve this problem, we have developed a specific case-based reasoning by adopting Petri net’s transition matrix operation concepts. As a result, a Meta Web Service could find a best case among the past cases and newly composed cases from the past cases in more efficiently than just referring all service profiles of the federating web services. This functionality is expected to resolve the scalability to some extent when the number of federating web services are large enough. We have designed and prototyped a Meta Web Service, Research Web Service, using open DSS concepts. Our prototype has provided some basic mechanisms for decision-making (goal seeking analysis, sensitivity analysis, and case-based reasoning) and browsing web sources (digitized research articles, service profiles). The prototype is more than just a simple information retrieval system: the system not only supports a user to simply retrieve research sources from web sites, but also provides richer semantics such as causality and some information to be aware of. Although our prototype does not precisely reflect real-world situations, the results of our work reveal that there is a good chance of success in using web service architecture for realizing web-based open DSS and delivering the idea of the Meta Web Service.
Appendix. DAML-S file for a web service profile k?xml version ¼ “1.0” encoding ¼ “ISO-8859-1” ?l k!DOCTYPE uridef (View Source for full doctype…)l -k!– This document uses entity types as a shorthand for URIs. Download the source for a version with unexpanded entities. –l -krdf:RDF xmlns:rdf ¼ “http://www.w3.org/1999/02/ 22-rdf-syntax-ns#” xmlns:rdfs ¼ “http://www.w3.org/2000/01/ rdf-schema#” xmlns:daml ¼ “http://www.daml.org/2001/03/daml þ
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
oil#” xmlns:service ¼ “http://www.daml.org/services/daml-s/ 2001/10/Service#” xmlns:process ¼ “http://www.daml.org/services/daml-s/ 2001/10/Process#” xmlns:profile ¼ “http://www.daml.org/services/daml-s/ 2001/10/Profile#” xmlns:congo ¼ “http://www.daml.org/services/daml-s/ 2001/10/Congo.daml#” xmlns:xsd ¼ “http://www.w3.org/2000/10/ XMLSchema.xsd#” xmlns ¼ “http://www.daml.org/ services/daml-s/2001/10/CongoProfile.daml#”l -kdaml:Ontology about ¼ “”l kdaml:versionInfol$Id: organizationalSkilldeficiency_jobPerformance.daml,v 1.0 2002/06/06 07:02:42 martin Exp $k/daml:versionInfol krdfs:commentl organizationalSkilldeficiency_jobPerformance Example for DAML-S release 0.6, 15th Sept 2001 Profile descriptionk/rdfs:commentl kdaml:imports rdf:resource ¼ “http://www.w3.org/1999/ 02/22-rdf-syntax-ns”/l kdaml:imports rdf:resource ¼ “http://www.w3.org/2000/ 01/rdf-schema”/l kdaml:imports rdf:resource ¼ “http://www.daml.org/ 2001/03/daml þ oil”/l kdaml:imports rdf:resource ¼ “http://www.daml.org/ services/daml-s/2001/10/Service”/l kdaml:imports rdf:resource ¼ “http://www.daml.org/ services/daml-s/2001/10/Process”/l kdaml:imports rdf:resource ¼ “http://www.daml.org/ services/daml-s/2001/10/Profile”/l kdaml:imports rdf:resource ¼ “http://www.daml.org/ services/daml-s/2001/10/Congo.daml”/l kdaml:imports rdf:resource ¼ “http://www.daml.ri.cmu. edu/ont/DAML-S/concepts.daml”/l kdaml:imports rdf:resource ¼ “http://www.ai.sri.com/ daml/ontologies/sri-basic/1-0/Time.daml”/l k/daml:Ontologyl -k! – ################################################################### –l -k! –# Instance Definition of Research Model Agent Advertisement # –l -k! – ################################################################### –l -kservice:ServiceProfile rdf:ID ¼ “ Profile_organizationalSkilldeficiency_jobPerformance“l kservice:isPresentedBy rdf:resource ¼ “http://www. daml.org/services/daml-s/2001/10/Congo.daml#Congo_BookBuying_Agent”/l kprofile:serviceNamelResearch_Agentk/profile:serviceNamel
387
kprofile:textDescriptionlThis agentified service provides the opportunity to show how a perceived organizational skill deficiency affects job performance k/profile:textDescriptionl -kprofile:providedByl -kprofile:ServiceProvider rdf:ID ¼ “Michael R. Wade and Michael Parent”l kprofile:namelorganizationalSkilldeficiency_jobPerformance k/profile:namel kprofile:phonel412 268 1304k/profile:phonel kprofile:faxl412 268 5569k/profile:faxl kprofile:
[email protected]/profile:emaill kprofile:physicalAddresslsomewhere 2, OnWeb, Montana 52321, USAk/profile:physicalAddressl kprofile:webURLlhttp://salt.handong.edu/~kobk/profile.webURLl k/profile:ServiceProviderl k/profile:providedByl kprofile:geographicRadius rdf:resource ¼ “http://www. daml.ri.cmu.edu/ont/Country.daml#UnitedStates”/l kprofile:qualityRating rdf:resource ¼ “http://www.daml. ri.cmu.edu/ont/DAML-S/concepts.daml#qualityRatingGood”/l kprofile:has_process rdf:resource ¼ “http://www.daml. org/services/daml-s/2001/10/Congo.daml#CongoBuy”/l -kinputl -kprofile:ParameterDescription rdf:ID ¼ “ organizationalSkilldeficiency”l kprofile:parameterNamel organizationalSkilldeficiency k/profile:parameterNamel kprofile:restrictedTo rdf:resource ¼ “http://www.w3. org/2000/10/XMLSchema.xsd#string”/l kprofile:refersTo rdf:resource ¼ “http://www.daml.org/ services/daml-s/2001/10/Congo.daml#bookName”/l k/profile:ParameterDescriptionl k/inputl
-koutputl -kprofile:ParameterDescription rdf:ID ¼ “ jobPerformance”l kprofile:parameterNameljobPerformancek/profile:parameterNamel kprofile:restrictedTo rdf:resource ¼ “http://www.daml. org/services/daml-s/2001/10/Congo.daml#EReceipt”/l kprofile:refersTo rdf:resource ¼ “http://www.daml.org/ services/daml-s/2001/10/Congo.daml#congoBuyReceipt”/l k/profile:ParameterDescriptionl k/outputl -k!–Pre-conditions –l -kpreconditionl -kprofile:ConditionDescription rdf:ID ¼ “ WebMasterCase”l
388
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389
kprofile:conditionNamel WebMasterCase k/profile:conditionNamel kprofile:statement rdf:resource ¼ “http://www.daml.org/ services/daml-s/2001/10/Congo.daml#AcctExists”/l kprofile:refersTo rdf:resource ¼ “http://www.daml.org/ services/daml-s/2001/10/Congo.daml#congoBuyAcctExistsPrecondition”/l k/profile:ConditionDescriptionl k/preconditionl -keffectl -kprofile:ConditionDescription rdf:ID ¼ “ MeasureByNelsol”l//measures are based on Nelson’s instrument kprofile:conditionNamel MeasureByNelsol k/profile:conditionNamel kprofile:statement rdf:resource ¼ “http://www.daml.org/ services/daml-s/2001/10/Congo.daml#BuyEffectType”/l kprofile:refersTo rdf:resource ¼ “http://www.daml.org/ services/daml-s/2001/10/Congo.daml#congoBuyEffect”/l k/profile:ConditionDescriptionl k/effectl k/service:ServiceProfilel k/rdf:RDFl
References Agor, W. H. (1984). Intuitive management: Integrating left and right management skills. New Jersey: Prentice-Hall. Alphablox (2002). http://www.alphablox.com/. Avila-Rosas, A., Moreau, L., Dialani, V., Miles, S., & Liu, X (2002). Agents for the grid: A comparison with web services (Part II: service discovery). First International Workshop on Challenges in Open Agent Systems, AAMAS’02, Bolona. Babichev, A. B., Kadyrova, O. B., Kashevarova, T. P., Leshchenko, A. S., & Semenov, A. L. (1993). UniCalc, a novel approach to solving systems of algebraic equations. Interval Computations, 3(2), 29–47. Benatallah, B., Dumas, M., Sheng, Q. Z., & Ngu, A. H. H (2002). Declarative composition and peer-to-peer provisioning of dynamic web services. Proceedings of the 18th International Conference on Data Engineering (pp. 297 –308). Bieber, M. (1995). International conference on multimedia into decision support and other information systems. Decision Support Systems, 14, 251– 267. Buhler, P. A., & Vidal, J. M (2002). Towards the synthesis of web services and agent behaviors, Proceedings of the First International Workshop on Challenges in Open Agent Systems, AAMAS’02, Bolona, 2002. Burg, B (2001). Agents in the world of active web-services, Second Kyoto Meeting on Digital Cities. Clark, M. (2001). The birth of the UDDI value added service supplier. Web Service Architect. Clark, D. (2002). Next-generation web services. IEEE Internet Computing, 6(2), 12–14. Comshare (2002). http://www.comshare.com/. Conklin, E. J. (1987). Hypertext: a survey and information. IEEE Computer, 20(9), 14–17.
Dolk, D. R., & Kottemann, J. E. (1993). Model integration and a theory of models. Decision Support Systems, 9(1), 51– 63. DSS Resources (2002). http://dssresources.com/dss/online.html. Edwards, K. (2001). Core jini. New Jersey: Prentice-Hall. Evans, W. A., Hau, K. C., & Sculli, D. (1989). A cross cultural comparison of managerial styles. Journal of Management Development, 8, 5–13. Ghandeharizadeh, S., Sommers, F., Kuntal, J., & Alwagait, E (2002). A document as a web service: two complementary frameworks. Second International Workshop on Multimedia Data Document Engineering (MDDE’02), Prague, Czech Republic. Goul, M., Philippakis, A., Kiang, M., Fernandes, D., & Otondo, R. (1997). Requirements for the design of a protocol suite to automate DSS deployment on the World Wide Web: a client/server approach. Decision Support Systems, 19(3), 151– 170. Gregg, D. G., & Goul, M. (1999). A proposal for and open DSSprotocol. Communications of the ACM, 42(11), 91–96. Gregg, D. G., Goul, M., & Philippakis, A. (2002). Distributing decision support systems on the WWW: the verification of a DSS metadata model. Decision Support Systems, 32, 233–245. Harel, D., & Naamad, A. (1996). The STALEMATE semantics of statecharts. ACM Transactions on Software Engineering and Methodology, 5(4), 293–333. Hatcher, M. (1995). A tool kit for multimedia supported group/ organizational decision systems (MSGDS). Decision Support Systems, 15, 211–217. Hiron (2002). http://www.hiron.ru/bin/VasBoNG.dll Hofstede, G. (1980). Cultural consequences: International differences in work-related values. Beverly Hills: Sage. Huhns, M. N. (2002). Agents as web services. IEEE Internet Computing, 6(4), 93– 95. Huser, C., Reichenberger, K., Rosek, L., & Streitz, N. (1995). Knowledgebased editing and visualization for hypermedia encyclopedias. Communications of the ACM, 38(4), 49–51. Internetivity (2002). http://www.internetivity.com/. Kahn, P. (1995). Visual cues for local and global coherence in the WWW. Communication of the ACM, 38(8), 58–75. Kendall, J. E., Kendall, K. E., Baskerville, R. L., & Barns, R. J. (1996). An empirical comparison of a hypertext-based systems analysis case with conventional cases and roles playing. Data Base, 27(1), 58–75. Kuno, H., & Sahai, A (2002). My agent wants to talk to your service: personalizing web services through agents. Proceedings of the First International Workshop on Challenges in Open Agent Systems, Bolona. Macllraith, S. A., Son, T. C., & Zeng, H (2001). Mobilizing the semantic web with DAML-enabled web services, Proceedings of the Second International Workshop Semantic Web. Madsen, C. M. (1989). Approaching group communication by means of an office building metaphor. First European Conference on ComputerSupported Cooperative Work, 449–460. Microstrategy (2002). http://www.microstrategy.com/. Miettinen, K., & Ma¨kela¨, M. M. (2000). Interactive multiobjective optimization system WWWNIMBUS on the Internet. Computers and Operations Research, 27(7/8), 709–723. Ramesh, B., & Sengupta, K. (1995). Multimedia in a design rationale decision support system. Decision Support Systems, 15, 181 –196. Resnick, P., & Miller, J. (1996). PICS: Internet access control without censorship. Communications of the ACM, 39(10), 87 –93. Simon, H. (1967). Motivational and emotional controls of cognition. New Haven, CT: Yale University Press, Reprinted in Models of thought, pp. 29 –38. Speedware (2002). http://www.speedware.com/. Tawarmalani, M., & Sahinidis, N. V. (1999). Global optimization of mixedinteger nonlinear programs: A theoretical and computational study. Urbana-Champaign: University of Illinois, http://archimedes.scs.uiuc. edu/papers/comp.pdf.
O.B. Kwon / Expert Systems with Applications 24 (2003) 375–389 UDDI community (2001). UDDI Version 2.0 Data Structure Specification, UDDI Organization. UDDI Community (2001). UDDI Version 2.0 Programmer’s API Specification, UDDI Organization. Vaughan-Nichols, S. J. (2002). Web services: beyond the hype. Computer, 35(2), 18–21.
389
Wade, M. R., & Parent, M. (2002). Relationships between job skills and performance: a study of webmasters. Journal of Management Information Systems, 18(3), 71–96. Youn, C., Mock, S., Mueller, K., Pierce, M., Fox, G., & Thomas, M. (2002). A batch script generator web service for computational portals. Proceedings of the High Performance Distributed Computing, 421–421.