KR20080100931A - Method of semantic web service discovery using process-based ontology - Google Patents

Method of semantic web service discovery using process-based ontology Download PDF

Info

Publication number
KR20080100931A
KR20080100931A KR1020070046987A KR20070046987A KR20080100931A KR 20080100931 A KR20080100931 A KR 20080100931A KR 1020070046987 A KR1020070046987 A KR 1020070046987A KR 20070046987 A KR20070046987 A KR 20070046987A KR 20080100931 A KR20080100931 A KR 20080100931A
Authority
KR
South Korea
Prior art keywords
concept
matchmaking
name
concepts
web service
Prior art date
Application number
KR1020070046987A
Other languages
Korean (ko)
Other versions
KR100878157B1 (en
Inventor
이규철
유정연
Original Assignee
충남대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충남대학교산학협력단 filed Critical 충남대학교산학협력단
Priority to KR1020070046987A priority Critical patent/KR100878157B1/en
Publication of KR20080100931A publication Critical patent/KR20080100931A/en
Application granted granted Critical
Publication of KR100878157B1 publication Critical patent/KR100878157B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology

Abstract

An intelligent web service detection method using the process information enhancing the accuracy rate and the recall factor of the service discovery is provided to take the process match making method for being satisfied with the query of user based on the process base ontology expressing the process information. An intelligent web service detection method using the process information includes the steps of: the process signature match making step(s120) which uses the process base ontology, and calculates the syntactic similarity which is the process name, the input name or the output name and discovers the process; the process structure match making step discovering the upper process including the process having the specific process control structure; the process concept match making step finding the process included in the specific concept.

Description

프로세스 정보를 이용한 지능적 웹 서비스 발견 방법{Method of Semantic Web Service Discovery using Process-based Ontology}Method of Semantic Web Service Discovery using Process-based Ontology

도 1은 본 발명의 발견 방법에 따른 2개의 입력 이름에 대한 유사도 계산 방법을 도시한 예이며,1 is an example illustrating a similarity calculation method for two input names according to the discovery method of the present invention.

도 2는 본 발명의 발견 방법에 따른 프로세스 시그니처 매치메이킹 알고리즘의 일 실시예이며,2 is an embodiment of a process signature matchmaking algorithm according to the discovery method of the present invention,

도 3은 복합 프로세스 형태로 순차 구조를 가지는 프로세스의 일 예이며,3 is an example of a process having a sequential structure in the form of a complex process;

도 4는 복합 프로세스 형태로 병렬 구조를 가지는 프로세스의 일 예이며,4 is an example of a process having a parallel structure in the form of a complex process,

도 5는 복합 프로세스 형태로 선택 구조를 가지는 프로세스의 일 예이며,5 is an example of a process having a selection structure in the form of a complex process;

도 6은 본 발명의 발견 방법에 따른 프로세스 구조 분석 알고리즘의 일 실시예이며,6 is an embodiment of a process structure analysis algorithm according to the discovery method of the present invention,

도 7은 본 발명의 발견 방법에 따른 프로세스 개념 매치메이킹 알고리즘의 일 실시예이며,7 is an embodiment of a process concept matchmaking algorithm according to the discovery method of the present invention,

도 8은 본 발명의 발견 방법에 따른 프로세스 개념 매치메이킹 알고리즘의 다른 일 실시예이다.8 is another embodiment of a process concept matchmaking algorithm according to the discovery method of the present invention.

본 발명은 프로세스 정보를 표현한 프로세스 기반 온톨로지를 기반으로 하여 사용자의 질의에 만족하는 프로세스를 발견하기 위해 프로세스 매치메이킹 방법을 제안한다. 자세하게는 웹 서비스의 발견 방법에 있어, 프로세스 기반 온톨로지를 사용하며, 프로세스 이름, 입력 이름 또는 출력 이름에 대한 구문적인 유사도를 계산하여 프로세스를 발견하는 프로세스 시그니처 매치메이킹 단계; 특정한 프로세스 제어구조를 갖는 프로세스를 포함하는 상위 프로세스를 발견하는 프로세스 구조 매치메이킹 단계; 특정한 개념에 포함되는 프로세스를 찾는 프로세스 개념 매치메이킹 단계를 포함하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법을 제안한다.The present invention proposes a process matchmaking method for finding a process satisfying a user's query based on a process-based ontology representing process information. In detail, a method for discovering a web service, the process signature matching process of using a process-based ontology to find a process by calculating syntactic similarity with respect to a process name, an input name, or an output name; A process structure matchmaking step of finding an upper process including a process having a specific process control structure; The present invention proposes a method of discovering a process-based web service, comprising a process concept matchmaking step of finding a process included in a specific concept.

웹 서비스(web service)란 네트워크(network) 상에서 공동 이용 가능한 기계간에 상호 작용을 제공하기위해 설계된 소프트웨어 시스템이다. 현재까지 가장 광범위하게 쓰이는 웹 서비스의 표준은 서비스의 기술(description)을 위해 WSDL(Web Service Description Language)이 사용되고, 서비스의 발견(discovery)을 위해 UDDI(Universal Description Discovery and Integration)이 사용된다. 서비스 제공자는 WSDL을 이용하여 서비스를 기술하고, UDDI 레지스트리(registry)에 서비스를 등록한다. 서비스 요구자는 UDDI 레지스트리를 통해 원하는 서비스를 검색한다. 그러나 WSDL은 서비스의 구문 정보(syntactic information)만을 기술하고, UDDI는 키워드를 기반으로 키워드와 일치하는 웹 서비스를 검색 제공한다. 초기의 웹 서비스 발견에 있어서 좋은 검색엔진이란 곧 하나의 키워드에 대해 가능한 많은 웹 서비스를 찾아주는 것을 의미했으나, 인터넷 정보량의 기하급수적 팽창에 따라 이러한 키워드 기반의 웹서비스 발견은 오히려 사용자가 원하는 웹 서비스 발견에 있어 걸림돌이 되고 있다. 사용자는 원하는 정보를 찾기 위해 수백 페이지에 달하는 웹 서비스 목록을 일일이 확인하며 스스로 원하는 웹 서비스를 찾아야 했으며, 서비스 제공자는 자동화 되지 못한 서비스의 구축과 유지를 위해 고비용과 많은 시간을 들여야 했다. Web services are software systems designed to provide interaction between machines that are commonly available on a network. The most widely used standards of Web services to date are Web Service Description Language (WSDL) for the description of services and Universal Description Discovery and Integration (UDDI) for the discovery of services. The service provider describes the service using WSDL and registers the service in the UDDI registry. The service requester retrieves the desired service through the UDDI registry. However, WSDL only describes the syntactic information of the service, and UDDI provides search and matching of web services based on keywords. A good search engine for the initial discovery of web services meant finding as many web services as possible for a single keyword. However, with the exponential expansion of the volume of Internet information, such keyword-based web service discovery is rather a user-friendly web service. It is a stumbling block to discovery. Users had to find hundreds of pages of web services in order to find the information they wanted, and they had to find their own web services, and service providers had to spend a lot of time and money to build and maintain unautomated services.

또한 키워드 기반의 웹 서비스 발견은 사용자가 입력한 몇 개의 단어의 조합에 따른 기계적 연산에 의해 정확함이 판별되어 제공되므로, 사용자가 원하는 서비스를 개인적으로 정확한 의미를 갖도록 상세히 표현하는 방법에 있어 한계가 존재한다.In addition, since keyword-based web service discovery is determined and provided by a mechanical operation based on a combination of several words entered by a user, there is a limit in how the user expresses a desired service in detail so as to have a personally accurate meaning. do.

이러한 문제를 해결하고자 2000년에 이르러 시맨틱 웹(semantic web)의 개념이 등장하였다. 시맨틱 웹은 확률과 규칙언어 기반이 아닌 의미기반 검색 기법이다. 의미기반이란 인간의 지적 영역인 지식과 추론 및 해석을 컴퓨터가 이해할 수 있는 개념과 언어로 표현하는 것이다. 따라서 컴퓨터 스스로 웹에 연결된 정보의 의미를 인식하고 의미에 따라 선택적으로 정보를 얻고 통합이나 가공하여 객관적인 의미의 정확한 정보가 아닌 사용자 개인에게 있어서 개인적 의미의 정확한 정보를 제공할 수 있게 한다. In 2000, the concept of the semantic web appeared. The Semantic Web is a semantic based search technique, not based on probability and regular language. The semantic basis is the expression of knowledge, reasoning and interpretation, which are human intellectual domains, with concepts and languages that can be understood by computers. Therefore, the computer recognizes the meaning of the information connected to the web itself, and selectively obtains and integrates or processes the information according to the meaning so that the accurate information of the individual meaning can be provided to the user individual rather than the accurate information of the objective meaning.

시맨틱 웹의 가장 중요한 기술은 온톨로지(ontology)이다. 온톨로지는 개념들, 개념과 개념 사이의 관계를 정의하며, 개념들을 계층적으로 표현하고 이를 확 장하여 추론 규칙을 제공한다. The most important technology of the Semantic Web is ontology. Ontologies define the concepts, the relationships between them, and provide a rule of inference by expressing them in a hierarchical manner.

시맨틱 웹 서비스 발견은 WSMO(Web Service Modeling Ontology)와 OWL-S(OWL-based Web Service Ontology)의 서비스 프로파일(service profile)을 이용하여 검색된다. 서비스 프로파일은 서비스를 발견하기 위해 필요한 정보를 제공하는 온톨로지로, 서비스를 제공하는 사람이나 기관, 서비스의 능력 및 서비스의 특성의 3가지 정보로 구성되어 있다. 서비스의 능력은 정보 변화와 상태 변화를 표현한다. 정보 변화는 실행을 위해 요구되는 정보인 입력(input)과 실행 결과 정보인 출력(output)이다. 상태 변화는 서비스의 성공적인 실행을 위한 조건인 제약(precondition)과 서비스 실행에서 기대되는 결과인 효과(effect)로 나타낸다. 서비스의 특징은 서비스의 분류(classification)나 품질(quality) 등을 이용하여 기술할 수 있다. Semantic web service discovery is retrieved using the service profile of Web Service Modeling Ontology (WSMO) and OWL-based Web Service Ontology (OWL-S). A service profile is an ontology that provides the information needed to discover a service. It consists of three pieces of information: the person or organization that provides the service, the capabilities of the service, and the characteristics of the service. The capabilities of the service represent information changes and state changes. The information change is an input, which is information required for execution, and an output, which is information of execution result. State changes are represented by preconditions, which are conditions for the successful execution of a service, and effects, which are expected results of service execution. The characteristics of a service can be described using a classification or quality of the service.

최근 이뤄지는 시맨틱 웹 서비스 발견 연구는 매치메이커 프로젝트(matchmaker project), METOR-S 프로젝트, WSMO 발견 명세서를 들 수 있다. Recent research on semantic web service discovery includes the matchmaker project, the METOR-S project, and the WSMO discovery specification.

매치메이커 프로젝트에 의한 시맨틱 웹 서비스 발견 연구는 OWL-S의 서비스 프로파일로 정의된 서비스를 OWL-S 매칭 엔진을 이용하여 발견할 뿐만 아니라, UDDI를 이용하여 서비스를 검색한다. OWL-S 매칭 엔진은 서비스 프로파일에 정의된 입력/출력 개념간의 매칭 정도만을 비교하여 서비스를 검색한다. 이 매칭 정도는 4가지의 매칭 알고리즘을 이용하여 정의된다. 출력(output)에 대한 매칭 알고리즘을 일 예로 설명하자면, 사용자가 질의한 출력인 outR과 등록된 서비스의 출력인 outA에 대한 매칭은 outR과 outA가 동일하거나 outR이 outA의 하위클래스에 속할 경우, 정확(exact)하게 매칭된다. 단순히 outA가 outR를 포함할 때는 플러그인(plugIn), 반대의 경우는 포함(subsume)으로 정의하며, 그 외의 경우는 일치하지 않는 것(fail)으로 정의된다.The Semantic Web Service Discovery Study by the Matchmaker Project not only finds the service defined by the service profile of OWL-S using the OWL-S matching engine, but also searches the service using UDDI. The OWL-S matching engine searches for a service by comparing only the degree of matching between the input / output concepts defined in the service profile. This degree of matching is defined using four matching algorithms. As an example, the matching algorithm for output is correct when the user's querying output, outR, and the registered service's output, outA, are the same when outR and outA are the same or outR is a subclass of outA. (exact) matches. It is simply defined as plugIn when outA contains outR, and vice versa as the other, and not otherwise.

METOR-S 프로젝트는 e-워크플로우(e-Workflow)에서 서비스를 추가 시, 서비스를 발견하는 방법에 대한 것으로, OWL-S의 버전 0.7에 정의된 프로파일 온톨로지를 이용하여 서비스를 정의하였다. 이 연구는 서비스 이름, 설명, 입력/출력, QoS(Quality of Service) 정보를 이용하여 서비스를 검색한다. 이 요소들은 3가지 유사도 계산을 통해 서비스 매칭을 수행한다. 즉, 구문 유사도(syntactic similarity), 운영 유사도(operational similarity), 의미 유사도(semantic similarity)이다. 구문 유사도는 서비스 이름과 설명에 대해 구문 매칭을 이용하여 유사도를 구한 것이다. 운영 유사도는 서비스의 QoS 즉, 시간, 비용, 신뢰성을 이용하여 유사도를 계산한다. 의미 유사도는 입력/출력 간의 의미적인 포함 관계 및 구문적인 유사도를 계산하여 구한다. 검색 결과는 사용자가 선택한 유사도 방법을 기준으로 유사도 값이 가장 큰 순서대로 정렬되어 사용자에게 출력된다. The METOR-S project is about discovering services when adding services in an e-workflow. The service is defined using the profile ontology defined in version 0.7 of OWL-S. This research searches for services using service name, description, input / output, and quality of service (QoS) information. These elements perform service matching through three similarity calculations. That is, syntactic similarity, operational similarity, and semantic similarity. Syntax similarity is obtained by using syntax matching for service name and description. Operational similarity is calculated using the QoS of the service, that is, time, cost, and reliability. Semantic similarity is obtained by calculating semantic inclusion and syntactic similarity between input and output. The search results are sorted in order of the largest similarity value based on the similarity method selected by the user and displayed to the user.

WSMO를 이용한 발견 연구는 WSMO 발견 명세서에 정의된 발견 방법을 제외하고는 아직은 구체적으로 개발된 것이 없다. WSMO 발견 명세서에 정의된 발견 방법은 목적 발견, 웹 서비스 발견 및 서비스 발견 방법을 제공한다. 목적 발견은 목적 레파지토리(repository)에서 기존의 정의된 목적들을 찾는 것이다. 즉, 사용자는 자신의 요구 사항과 유사한 목적을 찾아 수정함으로서 재사용하게 된다. 웹 서비스 발견은 자신이 기술한 목적에 맞는 시맨틱 웹 기반의 서비스를 찾는 것을 의 미하며, 서비스 발견은 웹 서비스 발견을 통해 찾은 서비스가 사용자의 요구 사항과 구체적으로 맞는지 체크하는 과정을 의미한다.Discovery studies using WSMO have not yet been specifically developed, with the exception of the discovery methods defined in the WSMO discovery specification. The discovery methods defined in the WSMO discovery specification provide the purpose discovery, web service discovery and service discovery methods. The purpose discovery is to look up existing defined objectives in the objective repository. In other words, the user can find and modify a purpose similar to his or her own requirements and reuse it. Web service discovery refers to finding a semantic web based service that meets the purpose described by the user. Service discovery refers to the process of checking whether a service found through web service discovery specifically meets the user's requirements.

하지만 이러한 시맨틱 웹 서비스 발견 또한 한계를 가지고 있다. However, this semantic web service discovery also has its limitations.

첫 번째 문제점은 서비스의 이름, 입력/출력(input/output), 제약/효과(precondition/effect)의 형식을 이용하여 웹 서비스를 발견하는 시맨틱 웹 서비스 발견은 유사한 클래스에서 동일한 입력 값에 대한 동일한 출력 값이 발생할 경우 사용자가 원하는 정보로 인식하고 해당하는 서비스를 제공하게 된다는 점이다. 전화번호로 책값을 지불할 수 있는 인터넷 서점을 찾고 싶은 사용자의 요구를 언어로 나타낸 쿼리(query 이하 Q)가 "find a book sale service that accepts payment by telephone number" (Q1)일 때 book sale service라는 클래스에서 입력/출력은 telephone number/payment가 된다. 이러한 조건에 의해 발견된 서비스들은 book sale service에서 결제를 위한 로그인(log in)에 있어 아이디(ID)와 비밀번호(password)의 분실 시 그 확인을 위한 프로세스(process)에서 telephone number가 필요한 서비스 1과 book sale service에 있어 결재를 위한 프로세스에서 telephone number가 필요한 서비스 2가 구별되지 않으며, 두 서비스는 동일하게 사용자에게 제공된다. 따라서 웹 서비스의 발견 시 입력/출력(input/output), 제약/효과(precondition/effect)와 더불어 연관된 프로세스를 같이 검색하여 서비스를 검색해야 한다. The first problem is that semantic web service discovery, which discovers web services using the format of the service's name, input / output, and precondition / effect, has the same output for the same input value in a similar class. If a value occurs, the user recognizes it as desired information and provides a corresponding service. The book sale service is a query that asks a user who wants to find an Internet bookstore that can pay for a book by phone number in the language "find a book sale service that accepts payment by telephone number" (Q1). In class, the input / output is telephone number / payment. The services found under these conditions are the service 1 and the telephone number that are required in the process for confirmation when the ID and password are lost in the login for payment in the book sale service. In the book sale service, service 2 that requires a telephone number is not distinguished in the payment process, and both services are provided to the user in the same way. Therefore, when discovering a web service, you need to search for the service by searching for related processes along with input / output and precondition / effect.

두 번째 문제점은 프로세스의 단순 개념만을 검색한다는 점이다. 웹 서비스를 위한 온톨로지 웹 언어(OWL-based web Service, OWL-S)의 프로세스 모델은 프로 세스 온톨로지에 대한 개념과 문법을 제공하지 못하므로 사용자의 쿼리에 의미적으로 연관된 프로세스에 대해서는 검색이 불가능하다.The second problem is that it only retrieves the simple concept of a process. The OWL-based web service (OWL-S) process model does not provide a concept and syntax for process ontology, so it is impossible to search for processes that are semantically related to the user's query. .

세 번째 문제점은 서비스의 수행 과정에 대한 상세 정보를 알 수 없다는 점이다. 따라서 하나의 서비스를 이루는 내부 프로세스들인 내부 행위(internal behavior)를 내포하는 쿼리의 수행이 불가능하다. 먼저 책을 받은 후에 책값을 지불할 수 있는 인터넷 서점을 찾고 싶은 사용자의 요구를 언어로 나타낸 쿼리가 "find a book sale service allowing deferred payment after delivery" (Q2)일 때 book sale service 내부의 deferred payment after delivery와 같은 내부 행위에 대한 검색이 불가능하다. The third problem is that detailed information about the performance of the service is not known. Therefore, it is impossible to execute a query that contains internal behavior, which is an internal process that constitutes a service. Deferred payment after inside a book sale service when the query in the language of a user's request to find an Internet bookstore that can pay for a book after receiving a book is "find a book sale service allowing deferred payment after delivery" (Q2) No search for internal behavior such as delivery is possible.

따라서 이와 같은 시맨틱 웹의 웹 서비스 발견 기법은 사용자가 원하지 않는 정보의 제공과 제약된 정보의 제공과 더불어 사용자가 효과적으로 개인의 요구를 표현할 수 없는 문제점을 야기한다. Therefore, such a web service discovery technique of the semantic web causes a problem that the user cannot effectively express the needs of the individual, together with the provision of unwanted information and the provision of restricted information.

위와 같은 문제점들을 해결하기 위해 프로세스 정보를 표현한 프로세스 기반 온톨로지를 기반으로 하여 사용자의 질의에 만족하는 프로세스 매치메이킹 방법을 제안한다. In order to solve the above problems, we propose a process matchmaking method that satisfies a user's query based on a process-based ontology expressing process information.

본 발명은 상술한 기술적 과제를 이루기 위해 웹 서비스의 발견 방법에 있 어, 프로세스 기반 온톨로지를 사용하며, 프로세스 이름, 입력 이름 또는 출력 이름에 대한 구문적인 유사도를 계산하여 프로세스를 발견하는 프로세스 시그니처 매치메이킹 단계; 특정한 프로세스 제어구조를 갖는 프로세스를 포함하는 상위 프로세스를 발견하는 프로세스 구조 매치메이킹 단계; 특정한 개념에 포함되는 프로세스를 찾는 프로세스 개념 매치메이킹 단계를 포함하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법을 제공한다. The present invention uses a process-based ontology in the discovery method of a web service to achieve the above technical problem, and process signature matchmaking for discovering a process by calculating syntactic similarity with respect to a process name, an input name, or an output name. step; A process structure matchmaking step of finding an upper process including a process having a specific process control structure; It provides a process-based web service discovery method comprising a process concept matchmaking step of finding a process included in a particular concept.

이때, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가진다.At this time, if there is no other definition in the technical terms and scientific terms used, it has a meaning commonly understood by those of ordinary skill in the art.

또한 다음에 소개되는 실시예들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위한 예로서 제공되는 것이다. 따라서, 본 발명은 이하 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다.In addition, the following embodiments are provided as examples to sufficiently convey the spirit of the present invention to those skilled in the art. Accordingly, the present invention is not limited to the embodiments described below and may be embodied in other forms.

상기 프로세스 기반 온톨로지(이하 TM-S 온톨로지)는 온톨로지 언어인 토픽 맵을 이용하며, 프로세스 이름 또는 입력/출력에 대한 이름에 대한 정의를 포함하는 프로세스 시그니처 온톨로지; 프로세스 제어 구조에 대한 정의를 포함하는 프로세스 구조 온톨로지; 프로세스 개념들에 대한 정의, 개념들 간의 관계의 정의, 개념들에 대한 관점의 정의, 개념들 간의 분류 정의 또는 분류에 대한 관점의 정의를 포함하는 프로세스 개념 온톨로지를 포함함을 특징으로 한다. The process-based ontology (hereinafter referred to as TM-S ontology) uses a topic map, which is an ontology language, and includes a process signature ontology including a definition of a process name or a name for an input / output; A process structure ontology that includes a definition for a process control structure; It includes a process concept ontology that includes definitions of process concepts, definitions of relationships between concepts, definitions of perspectives on concepts, definitions of classifications between concepts, or definitions of views on classifications.

상기 프로세스 시그니처 온톨로지는 프로세스와 상기 프로세스와 연관되어 있는 요구정보/결과정보인 입력/출력(input/output)에 대한 텍스트 정보를 정의한다. 즉 프로세스 시그니처 온톨로지는 프로세스의 이름과 입력/출력 이름에 대한 정의를 포함한다. 상기 프로세스 구조 온톨로지는 서비스의 내부 동작(internal behavior)을 기술하기 위한 온톨로지로 순차(sequence), 분리(split), 분리와 결합(split and join), 임의-순서 (and-order), 선택(choice), 조건(if-then-else), 반복(iterate) 같은 프로세스 구조를 표현하기 위해 필요한 제어 구조의 정의를 포함한다. 상기 프로세스 개념 온톨로지는 프로세스 개념을 다양한 관점에서 정의한 것으로써, 프로세스 개념들에 대한 정의, 개념들 간의 관계의 정의, 개념들에 대한 관점의 정의, 개념들 간의 분류 정의 또는 분류에 대한 관점의 정의를 포함한다. The process signature ontology defines text information for the process and input / output which is request information / result information associated with the process. In other words, the process signature ontology contains the definition of the process name and the input / output name. The process structure ontology is an ontology for describing the internal behavior of a service. It is a sequence, split, split and join, and-order, and choice. ), Including the definition of control structures needed to express process structures such as if-then-else and iterates. The process concept ontology defines process concepts from various viewpoints, and defines process concepts, definitions of relationships between concepts, definitions of perspectives on concepts, definitions of classifications between concepts, or definitions of classification concepts. Include.

TM-S 온톨로지를 XTM을 이용하여 기술함에 있어, 프로세스 시그니처 온톨로지의 프로세스, 입력/출력, 또는 프로세스 구조 온톨로지의 제어 구조의 개념은 토픽 맵의 토픽으로 정의된다. 또한 프로세스 시그니처 온톨로지의 프로세스 이름 또는 입력/출력의 이름들은 토픽의 베이스이름(basename)으로 정의된다. 프로세스 시그니처 온톨로지의 프로세스와 입력/출력의 관계 또는 프로세스 구조 온톨로지의 프로세스들 간의 제어 구조는 토픽 맵의 연관관계를 이용하여 표현된다. 프로세스 개념 온톨로지는 토픽 맵의 토픽을 이용하여 개념을 정의하고, 슈퍼클래스 - 서브클래스(superclass - subclass) 또는 슈퍼프로퍼티 - 서브프로퍼티(superproperty - subproperty)를 포함하는 연관관계를 이용하여 개념들 간의 계층 구조를 표현하고 연관관계를 이용하여 다중 관계를 표현하며, 연관관계의 스코프를 이용하여 개념에 대한 관점을 표현한다.In describing the TM-S ontology using XTM, the concept of the process structure, the input / output of the process signature ontology, or the control structure of the process structure ontology is defined as the topic of the topic map. In addition, process signature ontology process names or input / output names are defined as the topic's basename. The relationship between the process of the process signature ontology and the input / output or the control structure between the processes of the process structure ontology is expressed using the relationship of the topic map. Process concept ontology defines concepts using topics in the topic map, and hierarchies between concepts using associations that include superclass-subclass or superproperty-subproperty. Express multiple relations using relations, and express scope of concepts using scope of relations.

일반적으로 매치메이킹(matchmaking)은 사용자의 질의에 충분히 유사한 서비스들을 찾는 것을 의미하며, 본 발명에서는 상기 TM-S 온톨로지를 기반으로 하여, 사용자의 질의에 만족하는 프로세스들을 찾아주는 프로세스 기반 웹 서비스의 발견(이하 TM-S 매치메이킹) 방법을 제공한다. In general, matchmaking means finding services that are sufficiently similar to a user's query. In the present invention, a process-based web service is found to find processes satisfying a user's query based on the TM-S ontology. (TM-S matchmaking) method is provided.

본 발명의 TM-S 매치메이킹 방법은 상기의 TM-S온톨로지를 바탕으로 하며, 프로세스 이름, 입력 이름 또는 출력 이름에 대한 구문적인 유사도를 계산하여 프로세스를 발견하는 프로세스 시그니처 매치메이킹 단계; 특정한 프로세스 제어구조를 갖는 프로세스를 포함하는 상위 프로세스를 발견하는 프로세스 구조 매치메이킹 단계; 특정한 개념에 포함되는 프로세스를 찾는 프로세스 개념 매치메이킹 단계를 포함하는 것을 특징으로 한다. The TM-S matchmaking method of the present invention is based on the TM-S ontology, the process signature matchmaking step of finding a process by calculating the syntactic similarity with respect to the process name, input name or output name; A process structure matchmaking step of finding an upper process including a process having a specific process control structure; And a process concept matchmaking step of finding a process included in a specific concept.

프로세스 시그니처 매치메이킹과 프로세스 구조 매치메이킹은 서비스 내부 정보를 정의한 온톨로지를 이용하여 사용자가 원하는 프로세스들을 발견함으로써, 프로세스 발견의 정확률을 향상시키는 기능을 제공한다. 또한 프로세스 개념 매치메이킹은 의미적으로 관련된 프로세스들을 발견함으로써, 프로세스 발견의 재현율을 높이는 효과를 가진다. Process Signature Matchmaking and Process Structure Matchmaking provides the ability to improve the accuracy of process discovery by discovering the processes the user wants using an ontology that defines internal service information. Process concept matchmaking also has the effect of increasing the recall of process discovery by discovering semantically related processes.

상기 프로세스 시그니처 매치메이킹 단계는 프로세스 시그니처 온톨로지를 이용하여 프로세스 이름과 그 프로세스에 관련된 입력/출력 이름에 대해 매칭을 하는 것이다. 프로세스 시그니처 매치메이킹은 프로세스 이름과 입력/출력 이름에 대한 구문적 유사도를 계산하여 매칭을 수행한다. 상기 구문 유사도는 루씬 점수 알 고리즘(Lucene's scoring algorithm)을 이용하여 두 변수간의 유사도가 계산되며 유사 정도에 따라 0 내지 1의 값을 갖는다. 구문 유사도의 계산 시 프로세스 이름과 입력/출력 이름에 따라 각각 가중치를 가진다. 입력/출력은 프로세스의 부가적 정보이므로 프로세스 이름에 대한 가중치가 입력/출력 이름에 대한 가중치보다 큰 값을 가지며, 프로세스 이름에 대한 가중치와 입력 또는 출력 이름에 대한 가중치의 합이 1 이하인 특징을 갖는다. 상기 가중치는 프로세스 이름과 입력/출력 이름에 대해 서비스 요구자가 원하는 매칭의 정도를 나타낸다. 일예로 프로세스 이름과 입력 이름의 구문 유사도는 하기의 수식 1에 의해 계산된다.The process signature matchmaking step is to match a process name with an input / output name associated with that process using a process signature ontology. Process signature matchmaking performs matching by calculating syntactic similarities between process names and input / output names. The syntax similarity is calculated by using Lucene's scoring algorithm, and the similarity between two variables is calculated and has a value of 0 to 1 depending on the degree of similarity. When calculating syntax similarity, each has a weight according to the process name and the input / output name. Since the input / output is additional information of the process, the weight for the process name is greater than the weight for the input / output name, and the sum of the weight for the process name and the weight for the input or output name is 1 or less. . The weight indicates the degree of matching desired by the service requester to the process name and the input / output name. For example, the syntax similarity between the process name and the input name is calculated by Equation 1 below.

(수식 1)(Formula 1)

Figure 112007035690217-PAT00001
Figure 112007035690217-PAT00001

상기 α는 프로세스 이름에 대한 가중치이며, 상기 β는 입력 이름에 대한 가중치이다. 상기 R.pn은 서비스 요구자가 질의한 프로세스 이름이며, 상기 S.pn은 서비스 제공자가 등록한 프로세스 이름이다. 상기 SynPN() 함수는 루씬 점수 알고리즘을 이용하여 프로세스 이름인 R.pn과 S.pn의 구문적 유사도를 계산한다. 마찬가지로 상기 R.in은 서비스 요구자가 질의한 입력 이름이여, S.in은 서비스 제공자가 등록한 입력 이름이며 SynIN() 함수는 루씬 점수 알고리즘을 이용하여 입력 이름인 R.in과 S.in의 구문적 유사도를 계산한다. 따라서 SynPN(R.pn,S.pn)은 프로세스 이름에 대한 구문 유사도를 제공하며, SynIN(R.in,S.in)은 입력 이름에 대한 구문 유사도를 제공한다.Α is a weight for the process name, and β is a weight for the input name. The R.pn is a process name queried by the service requester, and the S.pn is a process name registered by the service provider. The SynPN () function calculates the syntactic similarity between the process names R.pn and S.pn using the Lucene scoring algorithm. Similarly, the R.in is an input name queried by the service requester, S.in is an input name registered by the service provider, and the SynIN () function is syntactically related to the input names R.in and S.in using Lucene scoring algorithm. Calculate the similarity. Thus, SynPN (R.pn, S.pn) provides syntax similarity for process names, and SynIN (R.in, S.in) provides syntax similarity for input names.

다른 일예로 프로세스 이름과 출력 이름의 구문 유사도는 하기의 수식 2에 의해 계산된다.As another example, the syntax similarity between the process name and the output name is calculated by Equation 2 below.

(수식 2)(Formula 2)

Figure 112007035690217-PAT00002
Figure 112007035690217-PAT00002

입력 이름과 출력 이름은 같은 값의 가중치 β를 가지고, 상기 R.out은 서비스 요구자에 의해 요구된 출력 이름이며, 상기 S.out은 서비스 제공자에 의해 등록된 출력 이름이며, SynOUT() 함수는 루씬 점수 알고리즘을 이용하여 출력 이름인 R.out과 S.out의 구문적 유사도를 계산한다.The input name and output name have the same value weight β, the R.out is the output name requested by the service requester, the S.out is the output name registered by the service provider, and the SynOUT () function is Lucene The scoring algorithm is used to calculate the syntactic similarity between the output names R.out and S.out.

하나의 프로세스에 여러 개의 입력/출력 들이 존재할 경우, 입력 이름 또는 출력 이름에 대한 구문적 유사도는 서비스 요구자의 입력 이름 또는 서비스 요구자의 출력 이름에 대해 최대의 구문적 유사도를 갖는 입력 이름 또는 출력 이름을 선택하여 구문 유사도를 계산한다. 일예로 서비스 요구자에 의한 입력한 입력 이름이 A이고 하나의 프로세스에 대해 서비스 제공자에 의해 등록된 입력 이름이 B1, B2, B3일 때, 입력 이름에 대한 구문 유사도는 SynIN(A,B1), SynIN(A,B2) 및 SynIN(A,B3)의 값 중에서 최대인 값을 선택하여 입력 이름에 대한 구문 유사도를 구한다. 따라서 서비스 요구자의 입력 이름이 하나이며, 단일한 프로세스의 입력 이름의 수가 m개라면, 프로세스 이름과 입력 이름에 대한 구문 유사도는 수식 3과 같다.If there are multiple inputs / outputs in a process, the syntactic similarity for the input name or output name is equivalent to the input name or output name with the maximum syntactic similarity with the service requester's input name or service requester's output name. Select to calculate syntax similarity. For example, when the input name entered by the service requester is A and the input name registered by the service provider for one process is B1, B2, B3, the syntax similarity for the input name is SynIN (A, B1), SynIN The syntax similarity for the input name is obtained by selecting the maximum value among the values of (A, B2) and SynIN (A, B3). Therefore, if the service requester has one input name and the number of input names of a single process is m, the syntax similarity between the process name and the input name is shown in Equation 3.

(수식 3) (Formula 3)

Figure 112007035690217-PAT00003
Figure 112007035690217-PAT00003

SynINj(R.in,S.in)에서 j는 1 내지 m으로써, 서비스 요구자의 입력 이름과 서비스 제공자가 제공하는 단일한 프로세스의 m개의 입력 이름 각각에 대한 구문 유사도를 의미하며, MAX(SynINj(R.in,S.in))은 m개의 입력 이름에 대해 각각 계산된 이름에 대한 구문 유사도 값 중 최대의 값이 선택됨을 의미한다. In SynIN j (R.in, S.in), j is 1 to m, which means the syntax similarity for each input name of the service requester and m input names of a single process provided by the service provider, and MAX (SynIN j (R.in, S.in)) means that the maximum value among the syntax similarity values for each of the calculated names is selected for m input names.

또한 다수의 서비스 요구자의 입력 이름 또는 다수의 서비스 요구자의 출력 이름이 존재할 경우, 각각의 서비스 요구자의 입력 이름 또는 서비스 요구자의 출력 이름에 대해 상기 최대의 구문적 유사도를 선택하여 다수의 서비스 요구자의 입력 이름수 또는 다수의 서비스 요구자의 출력 이름수에 대해 평균을 취하여 구문적 유사도를 계산한다. 도 1은 2개의 입력 이름에 대한 유사도 계산 방법을 도시한 것이다. 도 1에 도시한 바와 같이 서비스 요구자에 의해 요구된 입력 이름이 A1 과 A2이고 하나의 프로세스에 제공된 이름이 C1, C2, C3이며, 화살표는 A1 또는 A2와 C1, C2 또는 C3에 대해 각각 계산되는 이름에 대한 구문 유사도의 측정을 의미한다. 이때 이름에 대한 구문 유사도는 SynIN(A1,C1), SynIN(A1,C2) 및 SynIN(A1,C3)의 값 중에서 최대인 값과 SynIN(A2,C1), SynIN(A2,C2) 및 SynIN(A2,C3)의 값 중에서 최대인 값을 더해 요구된 입력 이름의 수인 2로 나눈 평균값이 된다. 따라서 서비스 요구자에 의해 요구된 입력 이름의 수가 n이고, 하나의 프로세스의 입력 이름 의 수가 m일 때, 구문 유사도는 수식 4와 같다. In addition, when there are multiple service requester input names or multiple service requester output names, the plurality of service requester inputs are selected by selecting the maximum syntactic similarity with respect to each service requester input name or service requester output name. Calculate syntactic similarity by taking an average over the number of names or the number of output names of multiple service requesters. 1 illustrates a method of calculating similarity for two input names. As shown in Fig. 1, the input names required by the service requester are A1 and A2, and the names given to one process are C1, C2, C3, and arrows are calculated for A1 or A2 and C1, C2 or C3, respectively. Means a measure of syntax similarity to names. The syntactic similarity for the names is the maximum of the values of SynIN (A1, C1), SynIN (A1, C2), and SynIN (A1, C3), and SynIN (A2, C1), SynIN (A2, C2), and SynIN ( The maximum of A2 and C3) is added to be the average value divided by two, the number of input names required. Therefore, when the number of input names requested by the service requester is n and the number of input names of one process is m, the syntax similarity is as shown in Equation 4.

(수식 4)(Formula 4)

Figure 112007035690217-PAT00004
Figure 112007035690217-PAT00004

이때,

Figure 112007035690217-PAT00005
의 의미는 상기 수식 3에서 설명한 것과 동일한 의미이다. At this time,
Figure 112007035690217-PAT00005
Has the same meaning as described in Equation 3 above.

상기의 수식 3 내지 수식 4에서 프로세스 이름과 입력 이름에 대한 구문 유사도를 계산하는 방법을 제시하였으나, 프로세스 이름과 출력 이름에 대한 구문 유사도 또한 SynIN()함수 대신 SynOUT() 함수를 사용하고, R.in, S.in 대신 R.out, S.out을 사용하여 상기의 수식 3 내지 수식 4와 유사하게 계산될 수 있다. In the above Equations 3 to 4, a method of calculating the syntactic similarity between the process name and the input name is provided. However, the syntactic similarity between the process name and the output name is also used using the SynOUT () function instead of the SynIN () function. R.out and S.out instead of in and S.in may be calculated similarly to Equations 3 to 4 above.

상기 프로세스 시그니처 매치메이킹 단계는 (1a)프로세스 이름 유사도를 계산하는 단계; (2a)입력 이름 및 출력 이름에 대한 최대 유사도 값들의 평균을 계산하는 단계; (3a)가중치를 이용하여 총 유사도 값을 계산하는 단계를 포함하는 방법을 통하여 이루어진다.The process signature matchmaking step includes: (1a) calculating process name similarity; (2a) calculating an average of maximum similarity values for the input name and the output name; (3a) using a weighting method to calculate a total similarity value.

상세한 프로세스 시그니처 매치메이킹 알고리즘의 일 실시예를 도 2에 도시하였다. 서비스 요구자에 의해 요구된 프로세스 이름, 입력/출력 이름, 가중치가 수신(s110)되면 상기 SynPN()함수를 사용하여 프로세스 이름 유사도를 먼저 계산(s120)한다. 이는 상기 가중치 α 및 β를 사용하며, 프로세스 이름에 대한 가중치 β를 α보다 큰값을 갖도록 하여, 프로세스 이름에 대한 매칭을 입력/출력 이름에 대한 매칭보다 중요시하는 것과 마찬가지이다. SynIN(), MAX(SynINj()) 또는

Figure 112007035690217-PAT00006
MAX(SynINj()))/n 함수를 사용하여 입력/출력 이름에 대한 유사도를 계산하는 단계(s140)이전에 프로세스 이름 유사도를 먼저 계산하여(s120) 프로세스 이름 유사도를 기반으로 특정값 이상이면 유효한 프로세스로 판단하고, 특정값 이하이면 프로세스 시크니처 매치메이킹을 종료하는 판단을 내리고(s130), 유효한 프로세스일 경우 입력/출력 이름에 대한 유사도를 계산(s140)한다. 총 구문 유사도는 식 1내지 식 4를 이용하여 계산된다. One embodiment of a detailed process signature matchmaking algorithm is shown in FIG. 2. When the process name, input / output name, and weight requested by the service requester are received (s110), the process name similarity is first calculated using the SynPN () function (s120). This is the same as using the weights α and β and having the weight β for the process name to have a value greater than α, so that matching for process names is more important than matching for input / output names. SynIN (), MAX (SynIN j ()), or
Figure 112007035690217-PAT00006
Before calculating the similarity for input / output names using the MAX (SynIN j ())) / n function (s140), calculate the process name similarity first (s120), and if above a certain value based on the process name similarity, If it is determined to be a valid process, and if it is less than or equal to a specific value, a determination is made to terminate process signature matchmaking (S130). Total syntax similarity is calculated using Equations 1-4.

프로세스 구조 매치메이킹 단계는 특정한 프로세스 제어구조를 갖는 프로세스를 포함하는 상위 프로세스를 발견하는 것으로, 프로세스 구조 온톨로지를 이용하여 프로세스 구조를 분석하고 요구된 프로세스 구조를 갖는 상위 프로세스를 매칭을 하는 것이다. 상기 프로세스 제어구조는 순차, 분리, 분리-결합, 선택, 임의-순서, 조건 또는 반복, 또는 이들의 조합을 포함한다. The process structure matchmaking step is to find a parent process that includes a process with a particular process control structure, and use process structure ontology to analyze the process structure and match the parent process with the required process structure. The process control structure includes sequence, separation, separation-combination, selection, random-order, condition or repetition, or a combination thereof.

상기 프로세스 구조 매치메이킹은 상기 프로세스 제어 구조를 의미적으로 유사한 구조들로 그룹화하고 분류하여 프로세스 구조 매치메이킹을 수행한다. 상세하게는 상기 프로세스 구조 매치메이킹 단계는 순차 또는 임의-순서 구조를 발견하는 순차 구조 매치메이킹 단계, 분리 또는 분리와 결합 구조를 발견하는 병렬 구조 매치메이킹 단계, 선택 또는 조건 구조를 발견하는 선택 구조 매치메이킹 단계를 포함하는 분류된 매치메이킹 단계로 구성된다. The process structure matchmaking performs process structure matchmaking by grouping and classifying the process control structure into semantically similar structures. Specifically, the process structure matchmaking step includes a sequential structure matchmaking step that finds a sequential or random-order structure, a parallel structure matchmaking step that finds a separate or separate and combined structure, and a selection structure match that finds a selection or condition structure. It consists of a classified matchmaking step including a making step.

자세하게는 순차 구조 매치메이킹은 하위 프로세스들이 순차적으로 처리되는 상위 프로세스를 검색한다. 일예로 "배송 후(P1) 결제(P2)를 하는 도서 판매 프로세스를 찾아라"와 같은 질의를 처리하기 위해 사용한다. 이 질의는 도서 판매 프로세스들 중에서 하위 프로세스인 배송 프로세스(P1)와 결제 프로세스(P2)가 순차적으로 처리되는 것을 검색한다. 따라서 상기 순차 구조 매치메이킹은 제어 구조 중에서 순차 또는 임의-순서 구조를 가지는 프로세스들을 분석하여 검색한다. In detail, sequential matchmaking searches for higher-level processes whose lower-level processes are processed sequentially. For example, use it to process a query such as "find book sales process with post-delivery (P1) payment (P2)". This query retrieves that among the book selling processes, subordinate processes of delivery process P1 and payment process P2 are sequentially processed. Therefore, the sequential matchmaking analyzes and searches for processes having a sequential or random-order structure among control structures.

병렬 구조 매치메이킹은 동일 프로세스에서 분기된 하위 프로세스들이 병렬적으로 처리되는 상위 프로세스를 검색한다. 일예로 "배송(P1)과 재고품 갱신(P2)이 병렬적으로 수행되는 도서 판매 프로세스를 찾아라"와 같은 질의를 처리하기 위해 사용된다. 따라서 상기 병렬 구조 매치메이킹은 제어 구조 중에서 분리 또는 분리와 조합 구조를 가지는 프로세스들을 분석하여 검색한다. Parallel structure matchmaking searches for higher-level processes whose subprocesses branched from the same process are processed in parallel. For example, it is used to process a query such as "find a book sales process in which delivery (P1) and inventory update (P2) are performed in parallel". Accordingly, the parallel structure matchmaking analyzes and searches for processes having a separated or separated and combined structure among control structures.

선택 구조 매치메이킹은 2개 이상의 프로세스들 중에서 조건에 맞는 하나의 프로세스만 선택하여 처리하는 구조를 가진 프로세스들을 검색한다. 일예로 "신용카드 결제(P1) 또는 무통장 입금 결제(P2)가 가능한 도서 판매 프로세스를 찾아라"와 같은 질의를 처리하기 위해 사용된다. 따라서 상기 선택 구조 매치메이킹은 제어 구조 중에서 선택 구조를 제공하는 선택 또는 조건 구조를 가지는 프로세스들을 분석하여 검색한다.Selective Structure Matchmaking searches for processes with a structure that selects and processes only one process from among two or more processes. For example, it is used to process a query such as "find a book sales process that can accept credit card payment (P1) or unpaid bank transfer payment (P2)". Accordingly, the selection structure matchmaking analyzes and searches for processes having a selection or condition structure that provides a selection structure among control structures.

반복은 하나 또는 그 이상의 프로세스들이 반복되어 처리되는 구조이다. 본 발명의 프로세스 구조 매치메이킹에서 반복 구조는 의미적으로 한 번의 동작을 수행하는 프로세스로 취급하여 프로세스 구조를 분석 검색한다.An iteration is a structure in which one or more processes are processed repeatedly. In the process structure matching process of the present invention, an iterative structure is semantically treated as a process performing one operation, and the process structure is analyzed and searched.

프로세스 구조는 여러 가지 제어 구조를 이용하여 복잡하게 표현되어 있다. 따라서 서비스 요구자의 질의 수행 시 등록된 프로세스들의 구조들을 모두 분석한 후 매치메이킹 결과를 넘겨주는 데에는 많은 시간이 요구되므로, 프로세스 구조에 대한 빠른 매치메이킹 처리 속도를 제공하기 위해, 서비스 제공자가 프로세스 구조 온톨로지를 저장할 때 미리 프로세스 구조를 분석하고 매치메이킹을 위한 구조 정보를 순차 구조 테이블, 병렬 구조 테이블 또는 조건 구조 테이블을 포함하는 데이터베이스로 저장한다. The process structure is complicated by using various control structures. Therefore, when performing the service requester's query, it takes a lot of time to pass the matchmaking result after analyzing all the structures of the registered processes. Therefore, in order to provide a fast matchmaking processing speed for the process structure, the service provider has a process structure ontology. Analyze the process structure and save the structure information for matchmaking to a database including sequential structure tables, parallel structure tables, or condition structure tables.

따라서 상기 순차 구조 매치메이킹은 순차 구조 테이블을 이용하여 순차 또는 임의-순서의 제어구조를 가지는 프로세스를 검색하고, 또한 상기 병렬 구조 매치메이킹은 병렬 구조 테이블을 이용하여 분리 또는 분리와 결합의 제어구조를 가지는 프로세스를 검색하고, 상기 선택 구조 매치메이킹은 선택 구조 테이블을 이용하여 선택 또는 조건의 제어구조를 가지는 프로세스를 검색하여 검색의 시간과 효율을 높일 수 있다. Thus, the sequential matchmaking uses a sequential structure table to search for a process having a sequential or random-order control structure, and the parallel structure matchmaking uses a parallel structure table to separate or separate and combine control structures. Searching for a process to have, and the selection structure matchmaking can increase the time and efficiency of the search by searching for a process having a control structure of the selection or condition using the selection structure table.

상기 순차 구조 테이블은 순차 구조를 포함하는 상위 프로세스, 선행 프로세스, 후행 프로세스, 선행 프로세스 형태 또는 후행 프로세스 형태의 정보를 포함하며, 상기 병렬 구조 테이블은 상위 프로세스, 병렬 구조를 가지는 프로세스 1과 프로세스 2, 프로세스 1의 형태 또는 프로세스 2의 형태의 정보를 포함하며, 상기 선택 구조 테이블은 상위 프로세스, 선택 가능한 프로세스, 선택 가능한 프로세스의 형태의 정보를 포함한다.The sequential structure table includes information of an upper process, a preceding process, a following process, a preceding process form, or a following process form including a sequential structure, and the parallel structure table includes an upper process, processes 1 and 2 having a parallel structure, Information in the form of process 1 or in the form of process 2, wherein the selection structure table includes information in the form of a higher process, a selectable process, and a selectable process.

순차 구조를 가지는 프로세스의 일 실시예를 도 3에 도시하였다. One embodiment of a process having a sequential structure is shown in FIG. 3.

도 3과 같이 복합 프로세스 형태로 순차 구조를 가진 최상위 프로세스 A(300)가 있을 때, A 프로세스(300)는 복합 프로세스 형태인 B(310)와 원자 프로세스 형태인 c(321)와 d(322)를 하위 프로세스로 가지며, B→c→d의 순서로 실행된다. 그리고, B(310)는 원자 프로세스인 b1(311)과 b2(312)로 구성되며, b1→ b2순서로 실행된다.When there is a top-level process A 300 having a sequential structure in the form of a complex process as shown in FIG. 3, the process A 300 includes B 310, a complex process, and c 321 and d 322, an atomic process. Is a subprocess, and is executed in the order of B → c → d. B310 is composed of b1 311 and b2 312, which are atomic processes, and are executed in the order b1-> b2.

순차 구조 테이블은 프로세스에 대한 순차 구조 정보들을 각각 저장한다. 이 테이블에서 RootProcess는 순차 구조를 가지는 상위 프로세스를 명시한다. 두 개의 프로세스들에 대한 순차 구조에서 선행 프로세스는 Process, 후행 프로세스는 NextProcess에 각각 저장한다. 그리고, Process type과 Next Process type은 프로세스들의 타입을 정의하는 것으로서 복합 프로세스일 경우에는 1, 원자 프로세스일 경우에는 0의 값을 가진다. 표 1은 도 3의 순차 구조 정보를 순차 구조 테이블에 저장한 것이다.The sequential table stores sequential structure information for each process. In this table, RootProcess specifies the parent process with a sequential structure. In the sequential structure for the two processes, the preceding process is stored in Process and the subsequent process in NextProcess. Process type and Next Process type define the types of processes, and have a value of 1 for a compound process and 0 for an atomic process. Table 1 stores the sequence structure information of FIG. 3 in a sequence structure table.

(표 1) 순차 구조 테이블(Table 1) Sequential Structure Table

Figure 112007035690217-PAT00007
Figure 112007035690217-PAT00007

병렬 구조를 가지는 프로세스의 일 실시예를 도 4에 도시하였다.One embodiment of a process having a parallel structure is shown in FIG. 4.

복합 프로세스 형태로 병렬 구조를 가진 프로세스 A(400)가 있을 때, A(400)는 복합 프로세스 형태인 B(410)와 원자 프로세스 형태인 e(420)를 병렬 구조로 가진다. 그리고, B(410)는 원자 프로세스 형태이면서 순차 구조를 가지는 c(411)와 d(412)를 하위 프로세스로 가진다. B(410)와 e(420)가 병렬 구조를 가지므로, B(410)의 하위 프로세스인 c(411)와 d(412)도 e(420)와 병렬 구조를 가짐을 알 수 있다When there is a process A 400 having a parallel structure in the form of a complex process, the A 400 has a parallel structure of B 410 in the form of a complex process and e 420 in the form of an atomic process. In addition, B 410 has a sub process of c 411 and d 412 having an sequential structure in the form of an atomic process. Since B 410 and e 420 have a parallel structure, it can be seen that c 411 and d 412, which are sub-processes of B 410, also have a parallel structure with e 420.

병렬 구조 테이블은 프로세스에 대한 병렬 구조 정보들을 각각 저장한다. 병렬 구조를 가지는 상위 프로세스는 RootProcess에 저장하고, 병렬 구조를 가지는 프로세스들은 Process 1과 Process 2에 각각 저장한다. 그리고, Process 1 type과 Process 2 type은 프로세스들의 타입을 정의한다. 2개 이상의 병렬 구조를 가지는 프로세스들에 대해서는 Root Process 가 같은 것들을 찾아 병렬로 수행되는 프로세스들을 찾을 수 있다. 표 2는 도 4의 병렬 구조 정보를 병렬 구조 테이블에 저장한 것이다.The parallel structure table stores the parallel structure information for each process. Parallel processes are stored in RootProcess, and parallel processes are stored in Process 1 and Process 2. Process 1 type and Process 2 type define the types of processes. For processes with more than one parallel structure, the Root Process can look for the same ones to find the processes running in parallel. Table 2 stores the parallel structure information of FIG. 4 in a parallel structure table.

(표 2) 병렬 구조 테이블(Table 2) Parallel Structure Table

Figure 112007035690217-PAT00008
Figure 112007035690217-PAT00008

선택 구조를 가지는 프로세스의 일 실시예를 도 5에 도시하였다.One embodiment of a process having a selection structure is shown in FIG. 5.

도 5는 선택 구조를 가진 복합 프로세스 A(500)를 나타낸 것이다. 이 프로세스는 원자 프로세스 형태로 구성된 하위 프로세스 b(510), c(520), d(530)로 구성되어 있으며, 이 하위 프로세스들 중에 하나를 선택하여 실행한다. 5 shows a composite process A 500 with a selection structure. This process consists of subprocesses b (510), c (520), and d (530) configured in the form of atomic processes, and selects one of these subprocesses and executes it.

선택 구조 테이블은 프로세스에 대한 선택 구조 정보들을 저장한다. 선택 구조 테이블에서 RootProcess는 다른 테이블에서와 같이 선택 구조를 가지는 상위 프로세스를 말한다. 선택하는 프로세스는 Process 1과 Process 2에 저장한다. 만일 2개 이상의 선택 프로세스가 존재할 경우에는 최소한 2개의 선택 조건을 만족하는 RootProcess들을 선택하여 AND 연산을 하여 찾을 수 있다. 표 3은 도 5에 대한 선택 구조 정보를 선택 구조 테이블에 저장한 것이다.The selection structure table stores selection structure information about the process. In the selection structure table, RootProcess is the parent process that has the selection structure as in other tables. The process you select is stored in Process 1 and Process 2. If there are two or more selection processes, they can be found by performing an AND operation by selecting RootProcesses that satisfy at least two selection conditions. Table 3 stores the selection structure information of FIG. 5 in the selection structure table.

(표 3) 선택 구조 테이블 (Table 3) Selection structure table

Figure 112007035690217-PAT00009
Figure 112007035690217-PAT00009

프로세스 구조 분석 알고리즘은 도 6에 도시한 바와 같이, (1b)최상위 프로세스 검색 단계(S210); (1b)원자 프로세스인지 또는 복합 프로세스인지 판별하는 제 1 판별 단계(S220); (2b)상기 제 1 판별 단계의 판별 결과가 원자 프로세스이면 검색을 종료하고, 상기 제 1 판별 단계의 판별 결과가 복합 프로세스이면 제어 구조가 기 존재하는 구조인지 새로운 구조인지 판별하는 제 2 판별 단계(S230); (3b)상기 제 2 판별 단계(S230)의 판별 결과가 기 존재하는 구조이면 순차 구조, 병렬 구조 또는 선택 구조인지 검색하여 구조 정보 테이블에 구조정보를 저장하고(S250), 상기 제 2 판별 단계의 판별 결과가 새로운 구조이면 새로운 구조정보를 상기 구조 정보 테이블과 새로운 구조정보 테이블에 동시에 저장하는(S240) 단계; (4b)상기 (3b)단계의 저장된 구조정보를 가지는 프로세스가 원자 프로세스인지 또는 복합 프로세스인지 판별하는 제 3 판별 단계(S260); (5b)상기 제 3 판별 단계의 판별 결과가 원자 프로세스이면 검색을 종료(S270)하고, 상기 제 3 판별 단계의 판별 결과가 복합 프로세스이면 제 (2b)단계의 제 2 판별 단계(S230)를 수행하는 단계를 포함하여 수행된다. As shown in FIG. 6, the process structure analysis algorithm includes: (1b) a top-level process search step S210; (1b) a first determining step (S220) for determining whether the process is an atomic process or a complex process; (2b) a second determination step of determining whether the control structure is an existing structure or a new structure if the determination result of the first determination step is an atomic process, and if the determination result of the first determination step is a compound process ( S230); (3b) If the determination result of the second determination step (S230) is an existing structure, the structure information is stored in the structure information table by searching whether the structure is a sequential structure, a parallel structure, or a selection structure (S250). If the determination result is a new structure, simultaneously storing new structure information in the structure information table and the new structure information table (S240); (4b) a third determining step (S260) of determining whether the process having the stored structure information of step (3b) is an atomic process or a composite process; (5b) If the determination result of the third determination step is an atomic process, the search is terminated (S270). If the determination result of the third determination step is a complex process, the second determination step S230 of step (2b) is performed. It is carried out including the step.

도 6에 도시한 바와 같이 상기와 같이 프로세스 구조 분석 알고리즘은 우선 프로세스 구조 분석을 위해 서비스 제공자가 정의한 TM-S 기반의 온톨로지를 읽어, 이 온톨로지에서 최상위 프로세스를 검색한 후, 이 프로세스의 타입을 검사한다. 만약, 이 프로세스가 복합 프로세스 형태를 가질 경우 하위 프로세스들을 검사하며, 그렇지 않고 원자 프로세스 형태를 가질 경우에는 프로세스 구조 분석을 종료한다. 최상위 프로세스가 복합 프로세스이면, 하위 프로세스들의 제어 구조를 검사한 후 저장한다. 프로세스 구조 정보는 상기 기술한 3가지 종류의 구조 테이블로 저장된다. 각 테이블에는 프로세스 구조 매치메이킹에서 발생할 수 있는 모든 경우의 프로세스 구조 정보들이 저장되게 된다. 만약, 저장된 프로세스들 중에서 복합 프로세스 형태를 가지는 프로세스가 존재할 경우에는 다시 이 프로세스에 대한 하위 프로세스들의 제어 구조를 검사하고 구조 정보를 테이블에 저장한다. 만약, 하위 프로세스의 제어 구조가 이전에 저장한 상위 프로세스의 제어 구조와 다를 경우에는 하위 프로세스 구조 정보를 이전 구조 테이블과 새로운 구조 테이블에 확장하여 저장한다. 이 과정은 하위 프로세스들이 모두 원자 프로세스 형태로 존재할 때까지 반복되어 처리된다.As shown in FIG. 6, the process structure analysis algorithm first reads a TM-S based ontology defined by a service provider for process structure analysis, searches for the top level process in the ontology, and then checks the type of the process. do. If this process has a complex process type, the subprocesses are checked; otherwise, the process structure analysis is terminated. If the top-level process is a composite process, check and save the control structure of the child processes. Process structure information is stored in the three types of structure tables described above. Each table stores all the process structure information that can occur in process structure matchmaking. If a process having a complex process type exists among the stored processes, the control structure of subprocesses for the process is again checked and the structure information is stored in a table. If the control structure of the lower process is different from the control structure of the previously stored upper process, the lower process structure information is extended and stored in the old structure table and the new structure table. This process is repeated until all of the subprocesses are in atomic form.

프로세스 개념 온톨로지는 'sell', 'buy', 'pay' 등과 같이 여러 개의 분리된 개념들로 정의되어 있으며, 이들 개념들을 최상위 개념으로 하여 각각에 대한 분류 온톨로지를 가진다. 프로세스 개념 매치메이킹은 프로세스 개념 온톨로지에서 서비스 요구자가 선택한 개념이나 하위 개념에 포함되는 프로세스들을 찾는다.Process concept ontology is defined by several separate concepts such as 'sell', 'buy', 'pay', etc., and has a classification ontology for each of these concepts as the top level concept. Process concept matchmaking looks for processes that are included in the concept or subconcept selected by the service requester in the process concept ontology.

상기와 같이 프로세스 개념 매치메이킹은 의미적으로 관련된 프로세스들을 발견함으로써, 프로세스 발견의 재현율을 높이는 효과를 가진다. 이때, 프로세스 개념 온톨로지는 'sell', 'buy','pay'와 같은 개념들에 대해 여러 개의 관점을 이용하여 분류의 범위를 정의하고, 이 관점에 따라 여러 개의 하위 개념들로 다시 나눈다. 그러므로, 선택한 개념들의 최상위 개념이 같을 경우에는 관점이 같으냐, 또는 다르냐에 따라 연산이 다르게 적용된다. As described above, process concept matchmaking has the effect of increasing the recall of process discovery by discovering semantically related processes. At this time, the process concept ontology defines the scope of classification by using several viewpoints on concepts such as 'sell', 'buy', and 'pay' and divides them into several sub-concepts according to this perspective. Therefore, if the top concepts of the selected concepts are the same, the operation is applied differently depending on whether the viewpoint is the same or different.

프로세스 개념 매치메이킹은 서비스 요구자에 의해 요구된 프로세스들의 최상위 개념이 동일하며 같은 관점을 가지고 있을 때, OR 연산을 통하여 개념간의 관계가 처리되는 특징을 갖는다.Process concept matchmaking is characterized by the fact that the relationships between concepts are processed through OR operations when the top level concepts of processes required by the service requester are the same and have the same point of view.

같은 관점 내에 있는 개념들은 그 관점을 기준으로 서로 구분되어 정의된 것이다. 그러므로, 같은 관점 안에 있는 개념들은 OR 연산을 적용하여 개념들 간의 관계를 처리할 수 있다. 일 예로, 사용자가 판매 종류 ("Sell What") 관점에서 책 판매("Sell Book")개념과 컴퓨터 판매("sell computer")개념을 선택하였다면, 이 예에서 책 판매 개념과 컴퓨터 판매 개념은 판매 종류 관점에서 각각 구분되는 개념이다. 그러므로, "책이나 컴퓨터를 판매하는 프로세스들을 찾아라"라는 질의와 동일하게 해석될 수 있다. Concepts within the same view are defined separately from each other based on that view. Therefore, concepts within the same view can apply OR operations to handle relationships between them. For example, if the user has selected the concept of selling books ("Sell Book") and selling computers ("sell computer") in terms of sales type ("Sell What"), in this example, the book sales concept and the computer sales concept are sales. It is a distinct concept from the point of view of kind Therefore, it can be interpreted in the same way as the query "find processes to sell books or computers".

프로세스 개념 매치메이킹은 서비스 요구자에 의해 요구된 프로세스들의 최상위 개념이 동일하며 서로 다른 관점을 가지고 있을 때, AND 연산을 통하여 개념간의 관계가 처리되는 특징을 갖는다. Process concept matchmaking is characterized by the fact that relationships between concepts are processed through AND operations when the top level concepts of processes required by the service requester are the same and have different points of view.

다른 관점 내에 있는 개념들은 동일한 개념에 대해 여러 가지의 관점을 기준으로 분류한 것이다. 이것은 서로 다른 관점 안에 있는 개념들 간에는 AND 연산을 이용하여 처리 할 수 있다. 일 예로 사용자가 판매 방법("Sell How") 관점에서 전자 상점("Sell via Electronic Store") 개념을 선택하고, 판매 종류("Sell What") 관점에서 책 판매("Sell Book") 개념을 선택한다면, 이것은 "Sell" 개념에 대해 판매 방법과 판매 종류 관점에서 각각 다르게 분류한 것이다. 그러므로, "전자상점에서 책을 판매하는 프로세스를 찾아라"라는 질의와 동일하게 해석될 수 있다. Concepts within different views are categorized based on different views of the same concept. This can be handled using AND operations between concepts that are in different perspectives. For example, the user selects the concept of "Sell via Electronic Store" from the point of sale ("Sell How"), and selects the concept of "Sell Book" from the point of sale ("Sell What"). If so, this is a different classification of the "Sell" concept in terms of sales method and type of sale. Therefore, it can be interpreted in the same manner as the query "find the process of selling a book in an e-shop".

상기 프로세스 개념 매치메이킹은 서비스 요구자에 의해 요구된 프로세스들의 최상위 개념이 서로 다를 때, OR 연산을 통하여 개념간의 관계가 처리되는 특징을 갖는다. The process concept matchmaking has a feature in that relationships between the concepts are processed through an OR operation when the top-level concepts of processes requested by the service requester are different.

선택한 개념들의 최상위 개념이 다르다는 것은 이들 개념들이 각각 분리된 개념 온톨로지에 정의되어 있다는 것을 의미한다. 이것은 OR 연산을 이용하여 서로 다른 개념들 간의 관계를 처리할 수 있다. 일 예로 'buy'와 'sell'에 대한 각각의 개념 온톨로지가 있다고 하자. 사용자는 "buy" 온톨로지에서 책 구매("Buy Book")개념을 선택하고, "sell" 온톨로지에서 책 판매("Sell Book")개념을 선택한다면, 이것은 'buy'와 'sell' 온톨로지에 각각 포함되어 있는 프로세스들을 찾는 것을 의미한다. 그러므로, "책을 판매하거나 책을 구매하는 것이 가능한 프로세스를 찾아라."라는 질의와 동일하게 해석될 수 있다. The different top-level concepts of the selected concepts mean that they are defined in separate concept ontology. It can use OR operations to handle relationships between different concepts. For example, suppose there are separate conceptual ontology for 'buy' and 'sell'. If the user selects the concept of "buy book" in "buy" ontology and the concept of "sell book" in "sell" ontology, it is included in 'buy' and 'sell' ontology respectively. It means to find out which processes are in place. Therefore, it can be interpreted in the same way as the query "find a process that makes it possible to sell or buy a book."

상기 프로세스 개념 매치메이킹 단계는 (1c)프로세스 개념 선택 단계(s310);(2c)선택된 개념들의 최상위 개념 분석 단계(s320); (3c)상기 (2c)단계의 최상위 개념이 동일한지 동일하지 않은지 판별하는 제 1 판별단계(s330); (4c)상기 제 1 판별단계의 판별 결과가 동일하면 최상위 개념이 같을 경우의 개념 매치메이킹을 수행하고(s350), 상기 제 1 판별단계의 판별 결과가 동일하지 않으면 각각의 최상위 개념에 대해 선택된 개념과 하위 개념에 포함되는 프로세스들을 검색하여(s340) 서로 다른 최상위 개념에 포함되는 프로세스들을 OR처리하는 단계(s360)를 포함하여 수행되는 특징을 갖는다.The process concept matchmaking step includes (1c) process concept selection step (s310); (2c) top level concept analysis step (s320) of the selected concepts; (3c) a first determining step (s330) for determining whether the most significant concept of the step (2c) is the same or not the same; (4c) If the determination result of the first determination step is the same, the concept matchmaking is performed when the highest concept is the same (s350). If the determination result of the first determination step is not the same, the concept selected for each top concept is selected. And (S340) searching for processes included in subordinate concepts and OR processing processes included in different top-level concepts (s360).

상기 (4c)단계의 최상위 개념이 같은 경우의 개념 매치메이킹은 (1d)선택된 개념들의 관점을 분석하는 단계(s351); (2d)상기 선택된 개념들이 같은 관점을 가지는지 다른 관점을 가지는지 판별하는 제 1 판별단계(s352); (3d)상기 제 1 판별단계의 판별 결과가 같은 관점이면 선택한 각각의 개념과 하위 개념에 포함되는 프 로세스들을 검색하여(s353) 각 개념에 포함되는 프로세스들을 OR처리하고(s354), 상기 제 1 판별단계의 판별 결과가 다른 관점이면 각 관점에 대해 선택한 개념과 하위 개념에 포함되는 프로세스들을 검색하여(s355) 서로 다른 관점에 포함되는 프로세스들을 AND처리하는 단계(s356)를 포함하여 수행되는 특징을 갖는다. Concept matchmaking in the case where the top-level concepts of step (4c) are the same may include (1d) analyzing a viewpoint of the selected concepts (s351); (2d) a first determining step (s352) of determining whether the selected concepts have the same viewpoint or different viewpoints; (3d) If the determination result of the first determination step is the same point of view, the processes included in each of the selected concepts and sub-concepts are searched (s353), and OR processes the processes included in each concept (s354), and the first If the determination result of the determination step is a different viewpoint, the process performed by searching for processes included in the selected concept and sub-concept for each viewpoint (s355) and ANDing the processes included in the different viewpoints (s356) Have

도 7은 사용자가 2개 이상의 개념들을 선택하고, 선택한 개념들의 최상위 개념이 서로 다를 경우에 대한 처리 알고리즘을 나타낸 것이다. 먼저 사용자로부터 입력 받은 개념들의 최상위 개념을 먼저 검사한다. 만약, 최상위 개념이 다를 경우에는 선택한 개념과 그 하위 개념에 포함되는 프로세스들을 검색한 후, 검색된 각각의 결과에 대해 OR 연산을 처리하여 결과를 넘겨준다. 그렇지 않고 최상위 개념이 같을 경우에는 도 8의 알고리즘을 이용하여 결과를 처리한다. FIG. 7 illustrates a processing algorithm for a case where a user selects two or more concepts and the selected top concepts differ from each other. First, the top level concepts of the concepts input from the user are first examined. If the top level concept is different, the selected concept and the processes included in the subordinate concept are searched, and the OR operation is processed for each result and the result is passed. Otherwise, if the top-level concepts are the same, the result is processed using the algorithm of FIG.

도 8은 사용자가 선택한 개념들의 최상위 개념이 같을 경우에 대한 처리 알고리즘을 나타낸 것이다. 우선, 사용자가 선택한 개념들에 대한 관점들을 검사한다. 만약, 관점이 같을 경우에는 선택한 개념과 그 하위 개념에 포함되는 프로세스들을 각각 검색한 후, 검색된 각각의 결과에 대해 OR 연산을 처리하여 결과를 넘겨준다. 관점이 다를 경우에는 검색된 결과에 대해 AND 연산을 처리한다. 8 shows a processing algorithm for the case where the highest concept of the concepts selected by the user are the same. First, examine the perspectives on the concepts chosen by the user. If the points of view are the same, the selected concepts and the processes included in the subordinate concepts are each searched, and the OR operation is processed for each of the found results and the results are passed. If the point of view is different, the AND operation is performed on the searched results.

이상에서 설명한 바와 같이, 기존의 시맨틱 웹 서비스 발견의 문제점들을 해결하고 지능적 웹 서비스 발견을 제공하기 위해 프로세스 정보를 온톨로지로 표현하고 이를 이용한 매치메이킹 메커니즘을 제안하였다. 프로세스 정보는 기존의 발 견보다 상세하게 서비스를 기술하고 발견하게 함으로써 지능적 웹 서비스 발견이 가능하게 하며, 프로세스 정보를 이용한 검색은 지능적 웹 서비스 발견에서 요구되는 서비스 발견의 정확률과 재현률을 높이는 효과를 제공한다. 또한 서비스의 자동화를 위한 발견 시스템은 물론, 서비스의 조합, 통합 및 상호 운영을 위한 시스템에 활용될 수 있다.As described above, in order to solve problems of existing semantic web service discovery and provide intelligent web service discovery, process information is represented by ontology and a matchmaking mechanism using the same is proposed. Process information enables intelligent web service discovery by describing and discovering services in more detail than existing discoveries, and search using process information increases the accuracy and reproducibility of service discovery required for intelligent web service discovery. do. It can also be used for discovery systems for the automation of services, as well as systems for the combination, integration and interoperability of services.

Claims (17)

웹 서비스의 발견 방법에 있어,How to find a web service 프로세스 기반 온톨로지를 사용하며,Use process-based ontology, 프로세스 이름, 입력 이름 또는 출력 이름에 대한 구문적인 유사도를 계산하여 프로세스를 발견하는 프로세스 시그니처 매치메이킹 단계;A process signature matchmaking step of discovering a process by calculating syntactic similarities for the process name, input name, or output name; 특정한 프로세스 제어구조를 갖는 프로세스를 포함하는 상위 프로세스를 발견하는 프로세스 구조 매치메이킹 단계;A process structure matchmaking step of finding an upper process including a process having a specific process control structure; 특정한 개념에 포함되는 프로세스를 찾는 프로세스 개념 매치메이킹 단계Process concept matchmaking steps to find processes that are included in a particular concept 를 포함하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.Process-based web service discovery method comprising the. 제 1항에 있어서,The method of claim 1, 상기 프로세스 기반 온톨로지는 온톨로지 언어인 토픽 맵을 이용하며,The process-based ontology uses a topic map, which is an ontology language, 프로세스 이름, 입력 이름 또는 출력 이름에 대한 정의를 포함하는 프로세스 시그니처 온톨로지;A process signature ontology containing definitions for process names, input names, or output names; 프로세스 제어 구조에 대한 정의를 포함하는 프로세스 구조 온톨로지; A process structure ontology that includes a definition for a process control structure; 프로세스 개념들에 대한 정의, 개념들 간의 관계의 정의, 개념들에 대한 관점의 정의, 개념들 간의 분류 정의 또는 분류에 대한 관점의 정의를 포함하는 프로세스 개념 온톨로지Process concept ontology, which includes definitions of process concepts, definitions of relationships between concepts, definitions of perspectives on concepts, definitions of classifications between concepts, or definitions of views on classifications. 를 포함하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.Process-based web service discovery method comprising the. 제 1항에 있어서,The method of claim 1, 상기 구문적 유사도는 가중치를 가지며, 프로세스 이름에 대한 가중치가 입력 이름 또는 출력 이름에 대한 가중치보다 큼을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.The syntactic similarity has a weight, and the weight for the process name is greater than the weight for the input name or the output name. 제 1항에 있어서,The method of claim 1, 하나의 프로세스에서 다수의 입력 이름 또는 다수의 출력 이름이 존재할 때,When multiple input names or multiple output names exist in one process, 입력 이름 또는 출력 이름에 대한 구문적 유사도는 서비스 요구자의 입력 이름 또는 서비스 요구자의 출력 이름에 대해 최대의 구문적 유사도를 갖는 입력 이름 또는 출력 이름을 선택하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.The syntactic similarity for input name or output name is a method of discovery of a process-based web service, characterized by selecting an input name or output name having the maximum syntactic similarity with respect to the service requester's input name or service requester's output name. . 제 4항에 있어서, The method of claim 4, wherein 다수의 서비스 요구자의 입력 이름 또는 다수의 서비스 요구자의 출력 이름이 존재할 때,When there are multiple service requester input names or multiple service requester output names, 각각의 서비스 요구자의 입력 이름 또는 서비스 요구자의 출력 이름에 대해 상기 최대의 구문적 유사도를 선택하여 다수의 서비스 요구자의 입력 이름수 또는 다수의 서비스 요구자의 출력 이름수에 대해 평균을 취하여 구문적 유사도를 계산함을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.For each service requester's input name or service requester's output name, the maximum syntactic similarity is selected to average the syntactic similarity by averaging over the number of input names of multiple service requesters or the output name of multiple service requesters. A method of finding a process-based web service characterized by calculating. 제 1항에 있어서,The method of claim 1, 상기 프로세스 제어 구조는 순차, 분리, 분리와 결합, 임의-순서, 선택, 조건 또는 반복, 또는 이들의 조합을 포함함을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.Wherein said process control structure comprises sequence, separation, separation and combination, random-order, selection, condition or iteration, or a combination thereof. 제 1항에 있어서,The method of claim 1, 상기 프로세스 구조 매치메이킹 단계는 순차 또는 임의-순서 구조를 발견하는 순차 구조 매치메이킹 단계, 분리 또는 분리와 결합 구조를 발견하는 병렬 구조 매치메이킹 단계, 선택 또는 조건 구조를 발견하는 선택 구조 매치메이킹 단계를 포함함을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.The process structure matchmaking step includes a sequential structure matchmaking step that finds a sequential or random-order structure, a parallel structure matchmaking step that finds a separate or separate and combined structure, and a selection structure matchmaking step that finds a selection or conditional structure. Method of finding a process-based web service, characterized in that it includes. 제 7항에 있어서,The method of claim 7, wherein 상기 순차 구조 매치메이킹은 순차 구조를 포함하는 상위 프로세스, 선행 프로세스, 후행 프로세스, 선행 프로세스 형태 또는 후행 프로세스 형태의 정보를 포함하는 순차 구조 테이블을 이용하여 특정 구조를 발견하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.The sequential structure matchmaking process finds a specific structure by using a sequential structure table including information of an upper process, a preceding process, a following process, a preceding process form, or a following process form including the sequential structure. How to find the service. 제 7항에 있어서,The method of claim 7, wherein 상기 병렬 구조 매치메이킹은 병렬 구조를 포함하는 상위 프로세스, 병렬 구 조를 가지는 프로세스 1과 프로세스 2, 프로세스 1의 형태 또는 프로세스 2의 형태의 정보를 포함하는 병렬 구조 테이블을 이용하여 특정 구조를 발견하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.The parallel structure matchmaking may be performed by using a parallel structure table including information on a higher level process including a parallel structure, a process 1 and a process 2 having a parallel structure, a form of a process 1, or a form of a process 2. Method of finding a process-based web service, characterized in that. 제 7항에 있어서,The method of claim 7, wherein 상기 선택 구조 매치메이킹은 선택 구조를 포함하는 상위 프로세스, 선택 가능한 프로세스, 선택 가능한 프로세스의 형태의 정보를 포함하는 선택 구조 테이블을 이용하여 특정 구조를 발견하는 것을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법. In the selection structure matchmaking, a method for discovering a process-based web service using a selection structure table including information on a form of a superior process, a selectable process, and a selectable process including the selection structure is selected. . 제 1항에 있어서, The method of claim 1, 상기 프로세스 개념 매치메이킹은 서비스 요구자에 의해 요구된 프로세스들의 최상위 개념이 동일하며 같은 관점을 가지고 있을 때, OR 연산을 통하여 개념간의 관계가 처리됨을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법. The process concept matchmaking is a process-based web service discovery method characterized in that the relationship between the concept is processed through the OR operation when the highest concept of the processes required by the service requester is the same and has the same view. 제 1항에 있어서,The method of claim 1, 상기 프로세스 개념 매치메이킹은 서비스 요구자에 의해 요구된 프로세스들의 최상위 개념이 동일하며 서로 다른 관점을 가지고 있을 때, AND 연산을 통하여 개념간의 관계가 처리됨을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법. The process concept matchmaking is a process-based web service discovery method characterized in that the relationship between the concept is processed by the AND operation when the top level concepts of processes required by the service requester are the same and have different points of view. 제 1항에 있어서,The method of claim 1, 상기 프로세스 개념 매치메이킹은 서비스 요구자에 의해 요구된 프로세스들의 최상위 개념이 서로 다를 때, OR 연산을 통하여 개념간의 관계가 처리됨을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.The process concept matchmaking is a process-based web service discovery method characterized in that the relationship between the concept is processed through the OR operation when the top level concepts of the processes requested by the service requester is different. 제 1항에 있어서, The method of claim 1, 상기 프로세스 시그니처 매치메이킹 단계는The process signature matchmaking step (1a)프로세스 이름 유사도를 계산하는 단계;(1a) calculating process name similarity; (2a)입력 이름 및 출력 이름에 대한 최대 유사도 값들의 평균을 계산하는 단계; 및(2a) calculating an average of maximum similarity values for the input name and the output name; And (3a) 가중치를 이용하여 총 유사도 값을 계산하는 단계;(3a) calculating a total similarity value using the weights; 를 포함함을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.Method of finding a process-based web service, characterized in that it comprises a. 제 1항에 있어서,The method of claim 1, 상기 프로세스 구조 매치메이킹 단계에서,In the process structure matchmaking step, 프로세스 구조 분석 및 저장 단계는Process structure analysis and storage steps (1b)최상위 프로세스 검색 단계;(1b) top level process searching; (1b)원자 프로세스인지 또는 복합 프로세스인지 판별하는 제 1 판별 단계;(1b) a first determining step of determining whether the process is an atomic process or a complex process; (2b)상기 제 1 판별 단계의 판별 결과가 원자 프로세스이면 검색을 종료하고,(2b) if the determination result of the first determination step is an atomic process, the search ends; 상기 제 1 판별 단계의 판별 결과가 복합 프로세스이면 제어 구조가 기 존재하는 구조인지 새로운 구조인지 판별하는 제 2 판별 단계;A second determination step of determining whether a control structure is an existing structure or a new structure when the determination result of the first determination step is a composite process; (3b)상기 제 2 판별 단계의 판별 결과가 기 존재하는 구조이면 순차 구조, 병렬 구조 또는 선택 구조인지 검색하여 구조 정보 테이블에 구조정보를 저장하고, 상기 제 2 판별 단계의 판별 결과가 새로운 구조이면 새로운 구조정보를 상기 구조 정보 테이블과 새로운 구조정보 테이블에 동시에 저장하는 단계;(3b) If the determination result of the second determination step is an existing structure, the structure information is stored in the structure information table by searching whether it is a sequential structure, a parallel structure or a selection structure, and if the determination result of the second determination step is a new structure. Simultaneously storing new structure information in the structure information table and the new structure information table; (4b)상기 (3b)단계의 저장된 구조정보를 가지는 프로세스가 원자 프로세스인지 또는 복합 프로세스인지 판별하는 제 3 판별 단계; 및(4b) a third determining step of determining whether the process having the stored structure information of step (3b) is an atomic process or a composite process; And (5b)상기 제 3 판별 단계의 판별 결과가 원자 프로세스이면 검색을 종료하고,(5b) if the determination result of the third determination step is an atomic process, the search ends; 상기 제 3 판별 단계의 판별 결과가 복합 프로세스이면 제 (2b)단계의 제 2 판별 단계를 수행하는 단계;Performing a second determination step of step (2b) if the determination result of the third determination step is a composite process; 를 포함함을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.Method of finding a process-based web service, characterized in that it comprises a. 제 1항에 있어서,The method of claim 1, 상기 프로세스 개념 매치메이킹 단계는The process concept matchmaking step (1c)프로세스 개념 선택 단계;(1c) selecting a process concept; (2c)선택된 개념들의 최상위 개념 분석 단계; 및(2c) analyzing a top level concept of the selected concepts; And (3c)상기 (2c)단계의 최상위 개념이 동일한지 동일하지 않은지 판별하는 제 1 판별단계;(3c) a first judging step of judging whether or not the most significant concept of step (2c) is the same or not; (4c)상기 제 1 판별단계의 판별 결과가 동일하면 최상위 개념이 같을 경우의 개념 매치메이킹을 수행하고, (4c) if the determination result of the first determination step is the same, concept matchmaking when the highest concept is the same, and 상기 제 1 판별단계의 판별 결과가 동일하지 않으면 각각의 최상위 개념에 대해 선택된 개념과 하위 개념에 포함되는 프로세스들을 검색하여 서로 다른 최상위 개념에 포함되는 프로세스들을 OR처리하는 단계;ORing the processes included in the different top-level concepts by searching for the processes included in the selected concept and the lower-level concept for each top-level concept if the determination result of the first determination step is not the same; 를 포함함을 특징으로 하는 프로세스 기반 웹 서비스의 발견 방법.Method of finding a process-based web service, characterized in that it comprises a. 제 16항에 있어서,The method of claim 16, 상기 (4c)단계의 최상위 개념이 같은 경우의 개념 매치메이킹은If the highest concept in step (4c) is the same, concept matchmaking (1d)선택된 개념들의 관점을 분석하는 단계;(1d) analyzing the viewpoints of the selected concepts; (2d)상기 선택된 개념들이 같은 관점을 가지는지 다른 관점을 가지는지 판별하는 제 1 판별단계; 및(2d) a first discriminating step of determining whether the selected concepts have the same viewpoint or different perspectives; And (3d)상기 제 1 판별단계의 판별 결과가 같은 관점이면 선택한 각각의 개념과 하위 개념에 포함되는 프로세스들을 검색하여 각 개념에 포함되는 프로세스들을 OR처리하고, (3d) if the determination result of the first determination step is the same point of view, OR processes the processes included in each concept by searching for processes included in each of the selected concepts and sub-concepts, 상기 제 1 판별단계의 판별 결과가 다른 관점이면 각 관점에 대해 선택한 개념과 하위 개념에 포함되는 프로세스들을 검색하여 서로 다른 관점에 포함되는 프로세스들을 AND처리하는 단계;If the determination result of the first determination step is a different view, searching for processes included in the selected concept and subordinate concepts for each view and ANDing the processes included in the different views; 를 포함함을 특징으로 하는 프로세스 기반 웹 서비스 발견 방법. Process-based web service discovery method comprising the. ..
KR1020070046987A 2007-05-15 2007-05-15 Method of Semantic Web Service Discovery using Process-based Ontology KR100878157B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070046987A KR100878157B1 (en) 2007-05-15 2007-05-15 Method of Semantic Web Service Discovery using Process-based Ontology

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070046987A KR100878157B1 (en) 2007-05-15 2007-05-15 Method of Semantic Web Service Discovery using Process-based Ontology

Publications (2)

Publication Number Publication Date
KR20080100931A true KR20080100931A (en) 2008-11-21
KR100878157B1 KR100878157B1 (en) 2009-01-15

Family

ID=40287265

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070046987A KR100878157B1 (en) 2007-05-15 2007-05-15 Method of Semantic Web Service Discovery using Process-based Ontology

Country Status (1)

Country Link
KR (1) KR100878157B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010128711A1 (en) * 2009-05-07 2010-11-11 한국과학기술정보연구원 Semantic broker system and semantic broker service method
WO2010128712A1 (en) * 2009-05-07 2010-11-11 한국과학기술정보연구원 System and method for semantic service
WO2010128710A1 (en) * 2009-05-07 2010-11-11 한국과학기술정보연구원 Semantic service applying system and method
KR20180035477A (en) * 2016-09-29 2018-04-06 (주)시지온 Method for selecting headword of electronic document, method for providing electronic document, and computing system performing the same

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010128711A1 (en) * 2009-05-07 2010-11-11 한국과학기술정보연구원 Semantic broker system and semantic broker service method
WO2010128712A1 (en) * 2009-05-07 2010-11-11 한국과학기술정보연구원 System and method for semantic service
WO2010128710A1 (en) * 2009-05-07 2010-11-11 한국과학기술정보연구원 Semantic service applying system and method
US8402113B2 (en) 2009-05-07 2013-03-19 Korea Institute Of Science And Technology Information Semantic service applying system and method
KR20180035477A (en) * 2016-09-29 2018-04-06 (주)시지온 Method for selecting headword of electronic document, method for providing electronic document, and computing system performing the same

Also Published As

Publication number Publication date
KR100878157B1 (en) 2009-01-15

Similar Documents

Publication Publication Date Title
Qi et al. A correlation graph based approach for personalized and compatible web apis recommendation in mobile app development
Mirza et al. Studying recommendation algorithms by graph analysis
CN101111837B (en) Search processing with automatic categorization of queries
Broens et al. Context-aware, ontology-based service discovery
JP5921536B2 (en) Computerized Agent System and User Instruction Semantic Networking
Liu et al. Semantic content-based recommendation of software services using context
Zhang et al. Construction of ontology-based user model for web personalization
KR100878157B1 (en) Method of Semantic Web Service Discovery using Process-based Ontology
Martins et al. DSCrank: a method for selection and ranking of datasets
Le et al. Improving semantic similarity measure within a recommender system based-on rdf graphs
Loia et al. Fuzzy logic and the internet
Lara et al. A flexible model for web service discovery
CN113139125B (en) User demand driven service matching method
Lin et al. Integrating the optimal classifier set for sentiment analysis
Benouaret et al. An efficient greedy algorithm for sequence recommendation
Bragilovski et al. Searching for class models
Merin et al. Social based Web Service Discovery for Multiple Domains and Recommendation
Boulakbech et al. Deep learning model for personalized web service recommendations using attention mechanism
Khoshkangini et al. A design of context-aware framework for conditional preferences of group of users
Xu et al. Towards multimodal query in web service search
Buvanesvari et al. A review of fuzzy based QoS web service discovery
Yacoubi Ayadi et al. An enhanced framework for semantic web service discovery
Gabsi et al. Cloud Services Discovery Assistant for Business Process Development
Sara et al. Applying Decision Aid Science to Support Customer Choices for Web Services Operations
Li et al. Analyzing performances of three context-aware collaborator recommendation algorithms in terms of accuracy and time efficiency

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20191231

Year of fee payment: 12