KR101438924B1 - 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템 및 방법 - Google Patents

타입인지 웹 서비스 구성을 위한 모델 체킹 시스템 및 방법 Download PDF

Info

Publication number
KR101438924B1
KR101438924B1 KR1020120136155A KR20120136155A KR101438924B1 KR 101438924 B1 KR101438924 B1 KR 101438924B1 KR 1020120136155 A KR1020120136155 A KR 1020120136155A KR 20120136155 A KR20120136155 A KR 20120136155A KR 101438924 B1 KR101438924 B1 KR 101438924B1
Authority
KR
South Korea
Prior art keywords
model checking
web service
rti
type
reachability
Prior art date
Application number
KR1020120136155A
Other languages
English (en)
Other versions
KR20140068545A (ko
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 KR1020120136155A priority Critical patent/KR101438924B1/ko
Publication of KR20140068545A publication Critical patent/KR20140068545A/ko
Application granted granted Critical
Publication of KR101438924B1 publication Critical patent/KR101438924B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템 및 방법에 관한 것으로서, 획득한 웹 서비스들을 전처리하는 전처리부, 및 상기 전처리된 웹 서비스들에 대해서 모델 체킹을 수행하여, 도달 가능성(reachability) 문제를 해결하는 모델 체킹부를 포함할 수 있다.

Description

타입인지 웹 서비스 구성을 위한 모델 체킹 시스템 및 방법{SYSTEM AND METHOD OF MODEL CHECKING FOR TYPE-AWARE WEB SERVICE COMPOSITION}
본 발명의 실시예들은 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템 및 방법에 관한 것으로서, 타입인지 웹 서비스 구성 문제를 해결하기 위해, 이진 결정 다이어그램(binary decision diagrams (BDDs))을 이용하여 상징적 고정 소수점을 계산(symbolic fixed-point computation)하고, 부울 수식의 충족 가능성 감소를 이용하여 가장 작은 값과 길이 K의 솔루션 경로의 존재를 체크하며, 자동 추상화 및 정제(automatic abstraction-refinement) 기술을 이용하여, 도달 가능성 문제를 해결하는 기술적 사상에 관한 것이다.
인터넷 사용자들의 기하급수적인 증가와 함께 웹 페이지들의 수가 폭발적으로 증가하고 있다.
이러한 현상으로 인해, 인터넷에서 원하는 정보를 발견하고 이용하기가 쉽지 않은 상황이다.
이러한 문제점들을 근본적으로 해결하고자 근래에는 기계가 이해하고 추론할 수 있는 시맨틱 웹이 등장하였다.
시맨틱 웹이란 컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록, 이해하기 쉬운 의미를 가진 차세대 지능형 웹이다.
예를 들어 시맨틱 웹은, 휴가 계획을 세우기 위하여 웹 상에 있는 여행 정보를 일일이 직접 찾아서 비행기와 호텔을 예약하는 대신에 자동화된 프로그램에 대략적 휴가 일정과 개인의 기호만을 알려주면 자료의 의미가 포함되어 있는 웹 상의 정보를 해독하여 손쉽게 세부 일정과 여행에 필요한 예약이 이루어지는 것과 같은 원리로 동작한다.
시맨틱 웹을 구성하는 핵심 기술로는 자원 기술 개념(RDF)과 같은 웹 자원(resource)을 서술하기 위한 자원 서술 기술, 온톨로지(ontology)를 통한 지식 서술 기술, 통합적으로 운영하기 위한 에이전트(agent) 기술 등을 들 수 있다.
시맨틱 웹과 관련된 여러 가지 기술들 중 시맨틱 웹 서비스는 사용자에게 현재의 인터넷 환경에서 제공할 수 있는 서비스보다 향상된 고품질의 서비스를 제공하는 것을 목적으로 삼고 있다.
이러한 시맨틱 웹 서비스는 웹 서비스의 발견, 실행 및 구성으로 구성된다. 본 논문에서는 시맨틱 웹 서비스를 자동화하기 위한 노력의 일환으로서 시맨틱 웹에서 웹 서비스를 구성하는 문제에 대하여 언급한다.
시맨틱 웹 서비스 구성문제는 사용자의 요구사항을 충족시키기 위하여 다양한 웹 서비스들을 조합하는 문제이다.
그러나, WSFL, X-LANG 및 BPEL4WS 그리고, DAML-S와 같은 웹 서비스 구성문제에 대한 일련의 노력들에서는 사용자 요구사항에 대한 검증이나 서비스의 품질에 대한 사항들을 확인 및 제공할 수 있는 방법들이 없다.
웹 서비스 자동화를 위해서는 웹 서비스 자동발견(Automatic Web Services Discovery) 기능, 자동 실행(Automatic Web Services Execution), 자동 구성과 상호운용(Automatic Web Services Composition and Interoperation)이 가능해야 한다.
웹 서비스는 인터넷을 통해 컴퓨터 간 작업을 기계로 지원하기 위해 설계된 소프트웨어 시스템이다.
최근에는, 웹 서비스 표준에 대한 많은 연구가 진행되었으며, 이러한 노력은 크게 현재 의미 웹 서비스의 서비스 지향 아키텍처의 기능들을 유연하고 동적으로 개선할 수 있다.
그러나, 많은 연구들은 자동 웹 서비스 검색, 웹 서비스 구성과 구성된 웹 서비스들에 대한 공식적인 증명에 있어 많은 도전을 하고 있다.
사용 가능한 웹 서비스 및 사용자 요청의 집합을 감안할 때, 웹 서비스 검색 문제는 자동으로 요청을 만족하는 웹 서비스를 검색할 수 있다.
종종 클라이언트가 요청을 하지만, 하나의 기존 서비스에 의해 클라이언트의 요청을 이행할 수 없다. 이 경우, 주어진 웹 서비스들의 세트와 결합한 웹 서비스 구성에 대한 갈망은 이러한 요구를 충족한다.
일실시예에 따른 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템은 획득한 웹 서비스들을 전처리하는 전처리부, 상기 전처리된 웹 서비스들에 대해서 모델 체킹을 수행하여, 도달 가능성(reachability) 문제를 해결하는 모델 체킹부를 포함할 수 있다.
일실시예에 따른 상기 모델 체킹부는, 이진 결정 다이어그램(binary decision diagrams, BDDs)을 이용하여, 상기 도달 가능성(reachability) 문제를 해결하는 심볼릭 모델 체크부를 포함할 수 있다.
일실시예에 따른 상기 모델 체킹부는, 이진 결정 다이어그램(binary decision diagrams, BDDs)을 이용하여, 상기 전처리된 웹 서비스에 대한 심볼릭 고정 소수점(symbolic fixed-point)을 계산하고, 상기 계산된 심볼릭 고정 소수점(symbolic fixed-point)을 이용하여 상기 도달 가능성(reachability) 문제를 해결할 수 있다.
일실시예에 따른 상기 모델 체킹부는, 상기 전처리된 웹 서비스에 대해, 부울 수식(boolean formulas)의 충족 가능성(satisfiability)을 감소시켜, 길이 k의 최소 값을 갖는 솔루션 경로의 존재를 체크하여 상기 도달 가능성(reachability) 문제를 해결할 수 있다.
일실시예에 따른 상기 모델 체킹부는, 상기 전처리된 웹 서비스에 자동 추상화-정제(abstraction-refinement) 기술을 적용하여 상기 도달 가능성(reachability) 문제를 해결하는 추상화 및 정제부를 포함할 수 있다.
일실시예에 따른 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템의 동작 방법은 획득한 웹 서비스들을 전처리하는 단계, 및 상기 전처리된 웹 서비스들에 대해서 모델 체킹을 수행하여, 도달 가능성(reachability) 문제를 해결하는 단계를 포함할 수 있다.
일실시예에 따른 상기 도달 가능성(reachability) 문제를 해결하는 상기 단계는, 이진 결정 다이어그램(binary decision diagrams, BDDs)을 이용하여, 상기 도달 가능성(reachability) 문제를 해결하는 단계를 포함할 수 있다.
일실시예에 따른 상기 도달 가능성(reachability) 문제를 해결하는 상기 단계는, 상기 이진 결정 다이어그램(binary decision diagrams, BDDs)을 이용하여, 상기 전처리된 웹 서비스에 대한 심볼릭 고정 소수점(symbolic fixed-point)을 계산하는 단계, 및 상기 계산된 심볼릭 고정 소수점(symbolic fixed-point)을 이용하여 상기 도달 가능성(reachability) 문제를 해결할 수 있다.
일실시예에 따른 상기 도달 가능성(reachability) 문제를 해결하는 상기 단계는, 상기 전처리된 웹 서비스에 대해, 부울 수식(boolean formulas)의 충족 가능성(satisfiability)을 감소시키는 단계, 및 상기 감소된 부울 수식(boolean formulas)의 충족 가능성(satisfiability)에 기반하여, 길이 k의 최소 값을 갖는 솔루션 경로의 존재를 체크하여 상기 도달 가능성(reachability) 문제를 해결하는 단계를 포함할 수 있다.
일실시예에 따른 상기 도달 가능성(reachability) 문제를 해결하는 상기 단계는, 상기 전처리된 웹 서비스에 자동 추상화-정제(abstraction-refinement) 기술을 적용하여 상기 도달 가능성(reachability) 문제를 해결하는 단계를 포함할 수 있다.
일실시예에 따르면, 최적의 웹 서비스 구성(WSC)을 찾을 진보한 구성을 제공할 수 있다.
일실시예에 따르면, 웹 서비스들의 최단 시퀀스에 상응하는 초기 상태(initial state)에서 목표 상태(goal state) 간의 최단 경로에 대한 도달 가능성(reachability) 문제를 줄일 수 있다.
일실시예에 따르면, 도달 가능성(reachability) 문제를 해결하기 위해, 다양한 모델 검사 기술들을 공식화하여 적용할 수 있다.
도 1은 본 발명의 일실시예에 따른 모델 체킹 시스템의 내부 구성을 설명하는 블록도이다.
도 2는 본 발명의 일실시예에 따른 모델 체킹부의 내부 구성을 설명하는 블록도이다.
도 3은 본 발명의 일실시예에 따른 모델 체킹 시스템의 동작 방법을 설명하는 흐름도이다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 모델 체킹 시스템(100)의 내부 구성을 설명하는 블록도이다.
본 발명의 일실시예에 따른 모델 체킹 시스템(100)은 전처리부(110) 및 모델 체킹부(120)를 포함할 수 있다.
일실시예에 따른 전처리부(110)는 획득한 웹 서비스들을 전처리할 수 있다.
또한, 일실시예에 따른 모델 체킹부(120)는 상기 전처리된 웹 서비스들에 대해서 모델 체킹을 수행하여, 도달 가능성(reachability) 문제를 해결할 수 있다.
일실시예에 따른 모델 체킹부(120)는 전처리된 웹 서비스들의 웹 서비스 설명 및 웹 서비스 요구 사항의 집합을 감안할 때, 상태 변화(state-transition) 시스템의 도달 가능성(reachability) 문제에서 웹 서비스 구성(WSC, Web Service Composition) 문제를 줄이고, 최적의 구성에 대한 비용과 관련된 도달 가능성(reachability) 문제에 대한 최단 경로를 찾을 수 있다.
웹 서비스 구성은 소프트웨어 개발자가 쉽게 서비스 지향 아키텍처(SOA, Service Oriented Architecture)의 꼭대기에서 기존의 구성에서 응용 프로그램을 구축하는데 도움이 되는 눈에 잘 띄는 기술이다.
이러한 웹 서비스 구성 문제의 목표를 위해, 일실시예에 따른 모델 체킹부(120)는 단일 서비스가 충족되지 않는 경우, 웹 서비스들의 시맨택 또는 시맨틱 특징들을 사용하여 주어진 요구를 충족하는 웹 서비스의 최적의 구성을 찾을 수 있다.
일실시예에 따른 모델 체킹부(120)는 매개 변수 중 슈퍼타입과 서브타입의 관계를 활용하여 의미론적 측면에서 웹 서비스 구성 문제를 해결할 수 있다.
일실시예에 따른 모델 체킹부(120)는 도달 가능성(reachability) 문제를 해결하기 위해, 다양한 모델 검사 기술들을 공식화하여 적용할 수 있다.
일실시예에 따른 모델 체킹부(120)는 웹 서비스의 집합 및 웹 서비스 요구 사항을 감안할 때, 여러 모델 체킹 알고리즘을 이용하여 합법적(legally)으로 각 단계에서 다음 웹 서비스를 호출하여, 클라이언트가 원하는 요구 사항을 달성 할 수 있도록 웹 서비스의 최단 시퀀스를 식별할 수 있다.
일실시예에 따른 모델 체킹부(120)는 구성 문제를 줄여 상태 변화(state-transition) 시스템에서 웹 서비스들의 최단 시퀀스에 상응하는 초기 상태(initial state)에서 목표 상태(goal state) 간의 최단 경로에 대한 도달 가능성(reachability) 문제를 줄일 수 있다.
구체적으로, 일실시예에 따른 모델 체킹부(120)는 도달 가능성(reachability) 문제를 해결하기 위해, 도 2와 같이 공식화된 다양한 모델 검사 기법을 이용한다.
도 2는 본 발명의 일실시예에 따른 모델 체킹부(200)의 내부 구성을 설명하는 블록도이다.
본 발명의 일실시예에 따른 모델 체킹부(200)는 도달 가능성(reachability) 문제를 해결하기 위해서, 심볼릭 모델 체크부(210), SAT 솔버부(220), 추상화 및 정제부(230)를 포함할 수 있다.
일실시예에 따른 심볼릭 모델 체크부(210)는 이진 결정 다이어그램(binary decision diagrams, BDDs)을 이용하여, 상기 전처리된 웹 서비스에 대한 심볼릭 고정 소수점(symbolic fixed-point)을 계산하고, 상기 계산된 심볼릭 고정 소수점(symbolic fixed-point)을 이용하여 상기 도달 가능성(reachability) 문제를 해결할 수 있다.
일실시예에 따른 SAT 솔버부(220)는 전처리된 웹 서비스에 대해, 부울 수식(boolean formulas)의 충족 가능성(satisfiability)을 감소시켜, 길이 k의 최소 값을 갖는 솔루션 경로의 존재를 체크하여 상기 도달 가능성(reachability) 문제를 해결할 수 있다.
일실시예에 따른 추상화 및 정제부(230)는 전처리된 웹 서비스에 자동 추상화-정제(abstraction-refinement) 기술을 적용하여 상기 도달 가능성(reachability) 문제를 해결할 수 있다.
타입 인지 웹 서비스 구성에 있어, 웹 서비스는 w = (I, O)인 튜플이다.
여기서, I는 w를 위한 입력 파라미터들의 유한 집합이고, O는 w를 위한 출력 파라미터 들의 유한 집합이며, 각각의 입출력 파라미터 p는 I와 O의 합집합이고, p는 타입 tp를 갖는다.
웹 서비스(w)는 타입 ti의 모든 입력 파라미터들(i)과 함께 호출될 때, 타입 ti의 모든 출력 파라미터들(o)을 반환할 수 있다.
타입 t1과 타입 t2가 주어졌을 때, 어느 곳에서도 타입 t1이 타입 t2로 대체될 수 있을 정도로 타입 t1이 타입 t2 이상으로 유익(informative) 하다면, 타입 t1은 타입 t2의 서브 타입으로 정의되고, "t1 <: t2"와 같이 표현될 수 있다.
이 경우, 타입 t2는 타입 t1의 슈퍼타입(supertype)일 수 있다.
이러한 타입의 관계에 따라서, 모든 종류의 타입에 대해서, 타입t는 타입t와 서브타입 또는 슈퍼타입의 관계 (t <: t for any type t)에 있다고 볼 수 있다.
또한, 타입 t1이 타입 t2의 서브타입이고, 타입 t2가 타입 t1의 슈퍼타입인 관계에 있고, 이와 동시에 타입 t2이 타입 t3의 서브타입이고, 타입 t3이 타입 t2의 슈퍼타입인 관계에 있다면, 타입 t1이 타입 t3의 서브타입이고, 타입 t3가 타입 t1의 슈퍼타입인 관계에 있다(if t1 <: t2 and t2 <: t3 then t1 <: t3)는 공식이 성립된다.
두 개의 웹 서비스, w1 (I1, O1)과 w2 (I2, O2)이 주어진 경우, w2가 w1 이하로 유익한(informative)한 정보를 필요로 한다면,
Figure 112012098632634-pat00001
로 표현할 수 있다.
이때, 모든 i2에 대해서
Figure 112012098632634-pat00002
을 만족하는 i1이 존재한다.
두 개의 웹 서비스, w1 (I1, O1)과 w2 (I2, O2)이 주어진 경우, w2가 w1 이하로 유익한(informative)한 정보를 제공한다면,
Figure 112012098632634-pat00003
로 표현할 수 있다.
이때, 모든 o1에 대해서
Figure 112012098632634-pat00004
를 만족하는 o2가 존재한다.
Figure 112012098632634-pat00005
Figure 112012098632634-pat00006
는 상호 반사(reflexive) 관계에 있다.
웹 서비스 발견 문제(web service discovery problem)는 웹 서비스들의 세트가 주어졌을 때, 가용한 웹 서비스들과 요청하는 웹 서비스들의 세트 wr와, 찾아야 할 웹 서비스 w(
Figure 112012098632634-pat00007
Figure 112012098632634-pat00008
)이다.
직관적으로, 솔루션 웹 서비스 w는 wr 이하의 입력을 요구하고, wr 이상의 출력을 제공한다. 그러나, 단일 웹 서비스는 이러한 요구를 만족할 수 없다.
이 경우에 결국 원하는 요구 사항을 달성할 수 있도록 각 단계에서 합법적으로 다음 웹 서비스를 호출할 수 있는 웹 서비스의 시퀀스 w1, ..., wn을 찾아야 한다.
따라서, 아래와 같이 웹 서비스의 시퀀스의 관계
Figure 112012098632634-pat00009
Figure 112012098632634-pat00010
를 확장할 수 있다.
Figure 112012098632634-pat00011

Figure 112012098632634-pat00012

최종적으로, 가용한 웹 서비스의 세트 W와 서비스 요청 wr, 타입인지 웹 서비스 구성 문제 WC=<W, wr>가 주어졌을 때,
Figure 112012098632634-pat00013
Figure 112012098632634-pat00014
와 같이 웹 서비스들의 세트 W의 모든 원소들에 대해서 시퀀스 w1, ..., wn을 찾을 수 있다.
공식적으로, 웹 서비스의 시퀀스 w1, ..., wn는 wr이하의 입력을 요구하고, wr이상의 출력을 제공한다.
이 문제를 위한 최적의 솔루션은 최소 값의 n을 갖는 시퀀스를 찾는 것이다.
이러한 타입인지 웹 서비스 구성 문제를 해결하기 위해, 본 발명의 일실시예에 따른 모델 체킹부(200)는 심볼릭 모델 체크부(210), SAT 솔버부(220), 및 추상화 및 정제부(230)를 통해 다양한 모델 체킹 기법을 사용할 수 있다.
타입인지 WSC 문제 WC = <W, wr>가 주어지면, 상태 변화(state-transition) 시스템 상에서 도달 가능성(reachability) 문제를 줄일 수 있다.
상태 변화(state-transition) 시스템은 튜플 S = (X, ∑, T)로 표현될 수 있다.
여기서, X는 부울 변수들의 유한 세트이고, 튜플 S의 상태 q는 X의 모든 변수들을 위한 가치로 해석될 수 있다.
∑는 입력 심볼들의 세트이다.
T(X, ∑, X')는 X
Figure 112012098632634-pat00015
Figure 112012098632634-pat00016
X'를 통한 전환 서술(transition predicate)이다.
변수의 집합 X'는 X의 계승자(successor)로서 X' = {x'|x
Figure 112012098632634-pat00017
X}와의 관계에 있다.
입력 a
Figure 112012098632634-pat00018
∑가 상태 q에서 수신되고, q'가 다음 상태이면, T(q, a, q')는 참이다.
각각의 j, wj = (Ij, Oj)에 대한 웹 서비스들의 세트 W = {w1, ..., wn}가 주어졌을 때, TP를 다음과 같이 타입들의 세트로 정의할 수 있다.
TP = {t | for each p
Figure 112012098632634-pat00019
Figure 112012098632634-pat00020
(Ij
Figure 112012098632634-pat00021
Oj), t = type(p)}.
웹 서비스들의 세트 W = {w1, ..., wn}에 대해서, 아래의 W에 상응하는 상태 변화(state-transition) 시스템 S = (X, ∑, T)를 구축할 수 있다.
X = {x1, ..., xm}, m = |TP|이고, 각 부울 변수 xj는 상태 s에서 타입 tj
Figure 112012098632634-pat00022
T을 갖는 인스턴스를 갖는지에 대한 여부를 표현함
∑ = W
① For s = (x1, ..., xm), s' = (x'1, ..., x'm), and w = (I, O), T(s, w, s') = true iff
② 모든 i
Figure 112012098632634-pat00023
I에 대해서, xj가 참이고, 타입 txj가 타입 i의 서브 타입(i.e., txj <: ti)인 s의 xj가 존재
③ xk가 참이면, x'k도 참이며, 타입 txj에 상응하는 s'의 모든 변수 x'j이 to의 슈퍼 타입인 경우, x'j는 참이다.
직관적으로, 웹 서비스 w는 상태 s에서의 입력 w 보다 유용한(informative) 데이터 인스턴스를 갖고 있는 경우에 상태 a를 호출할 수 있다.
상태 s에서 w가 호출되면, 일실시예에 따른 모델 체킹부(200)는 상태 s로부터 출력 w 뿐만 아니라 그 슈퍼 타입을 얻는데 필요한 모든 데이터 인스턴스들을 유지하는 상태 s'을 진행할 수 있다.
추가로, 웹 서비스 요구 wr = (Iwr, Owr)가 주어지면, 초기 상태의 전환 서술(transition predicate)인 Init(X)와 목표 상태 서술(goal state predicate)인 아래의 G(X)를 암호화할 수 있다.
s = (x1, ..., xm) iff
Figure 112012098632634-pat00024
Figure 112012098632634-pat00025
에서, Init(s)이 참이면, 타입이 tx이 ti (i.e., ti <: txj )의 슈퍼타입인 관계에 있는 s의 모든 변수들 xj은 참이다.
s = (x1, ..., xm) iff
Figure 112012098632634-pat00026
Figure 112012098632634-pat00027
에서, G(s)가 참이면, 모든 출력 파라미터 o
Figure 112012098632634-pat00028
Owr에 대해, to (i.e., txj <: to)의 슈퍼 타입인 타입 txj에서 xj가 참인 q의 xj가 존재한다.
직관적으로, 일실시예에 따른 모델 체킹부(200)는 wr의 입력뿐만 아니라 슈퍼 타입들에 상응하는 모든 데이터 인스턴스들이 소유하는 초기 상태를 갖고 있다.
어떠한 상태가 출력 wr 보다 유용한(informative) 경우라면, 그 상태는 목표 상태로 해석될 수 있다.
결론적으로, 타입인지 WSC 문제 WC = <W, wr>가 주어지면, 일실시예에 따른 모델 체킹부(200)는 타입 인지 WSC 문제 WC에서 웹 서비스들의 최단 시퀀스 도달 가능성 문제 R에 있어, 초기 상태에서 목표 상태까지의 최단 경로를 통해 도달 가능성 문제 R=<S, Init G>를 통해 WC를 줄일 수 있다.
1. 심볼릭 모델 체킹을 통해서 WSC 를 해결( Solving WSC with symbolic model checking )
도달 가능성(reachability) 문제를 해결하기 위해, 일실시예에 따른 심볼릭 모델 체크부(210)는 타입인지 WSC 문제가 주어지면, 도달 가능성 문제 인스턴스를 줄이고, 이진 결정 다이아그램(BDDs)를 이용할 수 있다.
타입인지 WSC 문제가 주어지면, 일실시예에 따른 심볼릭 모델 체크부(210)는 도달 가능성 문제 인스턴스를 줄이고, 이진 결정 다이아그램(BDDs)를 이용하여 도달 가능성 문제를 심볼릭 모델 체킹을 통해서 풀 수 있다.
도달 가능성 문제를 해결하기 위한 심볼릭 모델 체킹 방법의 표준은 고정 소수점 알고리즘이다.
고정 소수점 알고리즘은 상태 전환 시스템의 상태들의 세트를 표현하는 BDDs에 의해서 실행될 수 있다.
[알고리즘 1]
Figure 112012098632634-pat00029

일실시예에 따른 심볼릭 모델 체크부(210)는 [알고리즘 1]을 이용하여 모델 체킹을 수행할 수 있다.
[알고리즘 1]은 타입인지 WSC 문제를 위한 심볼릭 모델 체킹 알고리즘을 표시하는 도면이다.
BDD
Figure 112012098632634-pat00030
는 [알고리즘 1]이 이미 탐구한 상태들의 세트를 나타내고,
Figure 112012098632634-pat00031
는 각각의 루프에서 첫 번째로 방문하는 상태들의 세트를 나타낸다.
일실시예에 따른 심볼릭 모델 체크부(210)는 [알고리즘 1]의 line 3의 초기 상태의 세트와 함께 시작한다.
각각의 반복에 있어, 상태들의 세트에서
Figure 112012098632634-pat00032
^ G(이 반복에서 목표 상태에 도달)로 표현되는 어떠한 상태들이 존재한다면, [알고리즘 1]은 초기화 상태로부터 목표 상태의 경로를 갖고 종료된다.
다시 말해,
Figure 112012098632634-pat00033
로 표현되는 상태들의 세트는
Figure 112012098632634-pat00034
(line 6)에 저장되고, 일실시예에 따른 심볼릭 모델 체크부(210)는 line 7에서 새로운 상태들의 세트를 연산할 수 있다.
[알고리즘 1]에 표시된 'PostImage' 함수는 심볼릭 모델 체킹 기법에 있어서 포스트 이미지 연산을 수행하는 표준이다.
일실시예에 따른 심볼릭 모델 체크부(210)는 상태들의 세트를 표현하는 서술
Figure 112012098632634-pat00035
가 주어지면, 'PostImage' 함수는 가능성이 있는
Figure 112012098632634-pat00036
의 다음 상태들의 세트를 위한 서술을 리턴한다.
일실시예에 따른 심볼릭 모델 체크부(210)는 새로운 상태가 존재하지 않아서 'while' 루프가 종료될 때, [알고리즘 1]은 널 값을 리턴한다.
즉, [알고리즘 1]은 초기 상태로부터 목표 상태에 이르기까지의 경로가 없다는 의미에서 널 값을 리턴한다.
심볼릭 모델 체크 기법이 문제를 해결함에 따라서, 일실시예에 따른 심볼릭 모델 체크부(210)는 'Cadence SMV' 모델 체커를 적용할 수 있다.
참고로, 'Cadence SMV' 모델 체커는 공식적으로 컴퓨터 하드웨어 디자인과 같은 유한 상태 시스템의 시간적 논리 속성을 확인 할 수 있는 상징적인 모델 검사 도구로서 주지 관용 기술이다.
2. SAT 솔버를 이용하여, WSC 를 해결( Solving WSC with SAT solver )
도달 가능성(reachability) 문제를 해결하기 위해, 일실시예에 따른 SAT 솔버부(220)는 부울 수식(boolean formulas)의 충족 가능성(satisfiability) 해법을 이용할 수 있다.
즉, 타입인지 WSC 문제를 해결하기 위한 두 번째 기술은 부울 수식(boolean formulas)의 충족 가능성(satisfiability) 해법이다.
먼저, 일실시예에 따른 SAT 솔버부(220)는 CNF (Conjunctive Normal Form) 수식이 참일 때와 초기 상태에서 목표 상태까지의 길이 k의 경로가 존재하는 경우에 인코딩을 수행한다.
그래서, 일실시예에 따른 모델 체킹부(200)는 알고리즘을 통해 문제의 해결을 찾는 최적의 솔루션을 찾을 수 있다.
도달 가능성 문제 R = <S, Init, G>이 주어지면, 일실시예에 따른 모델 체킹부(200)는 R에서 길이 k를 갖는 경로 q0?k의 경로가 존재하는 경우에 수식 [[R]]k를 구축할 수 있다.
[[R]]k는 [수학식 1]로 표현될 수 있다.
[수학식 1]
Figure 112012098632634-pat00037

[수학식 1]에서, 각 Xj는 부울 변수들의 유한 세트이고, ∑와 Wj는 유한하며, Init, T, G는 술어(predicate)이며, [[R]]k를 SAT 솔버(solver)를 위한 표준 입력 포맷인 CNF 수식으로 쉽게 변환할 수 있다.
수식 [[R]]k는 변수들의 X0, ..., Xk 세트들로 표현될 수 있고, 경로와 Wj 간의 상태를 나타내는 Xj와 연관되는 W1, ..., Wk로 표현될 수 있으며, Wj는 각 단계에서 호출된 웹 서비스를 인코딩할 수 있다.
q0가 초기 상태인 경우 [[R]]k가 충족가능한지의 확인을 위해 q0, ..., qk 및 W1, ..., Wk의 제약을 나타내고, 각각의 qj는 wj와 qk가 목표 상태에 도달하기 위한 전환 서술(transition predicate)에 따라 발전한다.
초기 상태에서 목표 상태까지의 길이 k의 경로가 존재하는지에 대해 체크하기 위해, [[R]]k의 SAT 솔버를 사용할 수 있고, k값을 1에서 |W|까지 단순 증가시켜 가면서 가장 짧은 경로를 찾을 수 있다.
최악의 경우, w
Figure 112012098632634-pat00038
W 의 모든 실행이 더 많은 데이터 인스턴스를 제공하지 않기 때문에 일실시예에 따른 SAT 솔버부(220)는 수식을 오직 |W|회 동안 체크할 수 있다.
일실시예에 따른 SAT 솔버부(220)는 알고리즘 2를 통해, 부울 수식(boolean formulas)의 충족 가능성(satisfiability) 해법을 이용하여 도달 가능성(reachability) 문제를 해결할 수 있다.
Figure 112012098632634-pat00039

일실시예에 따른 SAT 솔버부(220)는 웹 서비스들의 세트 W가 주어지고, 웹 서비스 요구 wr이 있을 때, 알고리즘 2를 이용하여 우선 상태 전환(state-transition) 시스템으로 줄일 수 있다.
일실시예에 따른 SAT 솔버부(220)는 알고리즘 2의 각 루프에서, line 3 동안에 CNF 수식이 구축할 수 있고, off-the-shelf SAT 솔버를 이용하여 수식을 체크할 수 있다.
체크된 수식이 충족 가능하다면, 일실시예에 따른 SAT 솔버부(220)는 진리 할당(truth assignment)을 리턴하고, 그렇지 않은 경우라면 널 값을 리턴한다.
line 5에서 보는 바와 같이, 일실시예에 따른 SAT 솔버부(220)는 길이 k의 경로를 발견하면, 발견한 경로로부터 웹 서비스 시퀀스를 추출하고, 시퀀스를 리턴할 수 있다.
일실시예에 따른 SAT 솔버부(220)는 알고리즘 3을 이용하여 도달 가능성(reachability) 문제를 해결할 수도 있다.
Figure 112012098632634-pat00040

단, 알고리즘 3을 이용하기 위해서는 다음과 같은 조건을 만족해야만 한다.
초기 상태에서 목표 상태로의 길이 K의 경로가 존재하지 않는 경우에 초기 상태에서 목표 상태로 길이 k 이하의 길이 j 의 경로가 존재하지 않는 조건을 만족해야만 한다.
문제 세팅에서, 길이 k 이하의 길이 j인 목적지까지의 경로
Figure 112012098632634-pat00041
가 존재한다면, 일실시예에 따른 SAT 솔버부(220)는
Figure 112012098632634-pat00042
이후의 웹 서비스 w를 호출하여 목표까지의 길이 k의 경로
Figure 112012098632634-pat00043
를 구축할 수 있다.
line 5에서와 같이, 로그 알고리즘은 K로 피벗 값으로 시작할 수 있다.
일실시예에 따른 SAT 솔버부(220)가 길이 k의 경로를 찾는다면, 일실시예에 따른 SAT 솔버부(220)는 이진 검색 알고리즘으로서 보다 더 짧은 경로가 존재하는지를 확인하기 위해 [[R]](low+k)/2인 SAT 솔버를 다시 실행할 수 있다.
다시 말해, 일실시예에 따른 SAT 솔버부(220)는 [[R]](k+high)/2를 재실행할 수 있다.
일실시예에 따른 SAT 솔버부(220)는 이러한 수단을 사용하여, 일실시예에 따른 SAT 솔버부(220)는 빠르게 최단 경로로 수렴할 수 있다.
알고리즘 3은 가장 비용이 많이 발생하는 동작의 실행 log |W|에서 최적의 솔루션을 찾기 위한 일실시예에 따른 SAT 솔버부(220)의 로그 알고리즘(logarithmic algorithm)을 나타낸다.
일실시예에 따른 SAT 솔버부(220)는 상태 변화(state-transition) 시스템으로 W와 wr을 줄이고, line 1의 초기 및 목표 술어, line 5에서와 같이 k로서 미리 정의된 피봇 값을 시작하고, line 6-12에서 이진 검색이 종료될 때까지 while 문을 반복할 수 있다.
각 루프에서, 일실시예에 따른 SAT 솔버부(220)는 CNF 수식을 k동안 구축하고, SAT 솔버를 체크할 수 있다.
일실시예에 따른 SAT 솔버부(220)는 길이 k의 경로를 찾는 즉시, low와 k-1 사이의 최단 경로에 대한 검색을 반복할 수 있다.
일실시예에 따른 SAT 솔버부(220)는 길이 k의 경로를 찾지 못하면, k+1과 high 사이의 경로를 찾기 위한 시도를 한다.
결국, 루프가 종료되면, 일실시예에 따른 SAT 솔버부(220)는 찾은 최단 경로로부터의 웹 서비스 시퀀스를 추출하고, 추출한 웹 서비스 시퀀스를 리턴할 수 있다.
3. 추상화 및 정제 기술을 이용하여 WSC 를 해결( Solving WSC with abstraction and refinement )
도달 가능성(reachability) 문제를 해결하기 위해, 일실시예에 따른 추상화 및 정제부(230)는 정당한 문법적 확인에 있어 도달성 문제를 위한 효율적인 기법인 추상화-정제(abstraction-refinement)를 이용할 수 있다.
추상화-정제(abstraction-refinement) 기술은 큰 상태 공간을 다루는 자동 기법이다.
일실시예에 따른 추상화 및 정제부(230)는 본래 문제의 과잉 근사치(overapproximation)에 대응하는 비교적 작은 추상화로 알고리즘 4를 시작할 수 있다.
Figure 112012098632634-pat00044

일실시예에 따른 추상화 및 정제부(230)는 추상화의 경로가 존재하지 않는다면, 추상화가 초기 문제에 대한 모든 행동들을 포함하는 과잉 근사치(overapproximation)에 근거하여 초기 문제에 대한 경로가 없다고 결론을 내릴 수 있다.
알고리즘 4가 추상적 문제의 경로를 식별하는 경우, 원래 문제가 과잉 근사치로 인해 경로를 포함하지 않을 수 있기 때문에 일실시예에 따른 추상화 및 정제부(230)는 경로가 실행할 수 있는 것인지에 대해 체크할 필요가 있다.
일실시예에 따른 추상화 및 정제부(230)는 경로가 본래 문제에 있어 실행할 수 있는 것이라면, 알고리즘 4를 종료할 수 있다. 만약, 실행할 수 있는 것이 아니라면, 일실시예에 따른 추상화 및 정제부(230)는 추상화를 수정하고 이러한 과정을 반복할 수 있다.
알고리즘 4는 타입인지 WSC 문제를 위해 추상화-정제(abstraction-refinement) 기술을 나타낸다.
앞의 방법으로, 일실시예에 따른 추상화 및 정제부(230)는 알고리즘 4의 line 1에서 주어진 타입인지 WSC 문제를 도달 가능성(reachability)로 줄이고, 알고리즘 4의 line 2에서 도달 가능성 문제를 작은 크기의 추상화 문제로 추상화할 수 있다.
이로써, 일실시예에 따른 추상화 및 정제부(230)는 심볼릭 모델 체킹 기법에 의해 경로를 찾는 것을 시도할 수 있다.
일실시예에 따른 추상화 및 정제부(230)는 알고리즘 4가 경로를 찾는 즉시, 경로의 타당성 검사를 수행할 수 있다.
또한, 일실시예에 따른 추상화 및 정제부(230)는 초기 문제에서 경로가 유효하면, 경로에 상응하는 웹 서비스들의 솔루션 시퀀스를 구축할 수 있다.
일실시예에 따른 추상화 및 정제부(230)는 경로가 유효하지 않다면, 알고리즘 4를 통해 가짜 경로를 배제하기 위해 추상화를 수정할 수 있다.
도 3은 본 발명의 일실시예에 따른 모델 체킹 시스템의 동작 방법을 설명하는 흐름도이다.
본 발명의 일실시예에 따른 모델 체킹 시스템의 동작 방법은 웹 서비스들을 획득하고(단계 301), 획득한 웹 서비스들을 전처리할 수 있다(단계 302).
다음으로, 본 발명의 일실시예에 따른 모델 체킹 시스템의 동작 방법은 상기 전처리된 웹 서비스들에 대해서 모델 체킹을 수행하여, 도달 가능성(reachability) 문제를 해결할 수 있다(단계 303).
본 발명의 일실시예에 따른 모델 체킹 시스템의 동작 방법은 이진 결정 다이어그램(binary decision diagrams, BDDs)을 이용하여, 도달 가능성(reachability) 문제를 해결할 수 있다.
본 발명의 일실시예에 따른 모델 체킹 시스템의 동작 방법은 이진 결정 다이어그램(binary decision diagrams, BDDs)을 이용하여, 전처리된 웹 서비스에 대한 심볼릭 고정 소수점(symbolic fixed-point)을 계산하고, 계산된 심볼릭 고정 소수점(symbolic fixed-point)을 이용하여 도달 가능성(reachability) 문제를 해결할 수 있다.
본 발명의 일실시예에 따른 모델 체킹 시스템의 동작 방법은 전처리된 웹 서비스에 대해, 부울 수식(boolean formulas)의 충족 가능성(satisfiability)을 감소시키고, 감소된 부울 수식(boolean formulas)의 충족 가능성(satisfiability)에 기반하여, 길이 k의 최소 값을 갖는 솔루션 경로의 존재를 체크하여 도달 가능성(reachability) 문제를 해결할 수 있다.
본 발명의 일실시예에 따른 모델 체킹 시스템의 동작 방법은 전처리된 웹 서비스에 자동 추상화-정제(abstraction-refinement) 기술을 적용하여 도달 가능성(reachability) 문제를 해결할 수 있다.
결국, 본 발명의 일실시예에 따른 모델 체킹 시스템 및 동작 방법을 이용하면, 최적의 웹 서비스 구성(WSC)을 찾을 진보한 구성을 제공할 수 있다.
또한, 본 발명의 일실시예에 따른 모델 체킹 시스템 및 동작 방법을 이용하면, 웹 서비스들의 최단 시퀀스에 상응하는 초기 상태(initial state)에서 목표 상태(goal state) 간의 최단 경로에 대한 도달 가능성(reachability) 문제를 줄일 수 있다.
또한, 본 발명의 일실시예에 따른 모델 체킹 시스템 및 동작 방법을 이용하면, 도달 가능성(reachability) 문제를 해결하기 위해, 다양한 모델 검사 기술들을 공식화하여 적용할 수 있다.
웹 서비스 구성 문제를 위한 심볼릭 모델 체킹 알고리즘, SAT를 통한 WSC 로그 알고리즘, 추상화 및 정제 알고리즘, 이렇게 세 가지 알고리즘을 통해서 프로토타입 툴을 실행한다.
OWL 파일의 형식 계층 구조, 사용 가능한 웹 서비스들의 세트, WSDL 파일에서 쿼리 웹 서비스의 집합을 감안할 때, 프로토타입 툴은 요청을 충족하기 위해 BPEL에서 최적의 웹 서비스 순서를 생성할 수 있다.
공공 웹 서비스 네트워크가 작은 세계의 속성을 가지고 있기 때문에, 보통 초기 피벗 값으로 5 사용하나 SAT를 통한 WSC 로그 알고리즘에서는 피봇으로서 중간보다 작은 값을 선택한다.
보다 효율적인 최적의 솔루션을 식별하는 방법을 연산하기 위해서, 웹 서비스 도전에서 사용된 웹 서비스 테스트 세트 발전기에 의해 생산 샘플 예제 수에 실험을 할 수 있다.
Cadence SMV [3] 및 zChaff [15]을 심볼릭 모델 체커 및 SAT 솔버로서 이용하여 증명에 있어 약속한 성공을 이룰 수 있다.
모든 실험은 주파서 2.93Ghz의 코어를 포함하는 i7 프로세서와 4GB 메모리를 사용하는 PC에서 수행될 수 있다.
[표 1]은 10개의 예시(P1, ..., P10)를 통해서, 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템 및 방법을 이용한 실험 결과를 나타낸다.
[표 1]
Figure 112012098632634-pat00045

The table shows the number of web services and the number of parameters which each problem includes, and the length of the optimal solution.
[표 1]은 각각의 예시(P1, ..., P10)에서, 웹 서비스들(Web services)의 개수와 각 문제를 포함하고, 최적 솔루션의 길이(Sol Length)에 대한 파라미터들(Parameters)의 개수를 나타낸다.
또한, [표 1]은 심볼릭 모델 체킹(SMC)와 SAT 로그 알고리즘(SAT), 및 추상화 및 정제 기법(AbsRef)을 나타낼 수 있는데, 이는 SAT 솔버부(220), 추상화 및 정제부(230)에서 사용하는 총 실행 시간을 나타낸다.
[표 1]에서, 'ㅡ'는 주어진 시간(600초) 이내에 임무를 수행할 수 없는 툴에 상응하거나, 메모리가 부재로 인해 종료되는 경우를 의미한다.
작은 크기의 문제들, 예를 들어 P1, ..., P3는 추상화 및 정제 기법을 적용할 수 있으나, SAT 기반의 로그 알고리즘과의 차이가 상대적으로 미묘하다.
또한, [표 1]를 살펴보면, 큰 크기의 문제들, 예를 들어 P4, ..., P10에 SAT 기반의 로그 알고리즘을 적용하면, 현저한 성능을 보이는 것으로 분석된다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 모델 체킹 시스템
110: 전처리부
120: 모델 체킹부

Claims (12)

  1. 획득한 웹 서비스들을 전처리하는 전처리부; 및
    상기 전처리된 웹 서비스들에 대해서 모델 체킹을 수행하여, 도달 가능성(reachability) 문제를 해결하는 모델 체킹부
    를 포함하고,
    상기 모델 체킹부는 상기 전처리된 웹 서비스들에 대한 웹 서비스들의 세트(W) 및 웹 서비스 요구(wr)에 기초하여 상태 변화(state-transition) 시스템을 구축하고, 상기 구축된 상태 변화(state-transition) 시스템에 기반하여 상기 도달 가능성(reachability) 문제를 해결하는 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템.
  2. 제1항에 있어서,
    상기 모델 체킹부는,
    이진 결정 다이어그램(binary decision diagrams, BDDs)을 이용하여, 상기 도달 가능성(reachability) 문제를 해결하는 심볼릭 모델 체크부
    를 포함하는 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템.
  3. 제2항에 있어서,
    상기 심볼릭 모델 체크부는,
    이진 결정 다이어그램(binary decision diagrams, BDDs)을 이용하여, 상기 전처리된 웹 서비스에 대한 심볼릭 고정 소수점(symbolic fixed-point)을 계산하고, 상기 계산된 심볼릭 고정 소수점(symbolic fixed-point)을 이용하여 상기 도달 가능성(reachability) 문제를 해결하는 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템.
  4. 제1항에 있어서,
    상기 모델 체킹부는,
    상기 전처리된 웹 서비스에 대해, 부울 수식(boolean formulas)의 충족 가능성(satisfiability)을 감소시켜, 길이 k의 최소 값을 갖는 솔루션 경로의 존재를 체크하여 상기 도달 가능성(reachability) 문제를 해결하는 SAT 솔버부
    를 포함하는 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템.
  5. 제1항에 있어서,
    상기 모델 체킹부는,
    상기 전처리된 웹 서비스에 자동 추상화-정제(abstraction-refinement) 기술을 적용하여 상기 도달 가능성(reachability) 문제를 해결하는 추상화 및 정제부
    를 포함하는 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템.
  6. 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템의 동작 방법에 있어서,
    획득한 웹 서비스들을 전처리하는 단계; 및
    상기 전처리된 웹 서비스들에 대해서 모델 체킹을 수행하여, 도달 가능성(reachability) 문제를 해결하는 단계
    를 포함하고,
    상기 도달 가능성(reachability) 문제를 해결하는 단계는,
    상기 전처리된 웹 서비스들에 대한 웹 서비스들의 세트(W) 및 웹 서비스 요구(wr)에 기초하여 상태 변화(state-transition) 시스템을 구축하고, 상기 구축된 상태 변화(state-transition) 시스템에 기반하여 상기 도달 가능성(reachability) 문제를 해결하는 단계
    를 포함하는 모델 체킹 방법.
  7. 제6항에 있어서,
    상기 도달 가능성(reachability) 문제를 해결하는 상기 단계는,
    이진 결정 다이어그램(binary decision diagrams, BDDs)을 이용하여, 상기 도달 가능성(reachability) 문제를 해결하는 단계
    를 포함하는 타입인지 웹 서비스 구성을 위한 모델 체킹 방법.
  8. 제7항에 있어서,
    상기 도달 가능성(reachability) 문제를 해결하는 상기 단계는,
    상기 이진 결정 다이어그램(binary decision diagrams, BDDs)을 이용하여, 상기 전처리된 웹 서비스에 대한 심볼릭 고정 소수점(symbolic fixed-point)을 계산하는 단계; 및
    상기 계산된 심볼릭 고정 소수점(symbolic fixed-point)을 이용하여 상기 도달 가능성(reachability) 문제를 해결하는 단계
    를 포함하는 모델 체킹 방법.
  9. 제6항에 있어서,
    상기 도달 가능성(reachability) 문제를 해결하는 상기 단계는,
    상기 전처리된 웹 서비스에 대해, 부울 수식(boolean formulas)의 충족 가능성(satisfiability)을 감소시키는 단계; 및
    상기 감소된 부울 수식(boolean formulas)의 충족 가능성(satisfiability)에 기반하여, 길이 k의 최소 값을 갖는 솔루션 경로의 존재를 체크하여 상기 도달 가능성(reachability) 문제를 해결하는 단계
    를 포함하는 타입인지 웹 서비스 구성을 위한 모델 체킹 방법.
  10. 제6항에 있어서,
    상기 도달 가능성(reachability) 문제를 해결하는 상기 단계는,
    상기 전처리된 웹 서비스에 자동 추상화-정제(abstraction-refinement) 기술을 적용하여 상기 도달 가능성(reachability) 문제를 해결하는 단계
    를 포함하는 타입인지 웹 서비스 구성을 위한 모델 체킹 방법.
  11. 제6항 내지 제10항의 방법 중에서 어느 하나의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  12. 제1항에 있어서,
    상기 상태 변화(state-transition) 시스템은,
    부울 변수들의 유한 세트(X), 입력 심볼들의 세트(∑), 및 상기 부울 변수들의 유한 세트의 계승자(successor, X')를 고려하는 전환 서술(T, transition predicate)에 기초하는 튜플로 표현되는 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템.
KR1020120136155A 2012-11-28 2012-11-28 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템 및 방법 KR101438924B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120136155A KR101438924B1 (ko) 2012-11-28 2012-11-28 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120136155A KR101438924B1 (ko) 2012-11-28 2012-11-28 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20140068545A KR20140068545A (ko) 2014-06-09
KR101438924B1 true KR101438924B1 (ko) 2014-09-05

Family

ID=51124272

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120136155A KR101438924B1 (ko) 2012-11-28 2012-11-28 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101438924B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102057724B1 (ko) * 2018-05-25 2019-12-19 고려대학교 산학협력단 메모리 해제 오류를 자동으로 수정하는 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110053787A (ko) * 2009-11-16 2011-05-24 한국전자통신연구원 조합 웹서비스의 업무절차 생성장치 및 조합 웹서비스의 업무절차 생성을 위한 기능성 정보 구축 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110053787A (ko) * 2009-11-16 2011-05-24 한국전자통신연구원 조합 웹서비스의 업무절차 생성장치 및 조합 웹서비스의 업무절차 생성을 위한 기능성 정보 구축 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문1 *
논문2 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102057724B1 (ko) * 2018-05-25 2019-12-19 고려대학교 산학협력단 메모리 해제 오류를 자동으로 수정하는 장치 및 방법
US10922209B2 (en) 2018-05-25 2021-02-16 Korea University Research And Business Foundation Device and method for automatically repairing memory deallocation errors

Also Published As

Publication number Publication date
KR20140068545A (ko) 2014-06-09

Similar Documents

Publication Publication Date Title
Souri et al. Behavioral modeling and formal verification of a resource discovery approach in Grid computing
Fan et al. Petri net based techniques for constructing reliable service composition
Zhu et al. Modeling and verification of web services composition based on model transformation
Mallet MARTE/CCSL for modeling cyber-physical systems
US9229980B2 (en) Composition model for cloud-hosted serving applications
Obetz et al. Formalizing event-driven behavior of serverless applications
Qian et al. Tool support for bpel verification in activebpel engine
Guerra et al. A Framework for the Verification of UML Models. Examples Using Petri Nets.
Yu et al. Synthesizing service composition models on the basis of temporal business rules
KR101438924B1 (ko) 타입인지 웹 서비스 구성을 위한 모델 체킹 시스템 및 방법
Kil et al. Semantic web service composition via model checking techniques
Van Doc et al. Development of the rules for transformation of UML sequence diagrams into queueing petri nets
Rauf et al. Beyond crud
Romero et al. Nlsc: Unrestricted natural language-based service composition through sentence embeddings
Klarl From Helena ensemble specifications to Promela verification models
Naddaf et al. Performance modeling and analysis of software architectures specified through graph transformations
Mo et al. Development of private processes: a refinement approach
Suresh et al. Synthesizing cluster management code for distributed systems
Barati et al. An architecture for semantic service discovery and realizability in cloud computing
Di Pietro et al. Semantic Annotation for Web Service Processes in Pervasive Computing
Xiang et al. The executable invocation policy of web services composition with petri net
Li et al. A formal framework for service mashups with dynamic service selection
Al-Bataineh et al. A comparative study of decision diagrams for real-time model checking
Kil et al. Behavioural description based web service composition using abstraction and refinement
Guermouche et al. Composition of web services: from qualitative to quantitative timed properties

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: 20170901

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 5