KR20030041446A - Method for checking bisimilarity based on game models - Google Patents

Method for checking bisimilarity based on game models Download PDF

Info

Publication number
KR20030041446A
KR20030041446A KR1020010072239A KR20010072239A KR20030041446A KR 20030041446 A KR20030041446 A KR 20030041446A KR 1020010072239 A KR1020010072239 A KR 1020010072239A KR 20010072239 A KR20010072239 A KR 20010072239A KR 20030041446 A KR20030041446 A KR 20030041446A
Authority
KR
South Korea
Prior art keywords
checking
similarity
game model
mutual similarity
game
Prior art date
Application number
KR1020010072239A
Other languages
Korean (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 KR1020010072239A priority Critical patent/KR20030041446A/en
Publication of KR20030041446A publication Critical patent/KR20030041446A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE: A method for checking a bisimulation equivalence based on a game model is provided to check a bisimulation equivalence of a behavior between models of two successive specifications. CONSTITUTION: In a method for checking whether specifications display the same behaviors when the specifications with respect to two concurrent systems are given in a computer system, a bisimulation operation game model of a bisimulation equivalence checking term with a user is implemented, and a bisimulation equivalence checking environment is constructed based on the bisimulation operation game model. A bisimulation equivalence is checked using a branch-and-bound and a random work as a game strategy of a checker on the bisimulation equivalence checking environment.

Description

게임 모형에 기반한 상호유사성 검사 방법{Method for checking bisimilarity based on game models}Method for checking bisimilarity based on game models}

본 발명은 프로세스 대수(Process Algebra)를 이용하여 명세된 두 개의 병행 시스템에 대해, 이들이 동일한 행위(Behavior)를 보이는지를 검사하는 게임 모형에 기반한 상호유사성(Bisimulation Equivalence) 검사 방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention implements a method and method for checking bisimilarity equivalence based on a game model for checking whether they exhibit the same behavior for two parallel systems specified using Process Algebra. The present invention relates to a computer-readable recording medium having recorded thereon a program.

두 개의 시스템이 동일한 행위를 보이는지를 어떠한 기준으로 판단해야 하는지에 관해서는 다양한 관점이 존재하나, 그 중 가장 널리 인정되는 방법이 상호유사성 관계(Bisimulation Equivalence Relation)을 통한 검사 방법이다.There are various points of view on which criteria should be used to determine whether two systems show the same behavior, but the most widely accepted method is the test method through Bisulation Equivalence Relation.

상기 프로세스 대수(Process Algebra)란, 병행 시스템을 추상적으로 모형화하기 위한 정형 기법중의 하나로서, 엄밀한 수학적 정의를 바탕으로 명세된 시스템의 다양한 성질을 검증할 수 있도록 도와 준다. 프로세스 대수를 이용하여 명세된 시스템에 대한 모형으로서 가장 널리 받아들여지고 있는 것이 레이블된 전이 시스템(LTS : Labeled Transition System)이다.The Process Algebra is one of the formal techniques for abstractly modeling parallel systems, and helps to verify the various properties of a specified system based on strict mathematical definitions. The most widely accepted model for systems specified using process algebra is the Labeled Transition System (LTS).

이 LTS는 상태들의 집합, 액션들의 집합, 전이 함수와 시작 상태로 주어진다. 이때, 전이 함수는 현 상태에서 특정 액션이 관찰되었을 때, 어떤 상태로 전이할 것인지를 나타내는 함수이다.This LTS is given a set of states, a set of actions, a transition function and a starting state. In this case, the transition function is a function indicating which state to transition to when a specific action is observed in the current state.

LTS는 일반적으로 (S, A, →, s)로서 표현하는데, 여기서 "S"는 상태 집합, "A"는 액션집합, "→"는 전이 함수, 그리고 "s∈S"는 시작상태를 나타낸다. 일반적으로, 상태 s에서 액션 a에 대해 상태 t로 전이할 경우, "s→a→t"로 표기한다.LTS is commonly expressed as (S, A, →, s), where "S" is a state set, "A" is an action set, "→" is a transition function, and "s∈S" is a start state. . In general, when transitioning from the state s to the state t for the action a, it is expressed as "s → a → t".

종래의 대부분의 상호유사성 검사 방법은 단순한 알고리즘의 형태로 제시되었기 때문에 사용자와 검사기와의 상호작용에 대해서는 논의가 부족했다.Since most of the conventional methods of checking similarity are presented in the form of simple algorithms, the interaction between the user and the inspector is insufficient.

본 발명과 관련한 선행 기술로서, "미국특허등록번호 제5,740,084호(Verification of Homomorphism between two system models)"에서는, 두 개의 연속된 명세의 모형간의 행위의 포함관계를 검사하기 위하여, 호모모피즘 검사를 통해 언어간의 포함관계를 검사함으로써, 점근적 정제 과정을 언어 동치성의 관점에서 검증할 수 있다. 그러나, 이는 본 발명과 비교해 볼 때, 모형간의 상호유사성이 아닌 모형간의 포함관계를 검사하고, 사용자와의 상호작용을 포함하지 않으며, 분별력이 높은 상호유사성을 이용하는 대신에 언어 동치성의 관점에서 검증을 지원할 뿐이다.In the prior art associated with the present invention, "U.S. Patent No. 5,740,084 (Verification of Homomorphism between two system models)", in order to examine the inclusion relationship between the behavior of the model of two consecutive specifications, the homomorphism test By examining the inclusion relations between languages, asymptotic refinement can be verified in terms of language equivalence. However, in comparison with the present invention, it examines the inclusion relations between the models, which are not the similarities between the models, does not include the interaction with the users, and verifies the verification in terms of linguistic equivalence instead of using the sensible mutual similarity. I only support it.

한편, 본 발명과 관련한 다른 선행 기술로서, "미국특허등록번호 제5,659,555호(Method and apparatus for testing protocols)"에서는, 하나의 명세와 이에 대한 구현이 주어졌을 때 구현이 명세를 만족하는지를 검사하기 위하여, 랜덤 워크 과정을 통해 선택된 테스트 시퀀스에 대한 검사를 반복하여 상호유사성을 검사함으로써, 명세와 구현 사이의 상호유사성을 검사할 수 있다. 그러나, 이는 본 발명과 비교해 볼 때, 사용자와의 상호작용 모형을 포함하지 않고, 테스트 시퀀스 생성에 대한 원칙이 제시되지 않았다.On the other hand, as another prior art related to the present invention, "Method and apparatus for testing protocols" US Patent No. 5,659,555 (Method and apparatus for testing protocols), in order to check whether an implementation satisfies the specification given a specification and implementation thereof In addition, the interworking between the specification and the implementation can be checked by repeating the check for the selected test sequence through a random walk process. However, this does not include an interaction model with the user when compared with the present invention, and no principle for generating test sequences has been proposed.

다른 한편, 본 발명과 관련한 또 다른 선행 기술로서, "미국특허등록번호 제5,483,470호(Timing Verification by Successive Approximation)"에서는, 하나의 명세와 이에 대한 시간적 성질이 주어졌을 때 주어진 명세가 시간적 성질을 만족하는지를 검사하기 위하여, 하나의 명세와 하나의 성질을 입력으로 가지며 이들로부터 오토마톤을 생성한 후 반복 과정을 통해 문제를 해결함으로써, 초기 명세가 요구사항의 시간적 제약점을 만족하는지를 검사할 수 있다. 그러나, 이는 본 발명과 비교해 볼 때, 모형간의 상호유사성이 아닌 모형의 시간적 성질을 검사하고, 상호작용에 관한 모형을 포함하지 않으며, 설계 과정 전반에 걸쳐 사용될 수 없고 단지 개발 초기에 국한되어 사용되는 방법이다.On the other hand, as another prior art in connection with the present invention, in "Timing Verification by Successive Approximation", a given specification satisfies a temporal property given a specification and a temporal property thereof. To check whether a specification is a specification and a property as inputs, automatons are generated from them, and the problem is solved through an iterative process, so that the initial specification satisfies the time constraints of the requirements. However, when compared with the present invention, it examines the temporal properties of the models, which are not the similarities between the models, does not include the model of interactions, and can not be used throughout the design process, but only limited to the early stage of development. Way.

또 다른 한편, 본 발명과 관련한 또 다른 선행 기술로서, "Proceedings of 2nd ACM Symposium on PODC, pp228-240, CCS Expressions, finite state processes, and three problems of equivalence" 및 "SIAM Journal on Computing, pp973-987, Three partition refinement algorithms"에서는, 두 개의 명세의 모형간 행위의 상호유사성을 검사하기 위하여, 분리 과정을 계속 반복하여 상호유사성에 대한 동치류를 구함으로써, 설계 과정에서 두 개의 명세가 동일한 행위를 가지는지 검사할 수 있다. 그러나, 이들은 본 발명과 비교해 볼 때, 사용자 편의를 위한 검사 환경에 대한 고려를 포함하지 않고, 게임 탐색이 아닌 분리 과정에 기반하여 상호유사성을 검사하며, 랜덤 알고리즘이 아닌 결정적 알고리즘이므로 랜덤 알고리즘에 비해 수행 속도가 느리다.On the other hand, as another prior art related to the present invention, "Proceedings of 2nd ACM Symposium on PODC, pp228-240, CCS Expressions, finite state processes, and three problems of equivalence" and "SIAM Journal on Computing, pp973-987 In three partition refinement algorithms, two specs have the same behavior in the design process by repeating the separation process to find equivalences for similarity in order to examine the similarity of behaviors between the two specs. Can be checked. However, when compared with the present invention, they do not include consideration of the inspection environment for the user's convenience, check the mutual similarity based on the separation process rather than the game search, and compare the random algorithm because it is a deterministic algorithm rather than a random algorithm. Slow execution

또 다른 한편, 본 발명과 관련한 또 다른 선행 기술로서, "Proceedings of CONCUR, Local Model Checking Games"에서는, 상호유사성과 Ehrenfeucht-Fraisse 게임과의 관계를 설명함으로써, 상호유사성 검사 방법에 대한 새로운 접근방식을 제공한다. 그러나, 이는 본 발명과 비교해 볼 때, 실제로 게임을 이용하여 상호유사성을 검사할 수 있는 방법이 전혀 제시되지 않았고 단지 이론적인 논의만을 포함하고 있을 뿐이다.On the other hand, as another prior art related to the present invention, "Proceedings of CONCUR, Local Model Checking Games" describes a new approach to the method of checking for similarity by explaining the relationship between mutual similarity and the Ehrenfeucht-Fraisse game. to provide. However, in comparison with the present invention, no method of actually checking for similarity using a game has been proposed and includes only theoretical discussion.

따라서, 현재의 기술 분야에서는 두 개의 병행 시스템들에 대한 명세가 주어졌을 때, 이들이 동일한 행위를 보이는지를 검사하기 위하여, 게임 모형에 기반한 상호유사성 검사 환경과 검사 방법을 제시하고, 이 환경에서 사용자-검사기간의 상호작용 모형을 제시할 수 있는 방안이 필수적으로 요구된다.Therefore, in the present technical field, when a specification of two parallel systems is given, in order to check whether they show the same behavior, a game model based mutual similarity test environment and a test method are presented, and the user- A method to present an interaction model of the inspection period is essential.

본 발명은, 상기한 바와 같은 요구에 부응하기 위하여 제안된 것으로, 두 개의 연속된 명세의 모형간의 행위의 상호유사성을 검사하기 위한 게임 모형에 기반한 상호유사성 검사 방법 및 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.The present invention has been proposed in order to meet the above requirements, and a method for checking the mutual similarity based on a game model for checking the mutual similarity of behavior between two consecutive specification models and a program for realizing the method. Its purpose is to provide a computer-readable recording medium having recorded thereon.

도 1 은 본 발명이 적용되는 일반적인 하드웨어 시스템의 구성 예시도.1 is an exemplary configuration diagram of a general hardware system to which the present invention is applied.

도 2 는 본 발명에 따른 게임 모형에 기반한 상호유사성 검사 방법에 대한 일실시예 흐름도.2 is a flow chart of an embodiment of a method for checking similarity based on a game model according to the present invention;

도 3 은 본 발명에 이용되는 레이블된 전이 시스템(LTS)의 구성 예시도.3 is an exemplary configuration of a labeled transition system (LTS) used in the present invention.

도 4 는 본 발명에 이용되는 상태 공간 트리의 구성 예시도.4 is an exemplary configuration diagram of a state space tree used in the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

11 : 중앙처리장치 12 : 주기억장치11: central processing unit 12: main memory unit

13 : 보조기억장치 14 : 입력장치13: auxiliary memory device 14: input device

15 : 출력장치 16 : 주변장치15: output device 16: peripheral device

상기 목적을 달성하기 위한 본 발명은, 컴퓨팅 시스템에서 두 개의 병행 시스템들에 대한 명세가 주어졌을 때 이들이 동일한 행위(Behavior)를 보이는지를 검사하는 방법에 있어서, 사용자와 상호유사성 검사기간의 상호작용 게임 모델을 구현하고, 상기 상호작용 게임 모델에 의거하여 상호유사성 검사 환경을 구축하는 제 1 단계; 및 상기 상호 유사성 검사 환경하에서 상기 검사기 측의 게임 전략으로, 분기 한정법(Branch-and-bound)과 랜덤 워크를 사용하여 상호유사성을 검사하는 제 2 단계를 포함하여 이루어진 것을 특징으로 한다.In order to achieve the above object, the present invention provides a method for checking whether two computing systems exhibit the same behavior when a specification of two parallel systems in a computing system is provided. A first step of implementing a model and establishing a mutual similarity checking environment based on the interactive game model; And a second step of checking mutual similarity using branch-and-bound and random walk as a game strategy of the checker side under the mutual similarity checking environment.

그리고, 본 발명은 두 개의 병행 시스템들에 대한 명세가 주어졌을 때 이들이 동일한 행위(Behavior)를 보이는지를 검사하기 위하여, 프로세서를 구비한 컴퓨팅 시스템에, 사용자와 상호유사성 검사기간의 상호작용 게임 모델을 구현하고, 상기 상호작용 게임 모델에 의거하여 상호유사성 검사 환경을 구축하는 제 1 기능; 및 상기 상호 유사성 검사 환경하에서 상기 검사기 측의 게임 전략으로, 분기 한정법(Branch-and-bound)과 랜덤 워크를 사용하여 상호유사성을 검사하는 제 2 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In addition, the present invention provides an interactive game model of a user and a similarity test period to a computing system with a processor, to check whether they exhibit the same behavior when given specifications for two parallel systems. A first function for implementing and establishing a mutual similarity checking environment based on the interactive game model; And a program for realizing a second function of checking mutual similarity using branch-and-bound and random walk as a game strategy of the checker side under the mutual similarity checking environment. Provide a recording medium.

본 발명은 게임 모형에 기반한 상호유사성 검사 환경과 검사 방법을 제시하고, 이 환경에서 사용자-검사기간의 상호작용 모형을 제시하고자 한다.The present invention proposes a similarity test environment and test method based on the game model, and proposes an interaction model of user-test period in this environment.

본 발명은 두 개의 병행 시스템들에 대한 명세가 주어졌을 때, 이들이 동일한 행위(behavior)를 보이는지를 검사하는 것으로서, 행위의 동치성 관계로서는 상호 유사성(Bisimulation Equivalence)이 사용된다.The present invention checks whether they exhibit the same behavior when given the specification of two parallel systems, and Bisulation Equivalence is used as the equivalence relationship of the behavior.

본 발명은 "Colin Stirling"이 제안한 "Ehrenfeucht-Fraisse 게임 모형"에 의거한 상호유사성 검사 환경을 제안하고, 이 환경에서 상호유사성을 검사할 수 있는 방법을 제안한다.The present invention proposes a mutual similarity test environment based on the "Ehrenfeucht-Fraisse game model" proposed by "Colin Stirling", and proposes a method for checking the mutual similarity in this environment.

본 발명의 제1 구성은 "Ehrenfeucht-Fraisse 게임 모형"에 의거한 상호유사성 검사 환경을 기술한 것이다. 이 환경은 사용자와 상호유사성 검사기간의 상호작용 모형을 나타내고 있다.The first configuration of the present invention describes an environment of similarity checking based on the "Ehrenfeucht-Fraisse game model". This environment represents the interaction model of the user and the similarity test period.

본 발명의 제2 구성은 실제 상호유사성을 검사하는 방법을 기술한 것으로서, 본 발명의 제1 구성에서 제안한 상호유사성 검사환경에서 검사기측의 게임 전략을 제시한다. 이 게임 전략은 분기 한정법(Branch-and-bound)과 랜덤 워크를 사용하여상호유사성을 검사한다.The second configuration of the present invention describes a method for checking actual mutual similarity, and presents a game strategy of the tester side in the mutual similarity inspection environment proposed in the first configuration of the present invention. The game strategy checks for similarity using branch-and-bound and random walks.

본 발명은 기존의 상호유사성 검사 방법과는 달리, 상호유사성 검사 환경을 제시함으로써, 사용자가 검사기와 상호작용을 통해 명세에 대한 이해도를 높일 수 있다는 장점을 가진다.The present invention has a merit that a user can improve understanding of a specification through interaction with a checker by presenting a check similarity test environment, unlike the existing method of checking similarity.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 일반적인 하드웨어 시스템의 구성 예시도이다.1 is an exemplary configuration diagram of a general hardware system.

도 1에 도시된 바와 같이, 본 발명이 적용되는 하드웨어 시스템은, 중앙처리장치(11)와, 중앙처리장치(11)에 연결된 주기억장치(12)와, 주기억장치(12)에 연결된 보조기억장치(13)와, 중앙처리장치(11)에 연결된 입출력장치(14,15) 및 주기억장치(12)에 연결된 주변장치(16)를 구비한다.As shown in FIG. 1, the hardware system to which the present invention is applied includes a central processing unit 11, a main memory device 12 connected to the central processing device 11, and an auxiliary memory device connected to the main memory device 12. 13, the input / output devices 14 and 15 connected to the central processing unit 11 and the peripheral device 16 connected to the main memory device 12 are provided.

여기서, 하드웨어 시스템은, 컴퓨터의 전체 동작을 제어하고 관리하는 중앙처리장치(11), 상기 중앙처리장치(11)에서 수행되는 프로그램을 저장하고 작업 수행중 이용되는 또는 작업 수행중에 발생되는 각종 데이터를 저장하는 주기억장치(12)와 보조기억장치(13) 및 사용자와의 데이터 입출력을 위한 입출력장치(14,15)와 통신 인터페이스 등을 위한 주변장치(16)를 포함한다.Here, the hardware system, the central processing unit 11 for controlling and managing the overall operation of the computer, the program stored in the central processing unit 11 and stores a variety of data used during or during operation And a main memory device 12 and an auxiliary memory device 13, an input / output device 14 and 15 for inputting / outputting data to and from a user, and a peripheral device 16 for a communication interface.

그리고, 상기 보조기억장치(13)는 대량의 데이터를 저장하는 역할을 하며, 상기 입출력장치(14,15)는 일반적인 키보드, 디스플레이 장치 및 프린터 등을 포함한다.The auxiliary memory device 13 stores a large amount of data, and the input / output devices 14 and 15 include a general keyboard, a display device, and a printer.

그러나, 상기한 바와 같은 구성을 갖는 컴퓨터 하드웨어 환경은 당해 분야에서 이미 주지된 기술에 지나지 아니하므로 여기에서는 그에 관한 자세한 설명은 생략하기로 한다. 다만, 상기와 같은 하드웨어 시스템의 주기억장치(12)에는 두 개의 연속된 명세의 모형간의 행위의 동치성(상호유사성)을 검사할 수 있는 프로그램이 저장되어 있으며, 상기 중앙처리장치(11)의 제어에 따라 수행된다.However, since the computer hardware environment having the configuration as described above is only a technique well known in the art, detailed description thereof will be omitted herein. However, in the main memory device 12 of the hardware system as described above, a program for checking the equivalence (mutual similarity) between the two consecutive models of the specification is stored, and the control of the central processing unit 11 Is performed accordingly.

상기 프로그램은 두 개의 명세를 입력으로 가지며, 이들간의 상호유사성 관계를 게임 탐색 문제로 환원하여 해결한다.The program takes two specifications as inputs and reduces the mutual similarity relationship to the game search problem.

상기 프로그램은 분리 과정에 기반하지 않고 게임 탐색에 기반한 상호유사성 검사를 통해, 설계 과정에서 두 개의 명세가 동일한 행위를 가지는지를 검사하는 랜덤 알고리즘이다. 이러한 랜덤 알고리즘은 결정적 알고리즘에 비해 더 빠른 수행이 가능하다.The program is a random algorithm that checks whether two specifications have the same behavior in the design process by checking similarity based on game search rather than separation process. This random algorithm can perform faster than the deterministic algorithm.

상기 프로그램은 "Colin Stirling"이 제안한 "Ehrenfeucht-Fraisse 게임 모형"에 의거한 상호유사성 검사 환경을 제시하고, 이 환경에서 상호유사성을 검사한다.The program presents a similarity test environment based on the "Ehrenfeucht-Fraisse game model" proposed by "Colin Stirling" and checks for similarity in this environment.

본 발명의 제1 구성은 "Ehrenfeucht-Fraisse 게임 모형"에 의거한 상호유사성 검사 환경을 기술한 것이다.The first configuration of the present invention describes an environment of similarity checking based on the "Ehrenfeucht-Fraisse game model".

"C. Stirling"은 두 개의 병행 시스템 명세의 쌍(E0, F0)이 주어졌을 때, 게임 G(E0, F0)를 다음과 같이 정의하였다. G(E, F)는 두 명의 참가자 I과 II에 의해 진행된다. I은 E와 F가 n번의 게임 수(move)내에 구별불가능함(indistinguishable)을 증명하는 것이 목적이고, II는 E와 F가 서로 다르지 않다는 것을 보이는 것이 목적이다. 이 게임의 진행은 쌍들의 유한 순서열인 (E0, F0), ..., (Em, Fm)으로 나타나는데, 이때 m은 n보다 작거나 같은 정수이다. 게임 진행의 전위, (E0, F0), ..., (Ei, Fi)가 주어졌을 때(단, i〈m+1), 참가자 I과 II의 다음 수 (move)는 다음의 두 가지 중의 하나이어야 한다."C. Stirling" defines the game G (E 0 , F 0 ) as given by two parallel system specification pairs (E 0 , F 0 ). G (E, F) is played by two participants I and II. I aims to prove that E and F are indistinguishable in n game moves, and II aims to show that E and F are not different. The game's progression is represented by the finite sequence of pairs (E 0 , F 0 ), ..., (E m , F m ), where m is an integer less than or equal to n. Given the potential for game progression, (E 0 , F 0 ), ..., (E i , F i ) (i <m + 1), the next move of participants I and II is It must be one of two things.

첫 번째로, I은 전이 Ei-a→Ei+1을 선택하고, II는 동일한 액션 a에 대한 전이인 Fi-a→Fi+!을 선택한다.First, I selects transitions E i -a → E i + 1 , and II is F i -a → F i +! Select.

두 번째로, I은 전이 Fi-a→Fi+1을 선택하고, II는 동일한 액션 a에 대한 전이인 Ei -a→Ei+1을 선택한다.Secondly, I selects transitions F i -a → F i + 1 , and II selects Ei -a → E i + 1 , which is the transition for the same action a.

I이 먼저 선택을 하며, II는 I의 수에 대해 완전한 정보를 가지고 이에 응수를 하게 된다. 양 참가자는 상대가 더 이상 유효한 수를 둘 수 없을 때 승리하게 되는데, I은 II가 자신과 동일한 전이를 할 수 없을 때 승리하며, II는 Ei와 Fi가 모두 교착 상태에 놓이면 승리하게 된다. 이때, 게임 G(E0, F0)에서 II가 항상 승리할 수 있을 때, E0와 F0는 상호유사하다는 사실이 성립한다.I chooses first, and II responds with complete information about the number of I's. Both participants win when their opponents can no longer have a valid number, I wins when II cannot make the same transition as himself, and II wins when both E i and F i are deadlocked. . In this case, when II can always win in the game G (E 0 , F 0 ), the fact that E 0 and F 0 are mutually similar holds.

게임 모형에 기반한 상호유사성 검사 환경은 도 2의 절차와 같다. 이 절차에 의거하여 사용자와 검사기가 상호작용을 통해 상호유사성을 검사할 경우, 고려해 주어야 할 사항이 두 가지가 있다. 첫째는 게임 종료를 어떻게 판단하는가 하는 것이고, 둘째는 II의 수로서 move2를 어떻게 결정하느냐 하는 것이다.Mutual similarity test environment based on the game model is the same as the procedure of FIG. Under this procedure, there are two things to consider when users and inspectors interact to check for similarity. The first is how to determine the end of the game, and the second is how to determine move2 as the number of IIs.

도 2에서의 게임 모형에 기반한 상호유사성 검사 환경은 입력으로서 두 개의 LTS (S1, A, →1, s1)과 (S2A, →2, s2)가 주어졌다고 가정한 것이다.The mutual similarity test environment based on the game model in FIG. 2 assumes that two LTSs (S 1 , A, → 1 , s 1 ) and (S 2 A, → 2 , s 2 ) are given as inputs.

게임 종료의 판단에는 고정-라운드 방식과 무한-라운드 방식의 두 가지가 있을 수 있다.There are two ways to determine the end of the game: fixed-round and infinite-round.

고정-라운드 방식은 미리 상수 k의 값을 결정하고 k번째 반복에 다다르면 승패에 상관없이 게임을 종료시키는 방법이고, 무한-라운드 방식은 한쪽이 패배할 때가지 계속하여 반복하는 방법이다.The fixed-round method determines the value of the constant k in advance and terminates the game regardless of whether or not the k-th iteration is reached. The infinite-round method repeats continuously until one side loses.

무한-라운드 방식은 사용자와 검사기의 상호작용에 의한 상호유사성 검사에 사용될 수 있는 방식이고, 고정-라운드 방식은 기존의 알고리즘에서와 같이 사용자의 개입없이 검사기의 계산만으로 상호유사성을 계산할 때 사용될 수 있는 방법이다.Infinite-round method is a method that can be used to check the similarity by the interaction between the user and the checker, fixed-round method can be used when calculating the similarity only by the calculation of the tester without user intervention as in the conventional algorithm Way.

본 검사 환경이 실제 상호유사성 검사 방법으로서 유효하기 위해서는 반드시 move2의 결정 방법이 충분히 계산 가능하고 효율적이어야 한다. move2의 결정 방법에 대해서는 본 발명의 제2 구성에서 자세히 설명하기로 한다.In order for this test environment to be valid as an actual method of mutual similarity, the determination method of move2 must be sufficiently calculable and efficient. How to determine the move2 will be described in detail in the second configuration of the present invention.

본 발명의 제2 구성은 도 2의 move2 결정 방법에 관한 것이다. 이는 Ehrenfeucht-Fraisse 게임을 사용자와 검사기간의 게임으로 보았을 때, 검사기에 대한 게임 전략에 관한 것으로 볼 수 있다. 도 3과 같은 LTS는 비결정적인 전이를 허용하므로 주어진 상태에서 어떠한 전이를 선택할 것인가에 대한 전략이 필요한데, 본 발명에서는 분기 한정법에 기반한 게임전략을 제안한다. 특히, 본 발명에서는 LC-탐색에 기반한 분기 한정법을 사용하는데, 이 알고리즘에서 생성되는 도 4에 도시된 바와 같은 상태공간트리는 L2의 시작 상태를 루트로 하는 하나의 트리가 된다. 이 트리에서 노드 u가 a로 레이블된 간선을 통해 노드 v의 부모노드가 되기 위한 필요충분조건은 (u -a→v ∈→)이어야 한다는 것이다. 참가자 I, 즉 사용자가 연속하여 T = <t0, t1, ..., tn>의 전이들을 선택했다면, 이 탐색 과정에서 해집합은 루트 노드로부터 |T|의 거리에 있는 노드들의 집합이 된다. 주어진 노드 s에서 액션 a의 밴드폭을 s에서 a로 레이블된 간선에 의해 연결된 자식노드들의 수로서 정의하자. 본 전략에서는 c개의 이후 수에 대한 액션 밴드폭의 합을 최소화시키는 액션을 선택하는 휴리스틱을 사용하는데, 이는 최대한 비결정성을 억제함으로써 고려되어야 할 노드들의 수를 최소화시키려는 의도의 휴리스틱이다. 즉, 노드에 대한 비용 함수가 하기의 (수학식 1)로 정의될 때, h(x)는 루트 노드로부터 x까지의 거리이고, f는 적당한 단조 증가 함수, 그리고 g(x)는 노드 x에서 c개의 이후 수에 대한 액션 밴드폭의 합이 된다.The second aspect of the present invention is directed to the move2 determination method of FIG. This can be seen as a game strategy for the tester when the Ehrenfeucht-Fraisse game is viewed as a game between the user and the test period. Since the LTS as shown in FIG. 3 allows non-deterministic transition, a strategy for selecting a transition in a given state is required. The present invention proposes a game strategy based on branch limiting. In particular, the present invention uses a branch-finding method based on LC-search, where the state-space tree as shown in FIG. 4 generated by this algorithm is one tree rooted at the start state of L2. In this tree, the necessary condition for node u to become the parent node of node v through the edge labeled a must be (u -a → v ∈ →). If participant I, i.e., the user has consecutively selected transitions of T = <t 0 , t 1 , ..., t n >, the solution set in this search is the set of nodes at a distance of | T | from the root node. Becomes Define the bandwidth of action a at a given node s as the number of child nodes connected by the edge labeled s in a. This strategy uses a heuristic that selects an action that minimizes the sum of the action bandwidths of the subsequent c numbers, which is heuristic intent to minimize the number of nodes that should be considered by suppressing the nondeterminism as much as possible. That is, when the cost function for a node is defined by Equation 1 below, h (x) is the distance from the root node to x, f is a suitable monotonically increasing function, and g (x) is at node x It is the sum of the action bandwidths for the subsequent c numbers.

c(x) = f(h(x)) + g(x)c (x) = f (h (x)) + g (x)

상기 (수학식 1)에서, g 함수는 x를 루트로 하는 부트리(subtree)의 크기에대한 추정값을 제공한다. 실제 상호유사성 검사를 위해서는 전이 T를 사용자 대신 검증기가 직접 생성해야 하는데, 길이 |T|의 랜덤 워크를 이용하게 된다. 잘 알려진 커버 시간(cover time) 정리에 의거하여 |T| = 2|→|(|S| -1)로 설정하면, 이 랜덤 워크는 높은 확률로 LTS의 모든 상태를 방문하게 되며, 이 랜덤 워크에 대해 도 2의 과정과 분기한정법을 이용하여 검증을 하면 상호유사성의 검사가 가능하다.In Equation 1, the g function provides an estimate of the size of a subtree rooted in x. In order to check the actual similarity, the verifier T needs to be generated by the verifier in place of the user, using a random walk of length | T |. Based on the well-known cover time theorem, | T | = 2 | → | (| S | -1), this random walk has a high probability of visiting all states of the LTS, and the random walk is verified using the process of FIG. This allows for testing of similarity

이러한 상호유사성의 검사를 통해, 두 개의 명세가 주어졌을 때, 두 개의 명세가 동일한 행위를 가지는지를 검사하고, 이때 이 검사 과정은 사용자와 검사기와의 상호작용을 통해서 이루어질 수도 있고 기존의 검사 방법들과 같이 사용자의 개입없이 이루어질 수도 있다.Through this checking of similarity, when two specifications are given, the two specifications have the same behavior, and this inspection process can be done through interaction between user and tester, It can also be done without user intervention.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.The method of the present invention as described above may be implemented as a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.).

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes are possible in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.

상기한 바와 같은 본 발명은, 기존의 상호유사성 검사 방법과는 달리, 상호유사성 검사 환경을 제시함으로써, 사용자가 검사기와 상호작용을 통해 명세에 대한 이해도를 높일 수 있는 효과가 있다.The present invention as described above, unlike the existing method of the similarity test, by presenting a similarity test environment, there is an effect that the user can increase the understanding of the specification through interaction with the tester.

Claims (6)

컴퓨팅 시스템에서 두 개의 병행 시스템들에 대한 명세가 주어졌을 때 이들이 동일한 행위(Behavior)를 보이는지를 검사하는 방법에 있어서,In a method for checking whether they exhibit the same behavior when given a specification for two parallel systems in a computing system, 사용자와 상호유사성 검사기간의 상호작용 게임 모델을 구현하고, 상기 상호작용 게임 모델에 의거하여 상호유사성 검사 환경을 구축하는 제 1 단계; 및A first step of implementing an interactive game model of a user and a mutual similarity checking period, and establishing a mutual similarity checking environment based on the interactive game model; And 상기 상호 유사성 검사 환경하에서 상기 검사기 측의 게임 전략으로, 분기 한정법(Branch-and-bound)과 랜덤 워크를 사용하여 상호유사성을 검사하는 제 2 단계A second step of checking mutual similarity using branch-and-bound and random walk as a game strategy of the checker side under the mutual similarity checking environment; 를 포함하는 게임 모형에 기반한 상호유사성 검사 방법.Mutual similarity test method based on a game model comprising a. 제 1 항에 있어서,The method of claim 1, 상기 분기 한정법(Branch-and-bound)은,The branch-and-bound method, 바람직하게는, LC 탐색에 기반한 분기 한정법인 것을 특징으로 하는 게임 모형에 기반한 상호유사성 검사 방법.Preferably, the method of the mutual similarity test based on the game model, characterized in that the branching method based on the LC search. 제 1 항에 있어서,The method of claim 1, 상기 상호작용 게임 모델은,The interactive game model, 실질적으로, Ehrenfeucht-Fraisse 게임 모형인 것을 특징으로 하는 게임 모형에 기반한 상호유사성 검사 방법.Practically, a method for checking similarity based on a game model, characterized in that the Ehrenfeucht-Fraisse game model. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 분기 한정법에서,In the branch limitation method, 노드에 대한 비용 함수가 하기의 수학식으로 정의될 때, h(x)는 루트 노드로부터 x까지의 거리이고, f는 적당한 단조 증가 함수, 그리고 g(x)는 노드 x에서 c개의 이후 수에 대한 액션 밴드폭의 합이 되며, g 함수는 x를 루트로 하는 부트리(subtree)의 크기에 대한 추정값을 제공하는 것을 특징으로 하는 게임 모형에 기반한 상호유사성 검사 방법.When the cost function for a node is defined by the following equation, h (x) is the distance from the root node to x, f is a suitable monotonically increasing function, and g (x) is the number of c subsequent numbers at node x. And the g function provides an estimate of the size of a subtree rooted in x. c(x) = f(h(x)) + g(x)c (x) = f (h (x)) + g (x) 제 4 항에 있어서,The method of claim 4, wherein 상기 랜덤 워크는,The random walk is, 상호유사성 검사를 위해서 전이 T를 사용자 대신 검증기가 직접 생성해야 하는데, 길이 |T|의 랜덤 워크를 이용하되, 커버 시간(cover time) 정리에 의거하여 |T| = 2|→|(|S| -1)로 설정하면, 이 랜덤 워크는 높은 확률로 레이블된 전이 시스템(LTS)의 모든 상태를 방문하는 것을 특징으로 하는 게임 모형에 기반한 상호유사성 검사 방법.For the similarity check, the verifier T must be generated by the verifier on behalf of the user. A random walk of length | T | is used, and the | T | = 2 | → | (| S | -1), this random walk is a game model based mutual similarity check method characterized in that it visits all states of the transition system (LTS) with high probability. 두 개의 병행 시스템들에 대한 명세가 주어졌을 때 이들이 동일한 행위(Behavior)를 보이는지를 검사하기 위하여, 프로세서를 구비한 컴퓨팅 시스템에,In a computing system with a processor, to check if they exhibit the same behavior when given specifications for two parallel systems, 사용자와 상호유사성 검사기간의 상호작용 게임 모델을 구현하고, 상기 상호작용 게임 모델에 의거하여 상호유사성 검사 환경을 구축하는 제 1 기능; 및A first function of implementing an interactive game model of a user with a similarity checking period, and establishing a mutual similarity checking environment based on the interactive game model; And 상기 상호 유사성 검사 환경하에서 상기 검사기 측의 게임 전략으로, 분기 한정법(Branch-and-bound)과 랜덤 워크를 사용하여 상호유사성을 검사하는 제 2 기능A second function of checking the similarity using branch-and-bound and random walk as a game strategy of the checker side under the mutual similarity checking environment; 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this.
KR1020010072239A 2001-11-20 2001-11-20 Method for checking bisimilarity based on game models KR20030041446A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010072239A KR20030041446A (en) 2001-11-20 2001-11-20 Method for checking bisimilarity based on game models

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010072239A KR20030041446A (en) 2001-11-20 2001-11-20 Method for checking bisimilarity based on game models

Publications (1)

Publication Number Publication Date
KR20030041446A true KR20030041446A (en) 2003-05-27

Family

ID=29570332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010072239A KR20030041446A (en) 2001-11-20 2001-11-20 Method for checking bisimilarity based on game models

Country Status (1)

Country Link
KR (1) KR20030041446A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101040791B1 (en) * 2010-12-17 2011-06-13 주식회사 앤비젼 Illegal passengers detection system and mathod for the same
CN114139189A (en) * 2021-12-08 2022-03-04 广西民族大学 Data security processing method and device based on mutual simulation equivalence

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101040791B1 (en) * 2010-12-17 2011-06-13 주식회사 앤비젼 Illegal passengers detection system and mathod for the same
CN114139189A (en) * 2021-12-08 2022-03-04 广西民族大学 Data security processing method and device based on mutual simulation equivalence
CN114139189B (en) * 2021-12-08 2023-03-24 广西民族大学 Data security processing method and device based on mutual simulation equivalence

Similar Documents

Publication Publication Date Title
Chatterjee et al. Mean-payoff parity games
Edwards et al. SHIM: A deterministic model for heterogeneous embedded systems
Alur et al. Realizability and verification of MSC graphs
Sun et al. Breaking cycles in noisy hierarchies
Lasota et al. Alternating timed automata
Pollack BRICS, ¹ Computer Science Department, Aarhus University
US20050160404A1 (en) Non-deterministic testing
Letichevsky et al. Systems specification by basic protocols
Titov et al. Online graph planarisation for synchronous parsing of semantic and syntactic dependencies.
Núñez Algebraic theory of probabilistic processes
Chatterjee et al. The complexity of partial-observation stochastic parity games with finite-memory strategies
Křetínský et al. Comparison of algorithms for simple stochastic games
Jansen et al. Symbolic counterexample generation for large discrete-time Markov chains
Goldbring The Connes embedding problem: A guided tour
US7363605B1 (en) Eliminating false positives in crosstalk noise analysis
KR20030041446A (en) Method for checking bisimilarity based on game models
Lustig et al. Synthesis from Probabilistic Components.
Bojarńczyk Two-way alternating automata and finite models
Wooldridge et al. Optimistic and disjunctive agent design problems
Mariën et al. Satisfiability checking for PC (ID)
US20050010907A1 (en) Method and apparatus for reducing a program size while maintaining branching time properties and automated checking of such reduced programs
Yurtsever Quantum mechanics and algorithmic randomness
Nain et al. Solving partial-information stochastic parity games
Schmitz et al. Implementation of a strategy improvement algorithm for finite-state parity games
Chatterjee et al. Obligation blackwell games and p-automata

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination