KR100237090B1 - 제어 집중 시스템 - Google Patents

제어 집중 시스템 Download PDF

Info

Publication number
KR100237090B1
KR100237090B1 KR1019910003509A KR910003509A KR100237090B1 KR 100237090 B1 KR100237090 B1 KR 100237090B1 KR 1019910003509 A KR1019910003509 A KR 1019910003509A KR 910003509 A KR910003509 A KR 910003509A KR 100237090 B1 KR100237090 B1 KR 100237090B1
Authority
KR
South Korea
Prior art keywords
task
circuit
given
response
state
Prior art date
Application number
KR1019910003509A
Other languages
English (en)
Other versions
KR910017301A (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 죤 제이.키세인
Publication of KR910017301A publication Critical patent/KR910017301A/ko
Application granted granted Critical
Publication of KR100237090B1 publication Critical patent/KR100237090B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

본원은 제어 집중 시스템에 관한 것으로, 형식적 증명을 기초로한 방법론을 통하여 상기 시스템 유한 상태 장치 수행을 개선하기 위한 방법이 기술된다. 상기 목적을 위하여 본원에서는 연속회로를 창출하기 위한 방법, 주어진 업무를 수행하는 연속회로를 창출하기 위한 방법 및 주어진 명세에 따라 주어진 업무를 수행하는 연속회로를 창출하기 위한 방법이 제시된다. 또한 본원에 의하면, 저장 프로그램 프로세서와 메모리를 가지고, 주어진 업무를 수행하기 위해 필수적인 부분을 가진 상기 메모리내에 저장된 신호 세트를 가진 주어진 업무를 수행하기 위한 회로로써, 상기 부분은 다수의 모듈로 구성되되, 상기 각각의 모듈은 상기 저장 프로그램 프로세서의 입력 및 출력기능을 제어하는 모듈에 관련된 스위치 구성을 연속회로와, 상기 유한상태 장치의 상태와 입력 포트에서 연속 입력신호로 출력포트에서 미리 선택된 응답을 발생하고, 입력 및 출력포트를 가진 유한상태 장치를 형성하는 프로세서와 연동하기 위한 제어기가 제시되었다.

Description

제어 집중 시스템
제1도는 본 발명의 분석/전개 장치의 일반 블록도.
제2도는 제1도의 블록도의 상세도.
제3도는 본 발명의 분석/전개 장치내에 실시된 준동형(homomorphism) 개념의 도시도.
제4도는 프로토콜 장치와 응용될 수 있는 태스크 관련 감소의 예시도.
제5도는 “크랭크 장치”의 실시예의 일반 블록도.
제6도는 선택 및 상태를 통하여 주기화 할 수 있는 흐름도.
제7도는 제2도의 블록(30)에 의해 발생된 신호 세트와 증명 블록내에 사용된 코드의 구조도.
* 도면의 주요부분에 대한 부호의 설명
10, 14 : 정세 증명 블록 13 : 정세 및 매핑 블록
15 : 시스템 정의 블록 20, 26 : 태스크 증명 블록
23 : 태스크 저장 블록 24 : 감소 및 매핑 저장 블록
25 : 감소 증명 블록 3D : 코드/네트리스트 발생 블록
100 : CPU 110 : 버스 MGR
120 : 인터페이스 130 : 응용 블록
210 : 일반 관리기 250 : 수신기
260 : 송신기 270 : 타이머
290 : ROM 관리기 310, 320, 330 및 340 : 링크
380 : 프로토콜 ROM
본 발명은 제어 집중 시스템에 관한 것으로, 특히 형식적 증명에 기초한 방법론을 통해 상기의 시스템의 유한 상태 장치 수행의 개선 기술에 관한 것이다.
메모리를 가진 디지탈 회로는 유한 상태 장치 또는 순서회로로써 보통 참조된다. 유한 상태 장치는 2개의 카테고리로 분류될 수 있는데, 즉 하나는 신호처리 장치로서 그들의 적절한 동작은 자체를 반복적으로 호출하는 루틴에 의하여 기술되어야만 하고, 다른 하나는 비반복적인 제어 집중 장치이다. 예를들어 FIR 필터는 제1 카테고리에 속한다. 통신 프로토콜 하드웨어는 제2 카테고리에 속한다. 제어 집중 유한 상태 장치의 디자인른 어려운 태스크이다. 일반적으로 그러한 디자인의 목적은 데이타 구조의 변화에 대하여 견실하고 정확한 수행을 효과적이고 빨리 진행하고. 용이하게 유지하기 위함이다.
특정의 형식적 증명 프레임 워크의 값은 수행이 테스트될 수 있는 요구의 일반성 또는 범위에 의해 측정될 수 있다. 예를들어 각각의 상태에서 프로토콜이 비뚤어진 방향으로 수행되지 않는다는 것을 증명할 수 있다. 이는 소정의 사용 분야에서는 충분하고, 다른 분야에서는 충분치 않다. 통신 프로토콜에 관련하여, 예를들어 그러한 증명은 주관심사로써 메세지가 목적지에 수신되어야 하기 때문에 충분치 않게 되며, 그러한 증명 역시 그것을 충분히 보장치 못하게 된다.
적절한 운전상태를 수행케 하기 위하여, 광범위한 운전상태 테스팅이 수행되어야만 한다. 보통 이는 광범위한 시뮬레이션을 포함하지만, 그러한 시뮬레이션이 불충분하다는 것도 일반적인 현실이다(완전한 확신으로 시뮬레이트 되어야만 하는한 세트의 입력신호의 가능순차는 무한하다). 한편, 형식적 증명기법은 유한 테스트를 통한 모든 경우하에서 시스템의 일반적인 운전상태에 대한 결론을 도출하는 힘을 가질 수 있다.
유한 상태 장치의 어드레스 브로드 특성 요구 때문에, 형식적 증명은 매우 쉬우며 수행의 추상적 개념 또는 고레벨 모델에 자주 사용된다. 고레벨 모델의 증명이 수행을 위한 실제 의미를 가지도록 하기 위하여, 고레벨 모델로부터 수행까지 형식적인 변환 또는 조합이 존재하여야 된다.
추론 모델로부터 실제 수행까지의 형식적 변환이 없는 경우에서도 모델의 형식적 분석은 유용하다. 프로토콜을 구체화하는 유한 상태 장치에 관련하여, 예를들어 형식적 분석은 프로토콜 자체의 개념까지의 결함을 밝힌다. 그러나 이는 만일 증명된 모델과 그의 실제 수행간의 형식적이고 테스트 가능한 관계가 없을 경우, 그러한 결함이 없이 수행이 “증명된”으로 참조된다는 것은 믿을 수 없게 된다.
고레벨 모델 즉 표준 모델과 수행간의 형식적 관계를 규정하는 간단한 방법은 모델 또는 표준내의 상태를 한 세트의 수행상태와 연관짓는 것이다. 그러한 연관은 예를들어 통신 프로토콜의 고레벨 모델의 수신기-대기 상태가 한세트 수행 상태에 상응하고 이를 위해 프로토콜 수행의 소정 상태 장치 구성원이 그의 수신기-대기 상태내에 있다는 것을 요한다. 이 상태장치 구성원이 수신기-대기 상태에 있는 한세트의 수행 상태는, 그 상태가 포인터, 버퍼, 카운터 및 그밖의 수신기-대기 상태를 가지는 상태장치 구성원과 함께 발생하는 회로 등의 각각의 가능 값 모두에 의해 결정되기 때문에, 매우 크게 된다. 만일 고레벨 모델 또는 표준에 따라서 수신기-대기로부터 전송 상태로 정확한 전이가 이루어진다고 가정하는 경우, 이는 소정 수행상태에 대하여(예를들어, 포인터, 버퍼 또는 그외의 회로의 소정값에 대하여) 수행은 모델 또는 표준을 따르게 되는 반면, 다른것에 대하여는 그렇지 않다. 고레벨 또는 표준이 수행을 끌어내는 것을 확실시하기 위하여, 이는 이 추론을 고레벨 상태 및 전이 각각에 상응하는 전이 및 단일 수행상태 뿐만아니라 매 저레벨 상태 및 전이에 대하여도 증명하는 것이 필수적이다. 실제로 널리 공지된 것으로 수행의 최대 취약점이 동작의 “경계선”상에서 일어나는 것이며(버퍼 엠티, 버퍼 풀 등등), 이들 “경계선”은 매우 복잡하다.
상기에서 암시한 바와 같이, 모델의 모든 가능상태(예를들어, 포인터, 버퍼의 모든 가능 조합)를 시뮬레이팅하는 강력한 기법을 사용할 수 있으나 이는 극히 실제적이다. 고레벨 모델 또는 표준이 50 내지 500 만큼 작은 상태수를 가지는 반면에, 수행은 일반적으로 그 상태수가 유추법에 의해서만이 인지될 수 있는 큰수의 상태수를 가진다. 예를들어, 포인터, 버퍼 및, “평균”프로토콜 수행의 상태장치 제어기의 모든 가능 결합치가 주어지면, 이는 회로의 상태공간이 대략
Figure kpo00002
에 접근 가능한 상태를 포함하는 것으로 나타난다. 강력한 증명 알고리즘이 지구상의 매인간을 완전하게 비교한다고 가정하고, 각각의 인간에게는 남녀간의 태스크편의를 달성하기 위하여 슈퍼 컴퓨터가 제공된다고 가정하자.
Figure kpo00003
상태수가 있기 때문에, 직업을 증명하는 것은 태양이 돌로 변하기 전에는 불가능하다.
수행의 모든 가능 변화를 직접 어드레스 하는 것이 좀체로 실행될 수 없기 때문에(예를들어, 포인터, 버퍼 등의 모든 가능값을 어드레스 하는것), 유일한 방법이 되는 것은 수행이 그의 고레벨 추론을 충실히 지키는 것으로 결론지을 수밖에 없다.
고레벨 설명을 저레벨 명세로 변환하기 위한 포괄적인 증명방법과 함께 형식적인 증명을 가지는 것은 유한 상태 장치가 나타내는 대단한 복잡성에 비추어 아직도 불충분하다. 이러한 복잡성을 감소시키기 위해 전문인들은 복잡한 문제를 간단한 양태로 대치시키토록 시도되어 왔다. 1987 년 7 월 13 일 내지 17 일, 독일연방공화국, 제14차 세미나 카알스루헤에서 K.G.랄센등에 의한 컴퓨터 과학의 강연 노트에서는 시스템을 분석하고 완전한 시스템에 대의여 진가를 보유하는데 충분한 보조 시스템의 특성을 증명함으로써 구성학적 증명을 제시한다. 그러나 그들은 그러한 대치(단순 문제로 복잡한 문제를 일치)가 유효하다는 것을 증명하기 위한 방법론은 제공치 못하였다.
요컨대, 제어 집중 FSM 의 개선안에 필요한 것은 형식적 증명, 고레벨 설계로부터 세밀화된 수행까지의 형식적인 운전상태 보존 변환 및 세밀화된 수행에 의해 주어진 후속 복잡성을 관리하는 수단과 조합하는 자동화된 소프트 웨어 보조 디자인 시도이다.
본 발명은 연속적인 세밀화된 기술에 기초하여 형식적인 탑-다운 전개 진행형태로 고레벨을 저레벨 변환으로 나타낸다. 프로토콜 표준의 형식적 추론과 같은 하이레벨(추론) 모델과 함께 시작하여, 연속적으로 보다 상세한 모델이 연속적인 세밀화된 기술을 통하여 산출된다. 그러한 세밀화된 기술은 한 레벨의 추론에서 증명된 특성이 추론의 모든 연속 레벨내에 보유된다는 것을 보장하는 형태로 산출된다. 그러한 연속적인 세밀화된 기술인 프로토콜의 궁극적인 수행을 형성하는 저레벨 모델로 종료한다.
본 발명의 일실시예에 있어서, 분석/전개 장치는 저장된 프로그램 제어장치내에 수행될시에 구체화된 태스크를 수행하는데 보장된 구체화와 시스템의 독특한 C 언어 코드 표시를 산출한다. 그 코드는 코드의 명령을 실행하여 그로 인하여 소정의 유한 상태 장치를 실현하는 소프트웨어 제어된 프로세서의 메모리내에 저장된다. 다른 실시예에 있어서, 코드는 한 세트의 레이아웃 마스크로 변형된 “네트 리스트”를 산출하는데 사용되고, 마스크는 구체화된 시스템의 집적회로를 제조하는데 사용된다.
이하, 본 발명은 첨부된 도면을 참조로 하여 더욱 상세히 설명한다.
상술한 바와 같이, 본 발명은 주어진 기능을 수행하는 유한 상태 장치를 제공하는 필요성을 취급하고, 수행된 장치가 실패없이 의도된 기능을 수행하는 것을 형식적으로 증명하는 필요성을 취급한다. 본 발명은 구체적으로 설계된 장치내에서 또는 프로그램 제어된 프로세서내의 목표 유한 상태 장치를 실현한다. 프로세서내의 목표 상태 장치를 수행하는 프로그램을 구비하고 하드웨어 실시예내의 회로구조를 명령하는 코드는 이후에 기술된 분석/전개 장치에 의해 발생된다.
처음에 주지할 것으로는 본 발명이 독특한 최종 결과를 산출하며, 이는 본 발명의 원리에 따라서 발생된 유한 상태 장치이다. 본 장치는 아래에 기술된 바와 같은 독특한 특성을 가진다. 본 발명은 또한 다른 결과를 산출하며, 이는 FSM이 종래의 하드웨어(예를들어, 집적회로) 또는 소프트웨어 제어된 하드웨어 내에 구체화 되든지간에 유한 상태 장치(FSM)을 발생하기 위해 적합한 형식적으로 증명된 명세이다. 소프트웨어 제어된 실시예에 관련하여 인정하여야만 할 것으로는 기술노력이 소프트웨어 제어된 하드웨어내의 제어 시스템의 개선을 향하여 크게 바뀌고 있으며, 많은 근무시간이 소프트웨어 발전 노력에 전력 투구되어 왔다는 것이다. 그러한 소프트웨어 발전 노력은 본 발명의 방식에 의해 매우 효과적이게 된다. 따라서 본 발명은 소프트웨어 제어된 하드웨어를 발전시키는 도구로써 적당히 조명될 것이다.
본 발명의 원리에 따른 유한 상태장치의 확인된 디자인을 전개한다는 것은 서로 작용하는 디자인 처리를 고려한다. 제1도를 참조하면, 이는 본 발명의 디자인 분석/전개 장치의 일반적 블록도로써 사용자는 설계될 시스템의 고레벨 명세를 정세 블록(10)내로 인입시킨다. 상기 명세가 아무런 내부 모순을 포함하지 않을 경우, 시스템 명세 정보는 증명 블록(20)으로 통과한다. 블록(20)은 사용자로부터 태스크명세를 수신하고 구체화된 태스크가 블록(10)에 의해 제공된 시스템 명세에 의해 규정된 구조에 의해 적절히 실행된다는 것을 형식적으로 증명한다. 에러가 블록(10) 또는 (20) 내에서 감지될시에, 에러 메세지는 상태라인(11) 또는 (21)에서 사용자에게 송부되고, 사용자에게는 입력라인(12 및 22)을 통하여 에러를 교정하는 기회가 주어진다. 에러가 감지되지 않을 경우, 디자인 반복이 종결된다.
다음 반복은 사용자가 시스템 명세에 대하여 더욱 상세한 정보를 제공하고 시스템이 수행되어야 하는 태스크의 더욱 포괄적인 세트를 확인할시에 개시된다. 그때, 블록(10)은 세밀화된 명세가 이전 반복에서 증명된 명세에 의해 포함된다는 것을 결정하도록 사용자에 의해 제공된 시스템 명세내의 정세를 분석한다. 에러가 감지되지 않으면, 세밀화된 명세는 블록(20)으로 통과되는데, 여기에서 이는 새로이 구체화된 태스크가 세밀화된 명세에 의해 규정된 구조에 의해 적절히 실행되는지를 평가한다.
다수의 그러한 반복에 따르면, 블록(10)내에 포함된 시스템 명세는 모든 필수적인 태스크를 수행하는데 충분히 상세하고 견실하다. 즉, 상기 명세는 모든 예상되거나 목표 출력이 가능 인가 입력에 응답하여 발생될 수 있도록 하는데 충분히 견실하다. 일반적으로, 그때에 디자인 처리는 블록(30)으로 진행한다. 블록(30)은 블록(10)내의 시스템 명세를 사용자로 하여금 설계된 장치를 구성할 수 있도록 하는 형태로 변환한다. 오늘날 상황에서 보면, 이는 저장된 프로그램 처리기 상에서 실행될 수 있는 프로그램이 될 수 있으며, 이는 설계된 유한 상태 장치를 형성하는 조합회로를 규정하는 논리 표현의 집합이 될 수 있다. 이는 또한 집적회로의 레이아웃을 구성하기 위한 네트 리스트가 될 수 있다.
제2도는 제1도의 상세도이다. 정세 블록(10)은 정세 저장블록(13), 정세 증명 블록(14) 및 시스템 정의 저장 블록(15)을 포함한다. 블록(13) 및 (15)는 블록(14)에 신호를 제공하며, 차례로 블록(14)은 블록(15)에 교정신호를 제공한다. 블록(14)는 또한 상태라인(11)에 신호를 제공한다. 동작시에 디자인 처리는 엠티시스템 저장 블록(15)과 함께 시작한다. 사용자는 블록(13)으로 설계될 시스템의 고레벨 정의를 제공하고 분석이 진행된다. 일반적으로, 블록(14)은 블록의 시스템 정의가 블록(15)의 시스템 정의에 의해 포함되는 것을 결정하도록 블록(13)의 구성원을 분석한다. 그러나 제1 반복에 있어서, 그러한 분석의 확고한 결론은 블록(15)이 엠티이기 때문에 자동화된다. 이러한 확고한 결론(예를 들어, 명세가 에러와 관계없다는 결론)은 블록(13)이 그의 구성원을 블록(15)으로 전달되게 하여 현재의 반복의 연속적인 결론을 사용자에게 알리도록 상태라인(11)상의 메세지를 송부한다.
다음 반복이 개시될시에, 사용자는 블록(13)내로 시스템의 정밀화된 정의 및 매핑(mapping)을 입력한다. 매핑은 블록(13)내의 시스템 명세의 상태에서의 작용 및 상태에 대한 블록(15)내의 시스템의 상태에 대하여 매프(map)하며 상태에서의 작용을 한다. 즉 이는 제3도에 도시된 바와 같이 상태대 상태 그리고 작용대 작용을 매프한다.
제3도는 레벨 1 로써 블록(15)내의 시스템 정의와 레벨 2 로써 블록(13)내의 더욱 세밀화된 시스템 정의의 일부를 도시한다. 특히 레벨 1 은 “대기”상태 및 “MSG”상태, “송부-MSG”작용 및 작용발생시 “MSG”상태의 선택이 있음을 도시한다. 제3도는 또한 레벨 2 로부터 레벨 1 까지 매핑이 존재한다는 것을 가리킨다. 레벨 2 는 “대기”상태와, 아래의 작용 “송부-MSG1”, 송부-MSG2”,..., “송부-MSGM”이 선택되는 “MSG1”, “MSG2”....“MSG2”상태가 있다는 것을 도시한다. 매핑 Φ은, 아래와 같다. 즉,
Φ(레벨 2 의 상태)=>레벨 1 의 상태, 그리고
Φ(레벨 1 의 작용)=>레벨 1 의 작용.
블록(14)은 상기 세밀화된 정의와 블록(15)내에 포함된 매핑 대향 정의를 분석한다. 만일 에러가 검출되면, 상태라인(11)은 사용자에 대한 진단 메시지를 제공한다. 사용자는 그후 블록(13)내에 저장된 정세를 교정하고 다시 시도된다. 에러가 없을 경우 정세 저장 블록(13)의 구성원은 블록(14)을 통하여 시스템 정의 저장 블록(15)에 전달된다. 반복처리는 블록(15)내의 시스템 정의가 충분히 상세화될 때까지 계속된다.
제2도 구성에 대한 입력과 관련하여, 인지되어야 하는 것으로는 시스템을 규명하는 많은 방식이 있다는 것이며, 여기에 기술된 본 발명은 그러한 선택에 따라 좌우되는 것이 아니라는 점이다. 사용가능한 선택은 부울 방정식, 직접, 그래프 설명 및 그외 여타의 것을 포함한다. 본 실행에 있어서는, 신호 그래프 접근방식을 선택하였는데, 이는 극히 종래의 수단이다. 이러한 접근방식에 있어서, 시스템은 처리상태들간의 처리상태 및 전이의 집합으로 규정된다. 각각의 프로세스 상태에서, 소정의 선택은 상태의 기능으로써 가능하다. 각각의 상태 전이와 연관된 것은 이러한 처리상태 및 다른 처리상태내의 선택에 의해서 표시되는 인에이블링 프리디케이트(enabling predicate) 인데, 이로써 이 처리는 통신한다.
처리상태(노드) 및 전이(에지)의 집합으로써 시스템을 기술하기 위한 신택스(syntax)는 데이타 흐름언어를 형성한다. 그러한 언어는 노드를 확인하고 에지를 확인하기 위한 수단을 포함한다. 공동의 S/R모델 이후에 모델되는 S/R언어는 우리가 사용하는 언어이다. 이는 기본적으로 부록 A 내에 규정된다.
블록(14)내에 수행된 주형식 증명은 정세한 시스템 정의 블록(13)내의 매 에지가 시스템 정의의 블록(15)내의 하나의 에지에 정확하게 일치하거나 상기 하나의 에지에 매프된다는 것을 결정하는 태스크이다. 기본적으로 상기 태스크는 블록(14)내의 명세의 상태공간 표시내의 각각의 에지를 통하여 진행하고, 구체화된 매핑에 따라서 블록(15)내의 명세의 상태 공간표시내의 대응 에지가 있다는 것을 결정하는 것이다. 보다 구속력이 있는 설명은 이후에 설명된다.
블록(10)내의 각각의 연속적인 결정의 반복때문에, 블록(13)내의 명세는 블록(15)내에 전달되며, 블록(15)내의 시스템 정의 정보는 증명블록(20)에 전송된다. 상기에서 지적된 바와 같이, 블록(20)은 블록(15)내에 포함된 시스템 정의가 시스템의 필수적인 태스크를 적절하게 실행할 수 있다는 것을 증명한다. 사용자는 태스크정의를 블록(23)내로 입력한다. 블록(24)는 제2도의 분석/전개장치로 하여금 상기 태스크가 적절하게 수행되는지를 평가하게 하도록 사용자로부터 감소 정보를 수신한다. 더욱 상세하게는, 사용자는 태스크정의를 블록(23)에 공급하고 감소 매핑을 블록(24)에 공급한다. 각각의 감소 Ri 는 태스크 Ti 와 연관된다. 태스크 Ti 에 대하여, 시스템 동작의 정확성은 태스크가 감소 Ri 로 규명된 바와 같은 감소된 변역에 의해 수행되는지를 결정함으로써 확인될 수 있다.
블록(24)의 감소는 블록(15)에 의해 제공된 대향 시스템 정의로 증명된다. 이 증명은 감소 증명 블록내에 수행된다.
증명은 일시에 하나의 태스크상에 수행된다. 즉 각각의 감소는 이것이 유효한 감소인지를 결정하도록 테스트되며, 이는 감소가 감소된 시스템의 동작을 불변의 대향 태스크로 남게하는 것을 의미한다. 동시에, 태스크는 적절히 수행될 수 있다는 것을 결정하도록 감소된 시스템에 대하여 블록(26)내에서 테스트된다. 블록(25) 또는 (26)내에서 에러가 검출될시에, 상태라인(21)은 사용자가 시스템 정의, 세밀화된 태스크 또는 감소를 교정케하는 진단 메세지를 사용자에게 제공한다. 에러가 검출되지 않을 경우에, 처리는 모든 태스크가 테스트를 성공적으로 통과할 때 까지 다음 태스크 및 대응 감소 매핑으로 진행한다. 각각의 감소 매핑을 증명하는데 수행되는 실제 테스팅은 시스템 정세(블록(14))와 연관된 매핑을 증명하는데 수행되는 테스팅과 같다. 즉 수학적으로, 시스템 감소(소정 태스크에 관련된)와 감소되지 않은 시스템간의 관계는 블록(15)내의 시스템 정의와 블록(13)내의 세밀화된 시스템 정의간의 관계와 매우 유사하다. 그외에, 다른 문헌에서는 이들 매핑은 때때로 준동형(homomorphism)으로 참조된다.
일단 감소가 블록(25)내에서 증명되면, 블록(26)은 구체화된 태스크각각이 그들 감소된 시스템에 의해 적절히 수행되는지를 결정한다. 블록(25)의 증명은 만일 태스크가 그들 감소된 시스템에 의해 수행되는 경우, 감소되지 않은 시스템에 의해 역시 수행될 수 있다는 것을 보장한다. 물론 감소된 시스템을 검사하는 것은 대체로 작은 시간이 걸린다. 하나의 그러한 알고리즘으로는 불연속 이벤트 시스템 모델 및 응용으로 명명된 스프린저-버래그, 19-39면(1987)의 컴퓨터 과학(LNICS) 103 의 강연 노트내에 공표된 R.P. 쿠루산에 의한 명칭 “동등 분석의 감소성”이란 주제의 논문에 기술된다. 그외에, 어떤 문헌에서는 이들 알고리즘은 “언어 봉쇄 알고리즘”으로써 때때로 참조된다.
모든 태스크가 성공적으로 분석되었을때, 상태라인(21)은 사용자에게 반복이 종결되었다는 것을 알린다. 그이후에, 사용자는 다음 반복으로 진행한다. 사용자는 시스템의 정세를 제공하고(블록(10)으로), 새로운 세트의 태스크를 테스팅하기 위한 감소와 세밀화된 시스템에 의해 수행될 보다 포괄적인 세트의 태스크를 한정한다.
상술한 바와 같이, 제2도의 구성은 테스팅 기능을 수행하고, 연속적인 최종결과는 모든 구체화된 태스크를 수행하기 위해 필수적으로 상세한 블록(15)내의 명세이다. 즉 모든 목표 출력신호는 다양한 가능 입력신호에 대하여 개발될 수 있다. 이때에 코드 발생기(30)는 유한 상태 장치를 실행하기 위해 뚜렷한 코드를 발생하도록 수용된다. 이 코드는 유한 상태 장치를 구체화하는 저장된 프로그램 제어처리기내로 설치하기 위해 타케트 될 수 있거나, 특정 목적 하드웨어 실현에 대한 필수적인 정보를 발생하는 단계에 대한 압력을 형성하는 코드일 수 있다. 예를들어, 그러한 정보는 집적회로 실시예의 다양한 소자들간의 접속을 한정하는 “네트리스트” 일 수 있다. 네트리스트는 목표 FSM 을 세우는데 집적적으로 사용될 수 있거나, 이는 타게트 FSM 을 실현하는 집적회로를 제조하는데 사용되는 하나이상의 마스크로 변형될 수 있다.
블록(14, 25 및 26)내에 수행된 증명에 관련한 부가의 정세를 제공하기 전에, 상술한 원리의 발생 실예는 유리하게 된다.
제4도는 제어기의 블록도를 나타내며, 그들의 설계는 본 발명의 원리에 따라서 형식적으로 개발되고 증명된다. 이는 CPU(100) 및 패킷층 제어기(PLC)(200)를 포함한다. CPU(100)는 버스 관리기(110), 인터페이스 드라이버(120) 및 응용블록(130) 를 포함한다. PLC(200)는 일반관리기(210), 경영블록(220), 태스크관리기(230), 재개시 블록(280) 수신기(250), 송신기(260), 타이머(270), 태스크큐 블록(280) 및 ROM 관리기(290)를 포함한다. PLC 와 관련된 것은 입수 및 배출큐(31-370)와 프로토콜 ROM(380)이다.
응용 블록(130)이 실행되어야 할 필요가 있는 태스크중의 하나는 “enque-msg”태스크이며, 여기에는 상기 응용 블록이 “enque-msg”토큰을 출력하고 메세지를 출력 메세지 큐, 예를들어 큐(370)상에 둔다. 상기 “enque-msg”토큰은 드라이버(120)에 의해 해석되어, 명령큐(370)로 송부된다. 동시에, 태스크관리기(270)는 명령큐 내로의 해석된 토큰의 삽입을 알린다. 태스크관리기는 명령큐에서 큐우된(quened) 메세지를 선택하고, 이를 태스크큐(280)아리로 가져가며, 그들로부터 이를 송신기(260)에 전송한다. 송신기는 ROM 관리기(290) 및 일반 관리기(210)를 통하여 ROM(380)내의 프로토콜에 엑세스된다. 일반관리기(210)는 ROM 내에 충돌과, 프로토콜에 의한 “enque-msg”태스크의 처리를 행하는 시스템 버스내의 충돌을 제어한다. 이는 궁극적으로 출력 메세지 큐로부터의 데이타를 링크로 옮기는데 진행한다.
이러한 태스크를 증명하기 위하여, 시스템이 너무 복잡하기 때문에, 제4도 시스템의 복잡성을 감소하는 것이 필수적이다. 즉 현상태로는 시스템이 유효증명을 허용하도록 가정하는 매우 많은 상태가 있다(계산 노력의 관점으로부터).
그런고로, 감소는 상술한 단계가 된다. 감소의 목적은 “enque-msg”태스크와의 상호작용을 포함하지 않는 시스템 일부를 추론하고, 가까이에는 태스크와 연관하여 프로액티브 하지 않는 다른 구성원과 송신기의 작용과 상호작동하는 매우 간단한 세트의 블록으로 그들부분을 감소하는 것이다. 그들 상호작용 또는 간섭이 적어도 실제 구성원의 상호작용만큼 클수록, “enque-msg”태스크가 감소된 시스템으로 수행되는 증명은 또한 태스크가 비감소된 시스템으로 수행되는 것을 또한 보장한다. 예를들어 하나의 감소는 블록(310, 320, 350, 360, 220, 270, 240, 250 및 290)을 에워싼다. 한편, 이는 그러한 철저한 감소는 충분히 에워싸지 않도록 반전될 수 있다.
사용될 수 있는 하나의 해결안은 “enque-msg”태스크를 3 개의 보조태스크로 분해하는 것이다. 제1 보조태스크는 응용 블록이 “enque-msg”를 전송할때와, “enque-msg”토큰이 명령 큐에 이르는 것을 증명하게 된다. 제2 보조태스크는 “enque-msg” 토큰을 가정하는 것이 명령 큐내에 있다고 가정하여 태스크 관리기가 이를 적절히 송신기에 끌어내리는 것을 증명하게 된다. 제 3 보조 태스크는 “enque-msg” 토큰이 송신기내에 있다고 가정하여 송신기가 링크에 대한 데이타 전달을 수행하는 것을 보여준다. 이들 각각의 보조태스크를 입증하기 위하여, 시스템의 매우 큰 부분은 감소된 블록내에 에워싸여지게 된다. 결과의 간단한 시스템은 분석될 수 있고 보조태스크는 보다 쉽게 입증된다. 물론, 보조태스크를 수행하는 것이 원래의 “enque-msg”태스크를 수행하는 것과 동등하다는 것을 입증하고 보증되어야만 하는 추가적인 증명단계가 있다.
상술한 바와 같이, 블록(14)내에 수행된 증명에 참조하면, 블록(15)내의 시스템 명세와 블록(13)내의 보다 세밀화된 시스템 명세간의 관계는 매핑(준동형)에 의해 규정된다. 세밀화되고 보다 복잡한 명세가 덜 복잡한 명세와 일치되는 것을 증명하기 위하여, 선택 x 에 의해 구동될 수 있는 보다 복잡한 시스템에 있어서 상태 v 로부터 상태 w 까지 전이가 있을때마다 테스트 하는것이 필수적이며, 그러한 매핑하에서 v 는 v ′ 에 매프하고, w 는 w ′ 에 매프하며, x 는 x ′ 에 매프하며 그후 v 로부터 w ′ 까지의 전이는 x ′ 에 의해 구동된다(v′, w ′ 및 x ′ 는 덜 복잡한 시스템에 관련한다).
s/r 모델은 상기 평가를 만드는데 사용된다. 간단한 용오로 s/r 모델은 구형선택, 구형상태 및 전체 유한 상태 장치를 형성하도록 조정하는 다수 구성원의 유한 상태 장치를 고려함으로써 설명될 수 있다. 이러한 모델의 각각의 반복에서, 구성원 유한 상태장치 각각은 그의 현재상태로부터 가능한 출력중에서부터 출력을 선택하고, 따라서 구형선택에 기여한다. 그후 이는 구형선택을 관찰하고 다음상태로 이동하며, 여기에 유한 상태 장치는 진행하게 된다. 이들 반복은 무한히 계속하게 된다.
“크랭크 장치”로 불리우는 증명 목적에 대한 s/r 모델을 수행한다. 이는 구성원 유한 상태 장치를 조정하는 다수에 상응하는 다수의 모듈을 포함하며 4 개의 단계를 통하여 반복하기 위한 수단을 포함한다. 선택을 만들고 상태(크랭크 장치의 단계 2 및 3 을 형성하는)에 귀착하는 상술한 그 단계에 부가하여, 크랭크장치는 레지스터로부터 구형선택을 언팩킹(unpacking)하여 이를 구성원 상태장치에 인가하는 제1 단계와 새로운 구형상태를 팩킹(packing)하여 이를 레지스터내에 저장하는 제4 단계를 포함한다. 레지스터는 구성원 유한 상태 장치간의 통신 인터페이스로써 작용하며, 이는 구성원 유한 상태 장치간에 필수적인 상호작용에 대하여 제공된다. 구성원 유한 상태장치 각각은 구형상태에 응답하며, 유한 상태장치 각각은 다음 구형상태의 생성에 기여한다.
물론, 시스템 명세의 다양한 상태를 통하여 주기화 할 수 있는 단순한 능력을 갖는 것은 시스템 명세의 테스팅 목적에 대하여는 불충분하다. 모든 가능상태 및 선택을 통하여 실제적으로 주기화하는데 수단이 제공되어야만 한다. 인지하여야만 할 것으로, 시스템은 시스템이 주어진 상태내에 있을시에 여러 선택을 가질 수 있으며 역으로 각각의 선택에 위하여 여러상태 중의 하나에 대한 해결책이 될 수 있다.
시스템 명세를 테스트 하기 위하여, 제5도에 도시된 바와 같이, 경계 큐메모리(61), 접근된 상태 테이블(RST)(62) 및 크랭크 장치 제어기(63)를 사용한다. 경계 큐는 상부 또는 저부로부터 엑세스될 수 있는 스택(stack)이 되고, 이는 RST내의 시스템의 상태에 지정하는 구형상태 포인터의 리스트를 포함한다. 크랭크 장치 제어기(소프트웨어 제어 프로세서)는 경계 큐의 상부로부터 상태를 팝(pop)하며, 상태를 언팩(unpack) 하고, 구성원 유한 상태 장치를 나타내는 다양한 모듈로 이를 인가한다. 그후 이는 모든 가능선택을 발생하며, 각각의 선택에 대하여 모든 가능한 다음상태를 발생한다. 발생된 다음 상태 각각에 대하여, 크랭크 장치는 그 상태가 이미 RST 내에 있는지를 결정한다. 만일 RST 내에 있지 않을 경우, 크랭크 장치는 RST 에 상태를 가산하며, RST 내의 삽입된 상태의 위치에 지정하는 경계 큐내에 포인터를 삽입한다. 포인터는 경계 큐 스택의 상부에서 또는 경계 큐 스택의 저부에서 수리기준치에 따라 삽입된다. 특히, 포인터는 상태에 대한 엑세스가 “반복” 에지양단에 있다는 것이 결정될때마다 스택의 상부에서 삽입된다. 이러한 개념은 R.P 쿠르산에 의한 전술한 LNICS 내에서 밝혀진다.
상술한 처리는 제6도의 플로우차트를 기본적으로 따른다. 블록(51)에서, 상태는 버퍼큐로부터 언팩된다. 블록(52)에서, 이전에 만들어지지 않았던 시스템내에 만들어진 선택이 있는가의 결점이 만들어진다. 그 대답이 확실할 경우, 선택은 블럭(53)내에서 행하여지며, 제어는 블록(55)에 통과한다. 그렇치 않으면, 제어는 다른 시스템 상태가 스택으로부터 팝되며, 크랭크 장치에 의해 언팩되는 블록(51)으로 되돌아간다.
블록(54)에서, 시스템이 이동되어(선택에 근거한) 이전에 확인되지 않은 상태가 있는지의 결정이 주어진다. 대답이 확실할 경우, 블록(55)은 그 상태를 분석하고 블록(56)은 분석된 상태를 팩하여 이를 경계 큐 스택내로 밀어넣는다. 어떠한 추가의 상태도 분석되지 않을시에, 제어는 다른 선택을 만들도록 블록(52)로 다시 통과한다.
제6도의 블록(56)은 경계 큐 스택(61)의 상부로 팩된 상태를 밀어내는지를 결정하기 위한 논리를 포함한다. 블록(52)은 구성원 유한 상태 장치에 의해 만들어진 다양한 선택을 통하여 주기화하기 위한 논리를 포함한다.
크랭크 장치 제어기내의 모듈은 구성원 유한 상태 장치에 상응한다. 본 발명에 따르면 이들 모듈은 S/R 언어 명세를 콤파일함으로써 산출될 수 있다. 본 콤파일러는 명세를 제7도의 C-형 코드로 개요되어 있는 바와 같은 구조를 가진 스위치 작용상태의 집합으로 변화되는 코드를 산출한다. 제7도는 단순히 도시한 것일뿐 정확을 기하고자 한 것은 아니다. 부록 B 에 도시된 코드 “ccode.C”를 실행하는 것은 제7도가 도시한 실제 코드를 발생시키기 위하여 모든 필요한 상세를 제공한다. 여기에 도시된 목적을 위하여, 제7도는 주어진 사항의 스테이트먼트 내에 존재하는 모든 가능상태 및 모든 가능선택을 통한 주기화에 관련하여 블록(52및 54)의 노력을 두드러지게 하기 위하여 “세트상태 백터”구성을 포함한다. 제7도는 또한 각각의 작용 스테이트먼트를 가진 한측 에러 스테이트먼트를 포함한다. 에러 스테이트먼트 엔트리는 소정의 증명을 하도록 수행되는 테스팅을 나타낸다. 그러한 하나의 테스팅은 안정성 테스팅이다. 안정성을 테스트하기 위하여 명세가 연속적인 시간 비동기 시스템 정의와 일치하여야 한다는 것을 결정하여야만 한다. 안정성 이슈의 이론적인 처리는 공표된 논문에 나타나고, 이는 부록 D 내에 포함되며, 본 명세서의 일부가 된다. 안정성 테스트를 수행키 위한 코드는 부록 C 에 포함된다. 주지할 것으로는 제7도는 오직 하나의 구성원 유한 상태 장치만을 나타내고 상술한 상태 및 선택들은 구형선택 및 구형상태에 관련된다는 것이다.
상기한 것은 가능한 여러 상태와 유용한 여러선택을 통하여 주기화 처리를 기술한다. 블록(14)의 증명을 수행하기 위하여, 상기 처리는 블록(13)의 상세 및 블록(15)의 상세 양자에 사용된다. 상기 처리는 동시에 양 시스템에 사용되며, 각각의 단계에서, 시스템의 블록(13)이 상태 v 로부터 선택 x 에 의해 구동될 수 있는 상태 w 까지의 전이를 경험하고 시스템의 블록(15)이 선택 x ′ 에 의해 v ′ 로부터 w ′ 까지의 전이를 경험할시에 , 상기 v′, w ′ 및 x ′ 가 블록(13)의 매핑에 의해 v, w 및 x 에 관련된다는 것을 확인하도록 결정된다.
상기에서 지시한 바와 같이, 블록(25)과 연관된 증명 처리는 블록(14)의 증명처리와 본질적으로 동일하므로, 명세서의 간략화를 위하여 설명은 생략된다.
코드 발생기(블록(30))에 관하여, 이는 블록(14)의 증명 처리에서 산출되는 스위치 스테이트먼트의 동일 집합을 기본적으로 발생한다. 이러한 차이는 모든 가능상태를 통하여 순환하도록 스위치 스테이트먼트내에 조합된 테스팅 보조모듈이 예를들어 제거된다는 것이다. 물론 제7도에 도시된 “에러 스테이트먼트”엔트리 역시도 제거된다. 그결과 코드 발생기는 기능 또는 보조 루틴에 대한 호출이 없는 코드를 발생한다. 모든 결정은 스위치 스테이트먼트의 하나의 “레벨“에서 행해진다. 그결과 코드 발생기에 의해 발생된 코드 패캐지에 상응하는 신호 세트가 목표장치(처리기-메모리 조합)내에 설치될시에, 결과적인 유한 상태 장치의 속도는 극히 빠르게 된다는 것이다. 코드 발생기(30)의 신호세트가 산출되는 유한 상태 장치와, 다른 수단에 의해 발생된 유한 상태 장치간의 차이는 소정 알고리즘에 의해 결과를 계산하는 처리기를 포함하는 배율기와, 룩업테이블(look up table)을 구비한 배율기간의 속도의 차이와 유사하다(본 발명의 유한 상태 장치는 룩업테이블과 유사하다).
또한 블록(30)에 의해 발생된 코드는 유한 상태 장치의 집합을 구비한다. 본 발명에 의하면, 더 나은 결과는 개개의 유한 상태 장치의 여러 보조세트를 각각의 단일 하나로 통합함으로써 이루어진다. 실제적으로 이는 다수의 스위치 스테이트먼트를 단일 스위치 스테이트먼트로 결합한다는 뜻이다. 그러한 통합의 완성은 어렵지 않다. 왜냐면 이는 그 효과를 실현하는 것이 필요함이고 이는 소프트웨어의 증가된 메모리 경비에서 수행시간을 감소시키는 것이다.
통합결과로 길어진 코드의 이러한 효과는 블록(30)내에 실행된 또다른 단계에 의해 개선되며, 이는 다양한 통합장치 각각에서의 상대적인 감소 단계이다. 상기 감소 개념은 새로운 것이 아니다. 종래의 유한 상태장치 감소 알고리즘은 모든가능 입력치를 관찰하고, 시스템이 그들 가능 입력에 응답케 하도록 감소시킨다. 그러한 감소는 가능입력의 제한에 의하여 발생한다. J.E. 호프크로프트에 의한 아카데미프레스 189-196 면, 장치 및 계산이론(코하비, 파즈, 에드즈)(명칭: 유한 자동화 상태를 최소화 하기 위한 n 로그 n 알고리즘)을 참조하자. 상기 감소는 FSM의 여러 상태에서의 가능입력을 관찰하는 것이 개선된다. 모든 입력이 모든 상태에서 가능하지 않기 때문에, 개개의 상태를 고려함으로써 이룰수 있는 감소는 종래에 사용 가능한 것보다 실질적으로 크게 된다.
요약하면, 분석기/전개장치 구조 작업 방법은 사용자가 일반적인 구조, 구성원에 대한 기능 및 태스크를 구체화하는 것이다. 분석기/전개장치는 그후 태스크가 수행될 수 있는 것을 증명하고 사용자로 하여금 시스템 정의 및 세밀화된 시스템에 의해 수행될 태스크를 반복적으로 세밀화 하도록 한다.
본 발명의 상-하 단계방식 정세 시도와 종래의 전개 시도간의 차이는 종래의 전개시도가 각각의 모듈내에서 완전한 기능을 가지고 일시에 모듈을 산출하는 것이다. 새로운 모듈이 가산되면, 새로운 운전상태가 시스템에 가산된다. 한편 본 발명에 따르면, 전체 시스템은 최초로 규정되는데, 즉 먼저 완전한 추론 레벨에서이고 그후 증가하는 상세 레벨에서이다. 고레벨에서 시스템이 매우 추론적이기 때문에, 데이타의 신텍스의 정확성 검사에 속하는 것과 같은 저레벨 의문사항은 미제로 남게된다. 예를들어 명세의 고레벨에서 특정 메세지는 양호한 신텍스 및 불량 신텍스를 비결정적으로 가질 수 있다. 양자가 가능하다. 이는 시스템에 대하여 다음 레벨내에서 세밀화되는데, 여기에서 상기 신텍스는 양자는 아니고 양호한 신텍스 또는 불량 신텍스 중의 어느 하나를 가지는 조건을 안출하도록 세밀화되고 검사된다.
본 발명에 따라 다르게 관찰해보면, 운전상태는 가산되는 보다 제거된다. 그무엇이 발생됨으로써 시스템에 대하여 그 무엇을 증명할 수 있게끔 예상될시에, 운전상태가 가산될때 시스템의 운전상태에 대하여 그무엇을 증명할 수 없기 때문에 이러한 구별은 매우 현저하게 된다. 그에 대한 이유는 그 무엇이 구성원에 대하여 증명되고 운전상태가 가산될시에 이전에 증명된 문제가 아직도 보유중인지를 인지하는 것은 더이상 가능하지 않는다는 것이다. 한편, 운전상태가 제거되고 추론 시스템의 모든 운전상태가 만족스럽다는 것이 증명되었을시에, 세밀화된 시스템의 작은수의 운전상태에 대하여 확실하게 참(TRUE)으로 남게된다. 그결과, 본 발명에서 접근된 하나의 중요한 장점은 모든 구성원의 모든 요인의 충분한 예시가 종결될 때까지 대기하는 보다는 사용자로 하여금 전개되는 매 이른시간에서 근본적인 사용자 에러를 감지케 한다는 것이다.
Figure kpo00004
Figure kpo00005
Figure kpo00006
Figure kpo00007
Figure kpo00008
Figure kpo00009
Figure kpo00010
Figure kpo00011
Figure kpo00012
Figure kpo00013
Figure kpo00014
Figure kpo00015
Figure kpo00016
Figure kpo00017
Figure kpo00018
Figure kpo00019
Figure kpo00020
Figure kpo00021
Figure kpo00022
Figure kpo00023
Figure kpo00024
Figure kpo00025
Figure kpo00026
Figure kpo00027
Figure kpo00028
Figure kpo00029
Figure kpo00030
Figure kpo00031
Figure kpo00032
Figure kpo00033
Figure kpo00034
Figure kpo00035
Figure kpo00036
Figure kpo00037
Figure kpo00038
Figure kpo00039
[부록 A의 부분 설명]
앞서 첨부된 부록 A 의 이해를 도모키 위하여 부분적으로 ※( )로 표기된 부분에 대한 설명이 하기에 주어진다.
[27면, ※(1)부분]
* 선택해석 언어
* --- 그래머 명세 ---
[35 면, ※(2)부분]
/* 수행 코드가 프로세스내의 로컬 바아(local vars)를 갖지 않는다. 따라서 합병된 프로세스에 대한 블록 카운터/스트바 (stvar)와 다수의 블록을 가진 모든 프로세스에 대한 블록 카운터를 여기에서 공표된다. */
[36 면, ※(3)부분]
* 프로세스를 크랭크하도록 C-코드를 발생하고, 모든 프로세스들이
* 반복적으로 발생하도록 자신을 호출한다.
*
* 프로세스 블록구조가 아래와 같이 주어진다.
* (i1. i2 는 어레이 인덱스에 대한 ids 발생한다.
* nl, n2 는 정수이다).
[36 면, ※(4)부분]
* . . . . .(필요할 경우, 추종(children)처리)
[36 면, ※(5)부분]
* 로컬{. . . }내의 여분의 하기 기호는 종전 어레이 처리로부터 * 인계된다.
* ‘프로세서 5 로 진행’ , 즉 유효 모체 블록으로 도약된다.
* 여기에서 인덱스는 파라메터 “어디”에 의해 주어진다.
* 외부처리(여기=-1)에 대한 “진행종료”로 대치된다.
* 상기 도약 스테이트먼트는 부울 파라메터 “도약”이 프로세스 ( )에
* 대한 엔트리에 따라 세트될 경우 발생된다. 이는 현재의 프로세스가
* 우측 슬라이딩을 가지거나, 그의 모체가 발생되고(그와 연관된
* 아무 코드도 갖지 않는) 그의 ‘도약’ 파라메터 세트를 가졌을
* 경우 발생한다.
*
* 로컬 변수는 아래와 같다:
* a-플래그, 반복해석에 대하여 세트(LHS 내의 * 에 대한 -1).
* b-전이 블록 인덱스.
* e- ‘엘스(else)’ 플래그.
* g-플래그, 중지 선택을 가진 블록에 대하여 세트(더블
* 콜론(colon)에 대한 -1).
* j-해석 인덱스.
* s-선택 인덱스.
* n-현재 선택에 대한 해석수.
* p-현재 상태[더블] 중지 비트.
* r-LHS 인덱스 반복(*에 대한 -1).
* L-다음상태[더블] 중지 비트.
* l-다음상태 카테고리(SELF/UNST/SET/SSELF).
[37 면, ※(6)부분]
/* 발생 프로세서에 대하여 아무것도 실행 않는다 */
[38 면, ※(7)부분]
/* 어레이 인덱스 개시 */
[38 면, ※(8)부분]
/* 추종 프로세서 발생 */
[38 면, ※(9)부분]
/* 프로세스 블록 시작 */
[38 면, ※(10)부분]
* 병합된 레벨에서 코드 발생
[38 면, ※(11)부분]
* 자유 프로세스에 대한 코드 발생
[38 면, ※(12)부분]
* 프로덕트 레벨에서 코드 발생:
*
* 2 개 이상의 개시상태가 이 프로세스내에 발표될 경우 필요한
* 로컬 구조 발표 발생
[38 면, ※(13)부분]
/* 고레벨.시세트(cyset) 테이블을 개시하도록 코드 발생 */
[39 면, ※(14)부분]
/* 고레벨 개시 상태용 코드 발생 */
[40 면, ※(15)부분]
* 감소된 선택을 계산하도록 코드 발생
* 각각의 셀버(selvar)에 대하여 rsel 또는 흠(hom) 또는
* 양자 모두중의 어느하나를 가져야 한다:
* 만일 그들중 하나만 있을 경우, 셀버를 세트한다. 둘일경우
* rsel 로부터 셀버를 세트하고 홈과 비교한다.
* 이러한 비교 resel’s/hom’s 는 그들 형태 필드에서
* ‘Re LOP’로 표기된다.
[40 면, ※(16)부분]
* 리프(leaf) 레벨에서 코드 발생:
*
* 그의 기준 레지스터 S를 개시하기 위한 코드와 로컬 구조를 발생.
* 주지할 것으로는 로컬[ ]의 차원을 결정할시에 전조 프로세스가 또한
* 고려된다.
[40 면, ※(17)부분]
/* 시세트 테이블의 개시를 위한 코드 발생 */
[41 면, ※(18)부분]
/* 리프레벨에서 개시상태를 계산하기 위한 코드 발생 */
/* 중지 비트(들)이 e 서픽스에 따라 세트된다.
만일 프로세스가 중지하지 않고 홈의 목표내에 있을 경우 서픽스가 무엇이든지간에, 그에 대한 중지 비트를 세트한다.*/
[42면, ※(19)부분]
/* 언팩킹 코드 발생 */
/* 홈 목표내에서, 중지 선택이 있을 경우, 더블 중지 비트는 언팩되며, 없을 경우 하나 중지 비트가 언팩된다. 만일 새로 상태로 진입되면, 플래그 2h 또는 2f 는 상기 프로세스가 셀홈(selhom)의 유무에 따라 세트된다. */
[43면, ※(20)부분]
/* LHS 의 반복을 체크하기 위한 코드 발생 */
[43면, ※(21)부분]
/* 선택 코드 발생 */
/* 하나와 셀버 및 궁극적인 하나의 셀홈을 가정 */
[44면, ※(22)부분]
/* 선택홈-더블 중지 비트를 고려하여-범위의 값이 할당될 경우 검사. */
/* 중지 선택은 오로지 S -> P 가 비제조일때만이 선택된다. */
/* 비-중지 선택은 S -> P 가 2 가 아닐 경우에만이 선택된다.
만일 하나일 경우 S->L 은 소거되고 플래그 1h 는 세트된다. */
[44면, ※(23)부분]
/* 수행-제 1 비-중지 선택을 채택 */
[44면, ※(24)부분]
/* 단일 선택 또는 단일 범위 */
[45면, ※(25)부분]
/* 중지 선택 및 단일 선택 또는 단일 범위-홈 목표가 아닌 */
[45면, ※(26)부분]
/* 다수 선택 */
/* 주지할 것으로 셀홈을 갖지 않은 홈 목표내에서, 만일 S -> ==2 일 경우, 중지 선택이 선택된다. 만일 S->P==1 일 경우, 모든 선택이 선택된다. 만일 S->P==0일 경우, 비-중지 선택만이 선택된다. 만일 S->P ==1 이고 비-중지 선택이 선택될 경우, 플래그c1f 가 세트되고 S->L 이 소거된다. */
[46면, ※(27)부분]
/* 해석 코드 발생 */
[47면, ※(28)부분]
/* 중지하기 위해 해석된 다음 상태를 검사하는 코드 발생 */
[47면, ※(29)부분]
/* 팩킹 코드 발생 */
[48면, ※(30)부분]
/* 반복의 RHS 를 검사하기 위한 코드 발생 */
[48면, ※(31)부분]
/* CONT-해석 루핑 코드 */
[49면, ※(32)부분]
/* 일시 파일로부터 삽입된 -코드 카피 */
/* 현재 라인수를 또한 기록하고 이를 후에 복귀 */
[49면, ※(33)부분]
* 만일 표현이 경로일 경우, 표현용 -코드 발생하고, 포인터를 변수에 복귀한다.
*
[52면, ※(34)부분]
* S/R 변수에 대한 구형 구조 발생. 만일 ‘팩’이 세트되는 경우,
* 오프셋 및 팩된 변수에 대한 필드 폭을 계산한다. 만일 ‘디프’가
* 세트되는 경우, 프로세서는 해제되거나 합병된다. 그리고
* 만일 ‘디프’가 2 개 이상일 경우, 모체는 그렇게 된다.
후자의 경우
* 선택변수용 구조는 최상의 해제/합병 프로세스 레벨에 리프트
* 될 경우에만 발생된다. 만일 ‘태그된(tagged)’이 세트될 경우,
* 구조용 태그는 이미 규명되었으며, 더이상 구조 설명이 발생되지 않는다.
* 구조가 발생될 경우 0 으로 복귀하고, 그렇지 않으면 0 로 복귀한다.
[54면, ※(35)부분]
* cy-어레이를 발생하고 그들수를 복귀한다;
[54면, ※(36)부분]
* 전이를 가진 서브 프로세서(다수 카운트된)의 수를
* 복귀한다. 전이(프로세스 1, 0)로써 호출되고, 자체를 반복적으로 호출한다.
[54면, ※(37)부분]
* 현재 처리에 대한 비트의 구동 오프셋을 발생.
[55면, ※(38)부분]
* p[0]. q[0]. r[0] . . .에 관한 일정 경로-명 p[i],
* q[j], r[k]. . . 에 대한 비트내의 오프셋을 복귀
* 고레벨 이니트(inits) 및 시세트를 발생하기 위해 사용된다.
[55면, ※(39)부분]
* 구동 에러 표시 발생
[55면, ※(40)부분]
* 형태 a[i1<n1] [i2<n2] b[i3<n3] [i4<n4] ‥‥의
* 어레이에 대하여 형태 [n1] [n2] [n3] [n4]....의 표현 발생
[55면, ※(41)부분]
상기 55 면, ※(41)부분의 내용과 동일
[56면, ※(42)부분]
* 리스트 상태( ) 루틴 발생
* ‘ℓ’ 옵션하의 분석( )에 의해 사용됨
* ‘ i ’ 옵션하의 메인( )에 의해 사용될 수 있음
[57면, ※(43)부분]
* 입력( )루틴을 반복적으로 발생.
* 합병된 프로세스의 중지 비트의 축적된 수를 복귀.
[57면, ※(44)부분]
/* 합병된 프로세스에 의해 입출력될 경우 셀버를 팩 */
[58면, ※(45)부분]
/* 그의 셀비 또는 모체가 입력리스트에 나타나는지를 검사 */
[59면, ※(46)부분]
* 루프를 시작하도록 코드 발생
[59면, ※(47)부분]
* 라벨 인덱스가 ‘랩넘(labnum)’으로 부터 추출되고, 루프화된
* 매칭에 의해 후에 사용될 *랩(lab)내에 보존된다(아래 참조).
* 새로운 C 기능의 시작에서, 랩넘은 외부로 리세트된다.
[59면, ※(48)부분]
* 루프를 종료하도록 코드 발생 :
[59면, ※(49)부분]
* ‘만일(if)’내부의 표현이 아래의 루프 표현( )에 의해 발생한다.
[60면, ※(51)부분]
* 수행용 블록 카운터에 대하여 규정한다.
* 해제 처리가 그러한 계수를 필요로하고, 그래서 f 세트라 불리운다.
* 합병된 처리는 그러한 카운터를 필요로하고 그의 추종의 그렇지 않다.
[60면, ※(51)부분]
/* 인덴테이션(indentation)을 가지고 프린트 포맷 */
[부록 D]
불연속 이벤트 등위분석(Analysis of Discrete Event Coordination)
[서론]
본질적으로 불연속-시간 분배처리와 마찬가지로 비동기 분배 제어기와 같은 연속-시간 처리는 불연속 이벤트에 따라 동등하게 된다. 그러한 등위가 시스템의 운전상태의 중요한 인자일 경우, 그의 분석은 실제로 극히 어려울 수 있는 반면, 종래의 컴퓨터 프로그램은 일련화되며, 결정론적 분배 프로그램은 일치론(parallelism) 및 비결정론에 의해 산출되는 브랜칭(branching)을 포함하여 증가하는 시간을 가지고 기하학적으로 발생하는 다양한 가능 운전상태를 야기한다.
그러한 처리의 형식적 증명은 제어 집중 컴퓨터 하드웨어 및 소프트 웨어를 어떻게 발생하여 적절히 작동할 수 있는가의 문제점에 관심있는 연구가에 의해 맨 먼저 추진되어 왔다. 이러한 추진을 위한 주된 바탕에는 비동기 및 분배 제어에 의해 초래되는 증가적인 복합등위 문제에 대처하는 시뮬레이션에 집중된 정통적인 방법의 실패에 있다. 유한 상태 장치, 페트리 네트(Petri-nets)처리대수, 부분 등등과 같은 다양한 모델링 활용예를 사용하여, 논리적이고 형식적인 언어이론 및 일반 수학이론에 기초한 형식적 정의의 관계에 있어서 그러한 등위를 분석하는 것이 이론가들에게는 일준화가 되고 있다. 모델링 활용예와, 논리 및 언어이론과 같은 형식적 주장관계가 주어지면, 모델에 대한 결론을 인출하는 형식적 주장을 통하여 순서대로 모델링 활용예와 주장 문맥간에 관련이 주어진다. 최근의 작업이 지대한 관심과 다양한 아이디어를 갖게 하는 동안, 매우 작은 관심만이 적절한 기능적 프로그램을 발생하는 원초적인 문제를 제기할 뿐이다.
이에 대한 이유는 이러한 문제를 실제로 해결하기 위하여, 하기와 같이 형식적 증명, 복잡성 관리 및 형식적 정세의 3개 목적을 동시에 수용하는 방법론이 필요하다고 보여진다. 개선 목적과 결부되는지를 결정하는 것에 기초한 형식적 증명은 표현에 따라 측정되고(어떠한 등급의 특성이 증명되는지), 증명방법론의 복잡성을 완화시킬수 있는 실용성을 가진다. 여기에는 표현과 복합성간의 평균화를 취할수 있다. 즉 보다 표현적인 것은 형식적 프레임 워크로, 보다 복잡하여 덜 유용한 것은 방법론적으로 할 수 있다. 실제적 문제로써 원초적인 문제점을 해결하기 위하여, 매우 알고리즘적인 양태로 증명을 쉽게 다룰수 있는 매우 표현적인 프레임 워크를 구한다. 소정의 경우에서의 형식적 프레임 워크가 고레벨의 복합성을 가져오므로, 이러한 복합성을 우회할 수 있는 방법론의 기법이 만들어져야 한다. 그렇치 않으면, 상기 방법론은 운용되기 힘들며, 원초적인 문제점은 해결되지 않는다. 끝으로 원초적인 문제점을 해소하기 위하여, 디자인 명세를 수행으로 매프하는 방법이 필요하다. 보통 정세 매핑은 디자인에 증명된 특성이 수행내에서 참으로 된다는 것을 보장하는 것이 필요하다(디자인의 수행처리가 디자인 자체내의 결함보다 소스에러가 없다는 것이 실제로 제시되어 있다). 이들 3 가지 목적, 즉 증명, 복잡성 관리 및 정세는 하드웨어와 소프트웨어의 전개를 적절히 지지하는 3 개 다리를 가진 발판과 같으며, 이들 다리가 없다면 그러한 지지는 문제시되는 것이다.
본원은 증명, 복합성 관리 및 정세를 포함하는 자동화 이론 내에 기초한 방법론을 제시한다. 증명은 디자인 명세 D 의 형식언어 £(D)가 디자인에 의해 수행될 “태스크” T 의 형식언어 £(T)내에 포함되는지를 테스트하는 것에 의해 정리된다. 복합성 관리 및 정세 양자는 “감소”로 불리우는 변환에 의해 정리된다. 디자인 명세 D 는 상태장치에 의해 모델화 되는 한편 태스크 T 는 오토메타(autonlata)에 의해 규정된다.
£(D)⊂£(T)인지를 테스트 하기 위하여, 하기식(1.1)으로 되도록 T 에 관하여 D 를 연관된 작은 복소수 T′ 를 가진 작은 복소수 D′ 로 감소시킨다.
(1-1)....£(D′)⊂£(T′) → £(D)⊂£(T)
증명될 태스크 T 에 관련하는 D 에서 D′ 의 감소는 등가치 및 최소치보다 매우 크다. 예를들어 T 가 D 의 패리티 출력 1,.....N 로만 참조된다고 가정하면, D 가 태스크 T 를 실행하는지를 테스트하기 위하여, 비록 D 의 이러한 감소는 D 에 동등하지 않으며, D 는 등가치 까지 최소한도일지라도, D 는 그의 N 출력치에서 2 개의 값(기수 및 우수)을 감산시킴으로써 간단화 될 수 있다.
“감소”의 기본 개념은 수학만큼 오래된 것으로 이질적이거나 여분의 상세를 소거시킴으로써 결과치를 증명하는데 필요한 많은 효과를 감쇄시킨다. 어느 한도까지는, 실제 시스템의 분석 또는 시뮬레이션과 관련된 가장 실질적인 노고에 사용되는데 그의 유효성은 연산방식적으로 증명될 수 있다. 본원에서는 감소 변환 D → D′ 는 형식적 언어 준동형 형태로 나타나며, 그의 유효성은 D 의 성분크기와 그 성분의 수에서 일차로 증명될 수 있다.
또한 정세가 단순히 역감소하고 따라서 동일 메카니즘을 통하여 조작되는 것을 보여준다. 식(1.1)에서 만일 D′ 가 디자인이고, D 가 D′ 의 수행이며, T′ 가 디자인 D′ 에 대해 증명된 태스크이고 T 가 정세 변환 D′ → D 하에서 자연 감소된 영상 T′ 일경우, 관계식(1.1)은 디자인에 대하여 증명된 태스크가 수행에 대하여 유효하는 것을 의미한다. 실제로, 디자인은 연속적인 정세 단계를 거치는데, 각각의 단계는 식(1.1)과 일치하여 이전단계의 “디자인”을 세밀화하거나 “수행”한다. 그러한 단계 방식의 정세의 이행성에 의해, 식(1.1)은 D 가 최종 수행이고 D′ 가 D′ 의 “레벨”에서 규정된 소정 태스크 T′ 에 대하여 증명된, 정세 체계내의 소정 디자인일때 얻는다.
감소를 규정하였지만 실제 디자인과 연관된 매우 큰 복합성때문에, 준동형 D → D′ 은 D 의 크기때문에 단순히 운용가능치 않다. 이러한 문제점은 준동형 D → D′ 를 D 의 성분의 준동형항으로 간접적으로 규명함으로써 우회할 수 있다. 만일 D 가
Figure kpo00040
로 인수분해되고 D′ 가 유사하게
Figure kpo00041
로 인수분해된다면, i = 1,....,k 인 Фi: Di→ Di′ 의 성분 준동형의 실재가 적(product) 준동형의 실재를 함축한다는 것이 보여진다. 즉,
Figure kpo00042
비록 D 의 크기가 k에 의해 기하학적으로 증가할지라도, 각각의 Φi가 소정의 특성을 가진다는 것을 증명하는 복합성이 Di의 크기에서 오직 일차적인 것이다.
상기한 바와 같이 형식적 증명, 감소 및 정세의 상호 지지용 프로그램을 실행하기 위하여, 증명에 사용된 형식적 정의 문맥(일컬어 논리 또는 자동화 이론)과 디자인 명세를 나타내는데 사용된 모델링 활용에간의 밀접한 관계를 갖는것이 중요하다. 그러한 관계없이, 감소 및 정세용 방법은 식별키 어렵게된다. 특히, 만일 모델링 활용예 및 정의 문맥이 서로 밀접하게 관계되지 않을 경우 모델에 유효한 주장이 변환된 모델에 유효한 정의로 변환하는 식으로 전자의 변환을 후자의 변환에 관련짓는 것이 어렵게 된다.
이미 지적한 바와 같이, 본원은 오토메타 이론에 기초한 형식적 정의를 사용하여, 유한 상태 장치의 모델링 활용예를 채택한다. 유한 상태 장치는 양자 모두 유한 방향 그래프로 주어진 그들 각각의 언어 및 유사한 그들 발생기를 통하여 오토메타에 가깝게 관련된다. 어떻게 이러한 밀접한 관계가 감소 및 정세에 대하여 운용하기 쉬운 이론을 제공하느냐가 본원의 주제이다. 오토메타에 의해 발생된 규칙 언어가 귀납(recursion) 및 유도를 사용하는 것과 같은 수많은 분배된 알고리즘의 정확성을 취급하는 정의를 포용하기에 충분치 않다는 것을 인정하여야만 한다. 그러나 그러한 알고리즘의 증명은 어떠한 전후관계에서도 문제점을 가진다. 그리고 실제로 증명되었거나 증명[Ba 89 참조]이 있음에도 많은 논쟁의 소지가 있다. 그러므로 규칙(및 w-정규) 정의가 광범위하게 수용가능한 증명을 수용하는 주요부분의 정의를 포함하는 논쟁에 대한 소정의 조정이 있게된다. 만일 그러한 경우, 형식적 정의를 위해 보다 강력한 문맥을 채택하는 것은 부질없게 되며, 폭넓게 신뢰된 증명(또는 소정의 증명)은 극히 드물다는 것이 밝혀질 뿐이다. 한편, 오토메타이론은 파라메타화된 오토메타 및 상태장치에 대하여 추론하는 문맥과 마찬가지로 설득력 없는 형태의 유도[KM 89 참조]를 수용한다. 이는 프레임 워크를 제공하는데, 여기에는 소정의 불규칙 정의가 규칙정의로 감소되거나 적어도 그들이 소정의 다른 문맥에 대하여 추론될 수 있다. 이러한 방향으로 예비의 사고만을 가졌을지언정, 오토메타 이론을 효과적으로 계산 가능한 결과를 취할 수 있게 하는 전제가 있어야 한다. 어떠한 경우에 있어서는, 턴닝장치가 유한 상태 자동이기 때문에(제한된 상태 전이를 가진), 모든 반복적으로 열거할 수 있는 정의가 이러한 문맥에서 표현되어야 한다(비록 필수적으로 결정되지 않더라도).
오토메타에 의해 규명된 정의에 관련하여 상태 장치 모델의 처리를 용이하게 하기위하여 , 양자의 표준 정의를 약간 변경하는 것이 용이하였으며, 전이 단정, 비결정적 출력(상태 장치에 대한) 및 새로운 채택조건(w-자동화)등을 가능케하는 균일한 문맥을 통하여 제각기 제시된다. 구동가능한 전이단정(입출력 부울함수)들은 여기에서 개발된 감소이론에 대한 부울 대수학적 기초를 형성하도록 합성된다. 상태장치는 필수적으로 무어(Moore)장치를 취하지만 무어장치와 똑같지는 않으며, 여기에서 사용된 상태장치는 비결정 출력이 주어진다. 이러한 비결정론은 여러 이유때문에 중요하다. 첫째로, 불확실성 즉 가변성을 디자인내로 도입하는 필수적인 장치를 제공하여 디자인들을 폐쇄된 시스템으로써 구체화되게 하며 그안에 모든 “입력” 및 “출력”을 포함한다(이는 여기에 기술된 분석학을 기초로 한다). 비결정론은 또한 불완전하게 세밀화된 응답, 비결정 지연 및 작용을 모델화하는데 사용되며, 그들의 제어는 모델밖에서 이루어진다(그리고 따라서 그들 효과에 대해서만은 알려지지 않음). 또한 비결정론은 정세용 “위치보존” 장치를 제공하며, 전개과정중 나중에 추가될 상세는 고레벨 디자인내로 비결정적으로 모델화된다. 끝으로, 비결정론은 중요한 감소장치를 제공하는데, 즉 결정상태 장치 D 는 작은 상태와 동일 알파벳으로 많은 언어를 가지고 비결정상태 장치 D′ 로 대체되며 , 만일 그러한 감소된 장치 D′ 가 소정의(w-) 규칙언어 특성 T 를 가지게되면, 식(1.1)의 의미로는 원래 장치는 양호한 상기 특성 T 을 갖게된다(비록 감소된 장치와 원래 장치가 결코 어떠한 일반적인 감각으로 동일치 않게 될지라도). 그러한 감소된 D′ 는 D1를 D1′ 로 대치시킴으로써 D(식(1.2)참조)의 상태장치 구성원 D1을 “해제(freeing)” 시킴으로써 얻어질 수 있으며, 여기에서 D1′ 는 단일상태를 가지며 여기에서 D1의 모든 출력을 비결정적으로 출력한다. 끝으로 비결정전이를 가진 무어장치는(일반적으로)결정될 수 없는 반면에, 비결정 출력을 허용한다는 것은 장치의 전이를 결정할 수 있게 하는데 충분하며 많은 공정에서 중요한 단계이다.
전이 단정에 의해 발생된 부울대수는 상태장치의 분해에 대한 기초를 제공한다. 이는 등위 구성원 장치로의 상태 장치의 분해가 각각의 구성원 장치와 연관된 매트릭스의 텐서 적(tensor product)에 의해 표시되는 식으로 상태장치가 이러한 부울 대수의 매트릭스로 표시될 수 있게 한다. 이러한 분해는 감소 및 정세의 증명에 대하여 필수적이며, 이느 큰 시스템에서 구성원 방식으로 이루어질 수 있다. 부울대수의 종래의 준동형은 여기에서 전개된 이론에 사용된 언어 준동형을 낳게한다.
상태 장치 모델에 대한 형식적 정의는 무한한(w-규칙) 오토메타에 의하여 여기에 주어진다. 비결정 처리에 대한 근거로 일반적으로 주어지는 그러한 자동화는 각각의 유한 프리픽스(prefix)에 대한 “공집합”심볼(“null”symbol)의 연속 무한 행렬을 통하여 마무리 공정에 응용된다. 따라서, 공통적으로 행하여진 바와 같이(유한)스트링과 (무한)수열 양자가 다함께 구비된 언어를 취급할 이유가 없다. 수열 단독으로 모델 양자를 만족시킨다. 상태장치와 유사하게 여기에 사용된 w-오토메타, 부울 대수 L 로 규명된 L-오토메타는 표준 w-오토메타의 작은 변수를 포함한다. 상태장치와 같이 하부 전이 구조 및 부울 대수 L 에 의하여 규명된 것에 부가하여, 자주 이해되는 바와 같이 그들은 2 개의 만족 조건을 가지는데 이들은 직감으로 하나는 “공정”(fairness) 또는 “리브니스” (liveness)에, 다른 하나는 “안전” 및 “우발성” 특성과 연관된다. 경험[HK 90 참조]이 구체화된 태스크에 대하여 이러한 정의 실용성을 예시하였지만, 아마 보다 중요한 것을 소정의 -규칙 특성이 작고 보다 쉽게 테스트 가능한 특성으로부터 세워질수 있는 분해기법을 낳게 한다는 것이다.
전통적으로 오토메타 Λ 및 Γ 가 주어지면 인지를 테스트하기 위하여, 먼저 보충언어 £(Γ)′를 규정하는 오토메타 Γ를 구성하며, 그후
Figure kpo00043
를 만족하는 오토메타
Figure kpo00044
를 구성하며 최종적으로는
Figure kpo00045
인지를 테스트한다. 이러한 전체 진행과정은 적어도
Figure kpo00046
구성하는 것만큼 복잡하며, Λ가 모든 수열(주어진 알파벳 이상)을 규명하도록 취하여지며, 언어 구속의 테스팅은 적어도 £(
Figure kpo00047
)=ψ인지를, 소위 “빈-여수(emptiness of complement)문제점을 테스팅하는 것만큼 어렵다. 이러한 문제점은 비결정 부치(Buchi) 오토메타[SVW 85]에 대한 상태의 수내에서 PSPACE-컴플레이트이며, 반면 결정부치 오토메타는 비결정 부치 오토메타보다 엄격히 덜 표현적이다.
한편, w-규칙 언어 £이 주어지면, 유한수의 결정 L-오토메타 Γ1,....,Γn 는
Figure kpo00048
되도록 기초가된다.(이는 부치 오토메타에 대하여 참(true)이 아니다). £(Λ)⊂£을 위하여, i=1,....,n인 £(Λ)⊂£(Γi)를 테스트한다. 각각의 테스트 £(Λ)⊂£(Γi)는 제때에 Λ의 에지(edge)의 수내에 1 차로 종결되며 i[Ku 87 참조]의 에지의 수내에서 1 차로 종결된다. 여러 개개의 테스트 £=∩£(Γi)에 의해 규정된 i=1,...,n 인 £(Λ)⊂£(Γi)태스크분해를 수행할 뿐만아니라, 단일 테스트 £(Λ)⊂£보다 경계공간에서 보다 다루기 좋은 테스트를 제공하며, 이는 감소에 대한 보다 큰 포텐셜(potential)을 제공하며, 각각의 테스트 £(Λ)⊂£(Γi)는 테스트 £(Λi′)⊂£(Γi)로 분리적으로 감소할 수 있되, 다른 i 에 대한 각각의 Λi는 다르다.
[서문]
종래에는 상태장치 또는 오토메타의 전이구조는 한세트의 상태의 “후속(successor)” 관계에 의하여 능동적으로 고찰되며, 이러한 관계는 “다음”상태(결정구조에 대하여)를 규정하거나, 일반적으로 각각의 “현재”상태 및 “입력”에 대하여 한세트의 다음상태를 규정한다. 의도된 그래프로서 정적으로 전이구조를 관찰하는게 좋은데, 그들 꼭지점들은 상태들에 일치하고 그의 에지들은 연관된 상태 전이([Ts 59]참조)를 가능케하는 한세트의 입력치로 제각기 라벨표기된다. 라벨 표기된 그래프는 자체의 라벨 표기된 인접 매트릭스에 의해 규정되는데, 그들의 ij-번째 요소는 꼭지점 i 에서 꼭지점 j 까지의 에지의 라벨이다. 이후 예시되는 것은 상기한 사실이 동적 정의보다 전이구조를 결합하기 위한 보다 편리한 기수법을 제공한다. 또한, 이는 입력에 대수구조를 부과하는 것이 자연적이고 유용한 결과가 되게한다. 특히 입력은 출력 토큰(tokens) 단정을 통하여 조작된다. 부울대수(접속, 비접속 및 부정하에서 폐쇄된 세트)를 자연히 형성하는 이들 단정은 입력치의 세트를 나타내도록 간결한 수단을 제공한다. 예를들어, 만일 입력들(일컬어 2 개의 소스로부터)은 변수 x 및 y 의 각각의 값에 의하여 표시된다면, 소정 전이에 대한 사용 가능한 단정은 문장구성상 “x<y”로써 표시되어, 상기 관계를 만족하는 모든 입력쌍의 세트를 표기한다. 만일 L 이 그러한 단정(의미론적으로, 입력의 모든 부분집합의 세트)의 부울 대수라면, 전이구조는 L 이상의 스퀘어 매트릭스이다. 바꾸어 말하면 소정 부울대수 L 에 대하여, L 이상의 스퀘어 매트릭스는 L 의 아톰(atoms)에 의해 표시된 입력 세트에 대한 전이 구조로써 해석될 수 있다(아래 참조).
[2.1 부울대수]
L 을 부울대수로 하되, 만족조건으로(비접속, 적)은 *, 연결(접속, 합계)은 +, 여수는 ∼, 증가 항등치(multiplicative identity)는 1, 가산 항등치는 0[Ha 74참조]라 하자. 부울 대수는 만일 x*y= 일경우 x≤y에 의해 규명된 부분차수 ≤를 허용한다. 만일 x≤y 이고 x≠y 이면 x<y 를 기록한다. 아톰은 이들 차수에 대하여 최소 요소이다. 부울대수는 만일 매 비-제로 요소가 아톰을 다수화할 경우 아토믹(atomic)된다고 한다. 이경우 매 비-제로 요소는 독특한 방식으로 아톰의 합으로 표현된다. 본원에서, 매 부울대수 L 은 아토믹하다고 가정한다(이는 만일 L 이 유한할 경우 확실하게 사실이다). S(L)이 부울대수 L 의 아톰 세트라 표시한다고 하자. 본원의 목적을 위하여, 1=s, 0=ψ인 유한세트 S의 모든 세트의 부분집합인 S이상의 파워필드(power field), L 을 2S로 고려한다면 잃을게 없으며, * 는 교차점에 세트되고 + 는 일치로 세트되며, ∼는 S의 여수로 세트된다. 즉 이 경우 L 의 아톰들은 S의 요소를(구비한 독자적인 세트)이다. 준동형의 부울대수는 *, + 및 ∼에 대하여 선형인 매프이다.
(즉. ψ(x*y)=ψ(x)*(y), ψ(x+y)=ψ(x)+(y) 및 ψ(∼x)=∼ ψ(x)이다. 소정의 준동형은 차수 보존한다. (x<y ψ( )<ψ(y)). 매 부울대수는 부대수(subalgebra)로써 미미한 부울대수 1B={0, 1}. 만일 S⊂L 이 L 의 부분집합이라면, B[S]는 S를 포함한 L 의 가장작은 부대수가 되게 규정된다. 엠티 세트(empty set)이상으로 인덱스된 합 또는 적은 제각기 0, 1 이 된다.
L1,...., Lk가 부울대수 L 의 부대수라 가정하면,
Figure kpo00049
쉽게 체크되는 것은 ∏Li이 부대수로써, 실제로 ∏Li=1B[ULi]이 된다. 쉽게 인지되는 것은 S(∏Li)=(s1*...*sk| si∈S(Li), 1≤i≤k}\{0}이다. L1,..., Lk은 독립적인데, 이는 0≠xi∈Li경우로, 여기서 i=1 ,..., k⇒x1*...*xk≠0이다. 명확하게는 Ll,..., Lk은 독립적인데, 이는 만일 오로지 S(∏Li)={S1*...*Sk}Si∈S(Li), 1≤i≤k}일 경우이다. L1L2...Lk=∏Li을 기록한다.
[2.2 L-매트릭스; 그래프]
L 을 부울대수라 하고 V 를 비-엠티 세트라하며, M 을 매프라하자.
M : V2→ L 이 된다.
(여기서 V2= VxV 는 카테시안(cartesian 적이다). 그리고 M 은 상태공간 V(M)=V를 가진 L-매트릭스로된다. V(M)의 요소는 M 의 상태들 또는 꼭지점으로 된다. L-매트릭스 M 의 에지는 M(e)≠0 인 요소 e∈V(M)2이다. (M(e)는 에지 e 의 “라벨”이다). M 의 에지세트는 E(M)으로 표기된다. 만일 e=(v,w)←E(M)일 경우, e-및 e+=W 라 하자. 만일 M 은 L-매트릭스 및 L⊂L′ 이라하면 M 은 L′-매트릭스이다.
L-매트릭스는 상태장치 또는 오토메타에 대한 전이구조를 제공한다. 오토메타-이론 용어에서, “알파벳”는 아톰 S(L)의 세트이며, L-매트릭스 M 의 “에지 라벨” M(e)∈L 은
Figure kpo00050
이기 때문에 에지 e 를 따라서 전이할 수 있는 아톰 세트 λ={s∈S(L)\S≤M(e)}를 나타낸다. 소정의 2 개의 구별 아톰 s, t∈S(L)이 s*t=0을 만족하기 때문에, M 은 각각의 상태 및 각각의 “입력 레터”에 대하여, 대부분의 것 w∈V(M)에 대한 s∈S(L), S≤M(v,w)일 경우 “결정적”이다. 유사하게 M 은 만일 각각의 v∈V(M) 및 각각의 s∈S(L)에 대하여, 소정의 w∈V(M)에 대한 s≤M(v,w)일 경우 “완결”이다. 이는 하기와 같이 요약된다.
만일 모든 u.v,w∈(M)에 대하여 v≠w⇒ M(u,v)*M(u,w)=0일 경우 L-매트릭스 M 은 결정적이다. L-매트릭스 M 은 만일 모든 v∈V(M)에 대하여 합계
Figure kpo00051
일 경우 완결이다. 만일 G 가 L-매트릭스이고 W⊂V(G)일 경우, G 1| W,W 에 대한 G 의 제한은 모든 e∈W2에 대하여 V(G | w)= W 및 G 1| W(e)=G(e)에 의해 규정된 L-매트릭스이다.
그래프는 B-매트릭스이다. L-매트릭스 M 의 그래프는 아래와 같이 규정된 상태공간
Figure kpo00052
을 가진 그래프 M 이다.
Figure kpo00053
길이 n 의 그래프 G 의 경로는, 모든 0≤i≤n 에 대하여 G(Vi, Vi+1)=1 이고 경로 V는 Vn= Vo일 경우 사이클이 되도록, (n+1)-튜플(tuple)V=(Vo,.....,Vo)∈V(G)n-1이다. 경로 V는 Vo로부터 Vλ으로 된다. 경로 v 는 만일 소정 i 에 대하여, 0≤i<n, Vi= V 및 Vi+1= W 일 경우, 에지(v, w) E(G)를 포함한다. 만일 ⊂⊂(G) 및 각각의 Vi∈⊂ 일 경우, v 는 c 내에 있다. 길이 1 의 사이클(v,v)는 소위 셀프-루프(v에서)로 불리운다. 꼭지점 v∈V(G) 은 만일 소정의 Vo∈I 에 대하여 Vo로부터 V까지 경로가 있을 경우 I ⊂ V(G)로부터 접근 가능하다. L-매트릭스 M 내의 “경로”에 대한 소정의 스테이트먼트는
Figure kpo00054
내의 상기 경로에 대하여 스테이트멘트로써 구성될 수 있다.
L-매트릭스 M, 수열 x ∈ Lw(정의에 의해 수열은 무한한) 및 상태 v ∈ V(M)w의 수열이 주어지면, v 는 모든 i 에 대하여 vo= v 및 xi* M(v1, vi+1)=0 이 제공된 v ∈ V(M)으로부터 x 의 구동(run)(M 내의)이다.
G 가 그래프라 하자. 하나 이상의 요소를 포함하는 C ⊂ V(G) 세트는 각각의 한쌍의 구별요소 v,w ∈ C 에 대하여 제공된 “강한 접속”이 되게 하며 , v 로부터 w 까지의 경로가 있다. 최고로 강하게 접속된 세트는 강하게 접속된 구성원(G의) 으로 불리운다. 명확하게는 매 그래프 G 에 대하여, V(G)는 독특하게 강하게 접속된 구성원과 강하지 않게 접속된 세트내로 분배되며, 그들 각각의 꼭지점은 셀프 루프를 갖지 않는다.(관계의 정의를 가진 소정의 변수에서 단일 꼭지점이 강하게 접속되게 하기 위하여 셀프 루프를 가지는 요구는 여기에서 전개된 이론에 중요하다).
G, H를 그래프라 하고 Φ:V(G) → V(H)를 (v.w)∈E(G) (Φ(v), Φ(w))∈E(H)를 만족하는 매프라 하자. 그러면, Φ는 매프 Φ:E(G) →(H) 로 연장하며 Φ는 G에서 H까지의 준동형이라 한다. 그리고 기록하기를 : Φ:G → H라 한다.
M 및 N 을 L-매트릭스라 하자. 그들의 직접 합은 하기식에 의해 규정된(M N)= (M) U (N) 을 가진 L-매트릭스 M N 이다. 즉
Figure kpo00055
그들 텐서 적은 하기식에 의해 규정된 V(
Figure kpo00056
) = V(M)xV(N)을 가진 L-매트릭스
Figure kpo00057
이다. 즉
Figure kpo00058
이다.
직접합과 텐서적은 상호적이고 연관적인 합이며 소정 유한수의 L-매트릭스의 연관적인 적이다. 만일 L 이 완결일 경우(예를 들어, 무한합 및 적 조건하에서 폐쇄된), 직접합 및 텐서적은 무한합 및 적으로 연장될 수 있다. 레마(Lemma): 결정 L-매트릭스의 텐서적은 결정적이다. 완결 L-매트릭스의 텐서적은 완전하다.
증명 : u, v, w∈V(M) 및 u′, v′, w∈V(N)라 하자.
그러면 (
Figure kpo00059
)[(v, v′), (w, w′)]*(
Figure kpo00060
)[(v, v′), (u. u′)]
Figure kpo00061
만일 (w.w′)≠(u.u′) 및 M, N 이 결정적이면, 좌측 또는 우측 인자중의 어느하나는 제로이어야만 하며, 이는
Figure kpo00062
이 결정적이라는 것을 따른다. 만일 M, N 이 완결하다면,
Figure kpo00063
Figure kpo00064
= 1*1 = 1이 된다. 그리고 이는 M N 이 완전하다는 것을 따른다.
G. H 가 그래프라 하자, 프로젝션(projection),
Figure kpo00065
프로젝션,
Figure kpo00066
를 포함한다(상기 평면도법에 필수적이지는 않은).
만일 G 및 H 가 메트릭스라면,
Figure kpo00067
는 아래하는 그래프
Figure kpo00068
의 프로젝션을 의미한다. G1, G2.... 가 주어지면, 프로젝션 ∏Gi는 편의상 ∏i로 쓰여진다.
[3. L-오토메타]
수열(스트링보다는)을 채택하는 유한상태 오토메타는 w-규칙언어를 규정한다. 이러한 부류의 오토메타는 논리, 위상 기하학, 게임이론 및 컴퓨터 과학 [Bu 62, Ra 69, Ch 74, Ku 87a 및 VW 85, 등등 참조]내의 모델로 정립된다. 컴퓨터 과학에 있어서, 그러한 오토메타는 통신 프로토콜 및 집적 하드웨어 시스템 [AKS 83, DC 85, Ku 85, BC 87, KM 90, 등 참조]과 같은 비결정 처리를 모델하는데 사용될 수 있을 뿐만 아니라 이전에 설명한 바와 같이 마무리 처리를 모델하는데 사용될 수 있다. 그러한 여러 다른 형태의 오토메타는 [Ch 74, Sa 88]에 제안되며, 오토메타의 “구동”이 채택되는 조건하에서 구별된다. 각각의 형태의 오토메타가 다양한 응용에 적합한 반면, 여기에 기술된 감소에 아주 적합하게 증명되지는 않는다.
새로운 형태의 오토메타 (Ku 87 참조)는 서두에 기술한 이유 때문에 아주 적합하게 증명된다.
L-오토메터는 4-튜플이다. 즉
Γ = (MΓ, I(Γ), R(Γ), Z(Γ))
여기서 MΓ,Γ의 전이 매트릭스는 완전한 L-매트릭스이고, ψ=I(Γ)⊂V(MΓ), Γ의 개시상태, R(Γ)⊂E(MΓ), Γ 및
Figure kpo00069
Γ의 사이클 세트는 비-엠티 부분집합의 세트(가능한 엠티인)이다. V(Γ)=V(MΓ), E(Γ)=E(MΓ) 및 모든 v,w∈V(Γ)에 대하여 Γ(v,w)=MΓ(v,w)를 세트한다. R-(Γ)={e+| e←R(Γ)} 및 R+(Γ)={e+| e←R(Γ))라 하자.
Figure kpo00070
의 그래프를 규정하고 |Γ|=카드 V(Γ)라 하자.
상태 v=(v0, v1, ....)∈V(Γ)w의 수열은 만일 소정의 정수 N 및 소정의 c∈Z(Γ)에 대하여 모든 i>N 에 대한 vi∈c일 경우 Γ-주기적 인반면, W는 만일 {i |(vi, vi+1)∈R(Γ))가 무한일경우 Γ-반복적이다. 아톰 x∈S(L)w의 수열이 개시상태로 부터 실행하는 Γ-주기적을 가진 x가 제공된 Γ의 테이프이거나 Γ에 의해 채택된다. 그러한 실행은 채택구동(x의)이다. Γ, £(Γ)의 테이프 세트는 Γ(에 의해 채택되거나)의 언어가 되도록 규정된다. 2 개의 L-오토메타 Γ 및 Γ′은 만일 £(Γ)=£(Γ′)일 경우 동등한 것으로 된다. Γ의 체인(chain)은 한쌍의 (v,w)이며 , 여기서 v는 테이프 x의 채택 실행이다. C(Γ)가 Γ의 체인 세트를 규정한다고 하자.
L-오토메타 Γ은 MΓ이 결정적일 경우 결정적이라 한다. 만일 Γ이 결정적이고 |I(Γ)1|=1 일 경우, Γ은 강한 결정적 적이라 한다(관례상, “결정적”이란 여기에서 “강한 결정적”으로 지칭한다는 것을 의미하도록 문헌에서 사용되어 왔다. 그러나, 강한 결정론은 결정론이 오로지 요구되는 오토멘타 보충 및 최소화에서 불필요한 구속이 있게한다).
(3.1) 레마(Lemma) : 강한 결정적 L-오토메타에 의해 채택된 테이프는 독특한 채택 구동을 가진다.
L-오토메타와 다른 형태의 오토메타간의 관계는 [Ku 87 참조]내에 주어진다.
4. L-프로세스
명백하게, L-오토메타의 “등위”를 수용하는 직접적인 방법이 없으므로, L-오토메타는 등위 불연속 이벤트 시스템을 규정하는 직접적으로 적당하지 않다. 그들은 출력을 갖지 않으며, 그런고로 통신할 방법이 없다. 대신에 등위 불연속 이벤트 시스템은 무어장치들로 부터 세워지며 그들장치들 각각의 출력은 다양한 장치에 대한 입력을 제공한다. 이는 “데이타 흐름” 문맥[WA 85 참조]을 제공하며 여기에는 시스템이 등위 장치의 수집으로 표시된다.
전술한 바와 같이, 본원의 목적을 위하여, 무어장치는 그들 결정때문에 아주 부적절하다. 한편, 단순히 무어장치를 비-결정적으로 되게 하는 것은 대답이 아니다. 결정적 전이 구조는 장치들을 비교할 수 있게 하는데 중요하다(비결정적 무어 장치가 결정 가능하지 않다는 것이 주지된다). 비교는 하나의 장치가 추론되거나 감소 및 정세의 목적을 위해 다른 장치를 수행하는 것을, 알리는데 사용된다. 또한 이는 상태 공간의 크기 및 그에 따른 증명의 복잡성을 증대시키게 되는 다른 장치(L-오토메타와 같은)를 통하는 것보다 공정성 구속력을 장치 정의 내로 직접 조합할 수 있게하는데 편리한 결과가 되게한다.
이들 이유때문에, 프로세서는 즉시 비결정적 출력과 결정적 전이구조를 가지며, 상태공간의 크기를 증가시키지 않고 공정성 구속을 조합하는 무어형 장치로써 모델화된다. 따라서 각각의 상태에서 무어장치는 그 상태의 기능으로써 출력을 산출하지만, 하기에 규정된 L-프로세서는 각각의 상태로부터 가능한 여러 출력들중의 하나를 비결정적으로 산출하게 된다(상태로 부터 가능한 출력 세트는 상태의 기능이다). L-프로세서의 전이구조는 결정적이거나 비결정적이지만, 이는 로빈 스카트 부분집합 구조를 통하여 결정될 수 있다. 비록 L-오토메타와 같은 L-프로세서는 안정적으로 규명될지라도, 이는 동적 해석을 가진다: L-프로세서는 반복적으로 현재 상태로 부터 허용된 출력을 “선택”하고 그후 그 선택에 의해 가능한 전이를 따라서 상태를 변화시킴으로써 상기 선택을 “해석”한다. 이러한 동적 해석은 통신 프로토콜 및 보다 일반적으로 분배된 불연속 이벤트 시스템을 모델화 하기 위해[AKS 83, KU 85]내에 기술되고 1980 년 [GK 80]의 저서 및 비 .고핀나트에 의해 제안된 등위의 선택/해석(or /r)모델이다. 보다 일반적으로, “시스템” 은 L-프로세서로 구성되는데 그들의 선택(출력)들은 다른것에 대한 “입력”을 제공한다. L-오토메타로써 동적 해석이 개념적으로 편리하지만, 정적의 정의는 해석에 대하여 보다 유용하게 되는 결과를 준다.
L 이 부울대수라 하자. L-프로세스 A 는 5-튜플이다.
A=(MA, SA, I(A), R(A), Z(A))
여기에서 MA, I(A), R(A) 및 Z(A)는 MA가 완전하게 요구되지 않는다는 것을 제어하고, L-오토메타의 정의 내에 있다. SA, A의 셀렉터는 각각의 v∈V(A)에 대하여, v에서 A 의 선택 세트, SA(V)=1이며, 모든 v에 대하여, w∈V(A)이 되도록 A 의 상태로부터 L 의 부분집합의 세트까지의 함수 : (A) → 2 이다.
SA:V(A) → 2L이다.
Figure kpo00071
(조건 (4.1)는 하기 설명된다).
Figure kpo00072
라 하자.
A의 선택 세트 및 세트 |A| = 카드 V(A)가 된다. 일컬어, L-프로세스 A는 각각의 선택 x ∈ S(A)가 A 의 선택 세트에 의해 발생된 부울대수 B[S(A)]내의 아톰이 있을 경우 아토믹하다고 말한다. 따라서, A는 소정의 선택 x, y ∈ S(A)에 대하여 x * y = 0 ⇔ x = y 일 경우 아토믹하다. 프로세스 원자수의 가정은 표현력과 타협하지는 않으며, 등위분석에 기초가 되는 결과가 된다.(하기 (4.10)참조). 그러므로 이 논문은 아토믹 프로세서에 주로 관심이 집중된다. 요행이도, 원자수는 “독립적” 프로세서 하에서 보존된다(하기 (4.8)참조).
선택 x ∈ SA(V)은 상태 전이(v,w)를 x*A(v,w) ≠ 0 제공되게 하는데, 즉 x 및 전이단정 A(v,w)가 매우 만족스럽게 제공되게 한다. 조건(4.1)은 상태 v로부터 각각의 에지가 v로 부터 소정 선택에 의해 가능하다는 것을 의미하는 것으로써 해석될 수 있다(즉, 소정의 x∈SA(v))(이는 각각의 에지 라벨 A(v,w)을 A(v,w) *
Figure kpo00073
에 의해 대치시킴으로써 강요되게 된다). 이는 A의 “언어”를 유도된 L-오토메타의 언어에 관련시키는데 필요한 기술적 가정이다. 명확하게는, 이는 v로 부터 선택없이 구동가능한 v로부터의 전이가 겹쳐지지 않음으로써, L-프로세서의 표현력을 제한하지 않는다. 주지하고자 하는 것은 (4.1)에 동등한 조건이 모든 v∈V(A)에 대하여
Figure kpo00074
것이다.
만일 사실상 모든 v 및 0
Figure kpo00075
(A)에 대하여 (4.2)내에 동질성이 유지될 경우, A 는 룩업프리라 한다. (이는 L-오토메타에 대한 완결성에 관계되는데, 이는 L-오토메타가 각각의 상태로 부터 단일 선택 1∈L 을 가진 L-프로세스로 고려할 경우이다). 만일 A 가 룩업프리일 경우 각각의 선택 x∈SA(V)에 대하여, v로 부터 소정의 전이가 소정의 w∈V(A)에 대하여 x, 즉 x * A(v,w) ≠ 0 에 의해 실행될 수 있다. 그러나, (4.2)내의 동질성은 이 조건보다 강하다. 이러한 불량한 조건을 가진 문제점은 승산적하에서 보존되지 않는다. 강한 암시로 룩업이 정의에 있어서의 결함이기 때문에, 룩업프리 시스템을 형성하는 것을 결속하도록 구성원을 룩업 프리하게된다.
지금까지 L-처리의 전이 구조는 안정적으로 규명되고 능동적으로 해석되었다. 지금에는 L-프로세서의 “운전상태” 또는 언어가 규명된다. 때때로 무어장치의 “언어”가 자체의 가능 프로덕션(출력 수열)모두의 세트가 되게 규정되지만, 이는 사실상 부적절한 정의이며, 여기에서 이는 입력 및 출력간의 필수적인 관계를 마스크한다. 오히려 능동적인 용어로, L-처리의 언어는 공정성 구속력에 의해 “제외된(ruled out)” 그들 수열을 제외하고 입출력쌍의 모든 수열이 되게 규명된다. 보다 일반적으로, “시스템”이 여러 L-프로세스를 구비하고 각각의 프로세서의 입력이 다른 프로세스의 선택으로부터 취하게 되기 때문에, 이는 시스템의 선택에 의하여 처리의 언어를 정리하는데 가장 적합하다.
x∈S(L)w라 하고(L 의 모든 수열 세트) A 를 L-프로세스라 하자. A 내의 x의 실행은 v0∈I(A)를 가진 MA내의 x의 실행 v이다. x는 이것이 만족하는 A 내의 실행을 받아들일 경우 A 의 테이프라 한다.
(4.3) 소정의 N>0, i>N (vi, vi+1)
Figure kpo00076
R(A),
(4.4) 소정의 각각의 C ∈ Z(A) 및 각각의 i>0 에 대하여 그들은 j>i 가 존재하여 Vj
Figure kpo00077
C 된다.
그러한 실행 v는 x의 채택 실행이라 한다. £(A)로 규정된 A 의 언어는 A 의 모든 테이프 세트이다. 2 개의 L-프로세스 A 및 A′ 는 만일 £(A) = £(A′)일 경우 같다.
L-프로세스 A 의 체인은 한쌍(v,x)인데, 여기에서 x∈£(A) 및 v는 A 내의 x 의 채택 실행이다. C(A)가 A 의 체인 세트를 표기한다고 하자.
(4.3) 및 (4.4)가 L-오토메타에 대한 대응 정의의 부정이라는 것에 주지하라. 그 이유는 R(A) 및 Z(A)가 “공정성” 구속 : 가장 편리하고 가장 음성적으로 자주 표현되는 운전상태를 규정하는 L-프로세스내에 사용된다는 것이다(예를 들어, A 는(사이클 세트에 의해 디자인된) 그의 ‘크리티칼 섹션’ 상태내에 남지 않게된다). 그러나 거기에는 어떠한 고유 개념의 공정성도 없으며 : 소정 w-규칙 특성이 (4.5)에 도시된 바와 같이 나타난다는 것을 주지하라.
L-처리 A 는 MA가 결정적일 경우 결정적 해석을 가진다고 한다.
(4.5) 정리 : L 을 부울대수라 하고 £을 S(L)에 대하여 임의의 w-규칙언어라 하자. £(A) = £ 을 만족하는 결정적 해석을 가진 L-프로세스 A 가 존재한다.
증명 : ∧1... ∧k가 강한 L-오토메타로써 ∩£(∧i) =‘£’ [Ku 87: Thm. 3: Cor. to Prop. 2]를 만족한다고 하자. Pi = (M∧i, 1, I(∧i), R(∧i), Z(∧i))에 의해 L-프로세스 P1....Pk를 규정하되, 여기서 모든 v∈V(∧i)에 대하여 1(v) = {1}이다. (3.1)에 의해 £(Pi) = £(∧i)′이다. P = (
Figure kpo00078
Mpi, 1, UI(Pi), UR(Pi), UZ(Pi))를 세트하자. 그러면 £(P) = U£(Pi) = U£(∧i)′= £ 이다.
문헌에서, (무한)수열 및 (유한)스트링의 용어로 규정된 “처리 운전상태”를 자주 볼 수 있다. 이는 불필요한 복잡한 요소이다. 만일 프로세서가 종결하는 프로그램을 모델화 할 경우, 프로그램이 오직 자가 루프하여, 상기 상태이후에 계속 잔류하며 그 이후에 시스템의 소정 처리의 비 자가루프를 하지 않는 공집한 선택을 선택하는 상태로써 “종결”을 모델하는데 문제점이 없게된다. 한편, 만일 처리가 룩업때문에 종결할 경우, 여기에서의 고찰은 이는 정의에 문제가 있다는 것으로: 다음에 일어나는 것이 비규명된다(이는 룩업조건이 이르기만하여 그경우 컴퓨터가 ‘에러’ 를 복귀하여야 하는지를 결정하는 실제 수단으로써 컴퓨터상에서 수행되는 처리의 룩업을 도입하는데 편리하다).
L-프로세스 A 가 주어지면, A 의 도달가능한 서브 프로세스는 I(A)로부터 도달 가능한 상태 세트에 대한 A 의 구속으로 규명된 L-프로세스 A*이다. 확실하게는 £(A*) = £(A)이다.
A 를 L-프로세스라 하자. L-오토메타 A#는 아래와 같이 규명된다. 즉 V(A#) = V(A) U {#}, 여기서 # 는 V(A) 내에 있지 않는 심볼이다: I(A#) = I(A)이다; V에 대하여 w∈V(A)가 된다.
A#(v,w) = A(v,w) 이며, 반면에
Figure kpo00079
A#(#, #) = 1, A#(#,v) = 0 이다.
R(A#) = Ø, Z(A#) = {V(A)}이 된다. 만일 R(A) = Ø이고 Z(A) = {Ø}일 경우, L-프로세스 A 는 충분이다. 만일 A 가 충분이면 A 의 전이 매트릭스의 어떠한 실행도 불공평하게 되며 £(A) = £(A#)이 된다.
∑ 에 대하여 규칙언어 C 가 모든 X 에 대하여, y∈∑w, xy∈C ⇒ x∈C 일 경우 프리픽스-클로스드(prefix-closed)된다고 하자. 언어 C 의 한계는 w-언어로 되게 규정된다. 즉
lim C ≡ {x∈∑w| 모든 i1<i2<....., 에 대하여, (x0, x1, x2,...., xij) ∈ C 모든 j 에 대하여}이 된다.
(4.6) 이론 : L 을 부울대수라 하고 £ = Ø를 S(L)에 대하여 w-규칙 언어라 하자. 그러면 아래와 같은 등식이 주어진다.
1. 소정의(룩업 프리) L-프로세스 A 에 대하여 £ = £(A#)
2. (L)에 관하여 소정의 규칙 프리픽스 클로스드에 대하여
£ = lim C
증명 : 1 ⇒ 2 : C 를 M = (MA #, I(A), V(A))에 의해 규정된 래빈-스카트 억셉터에 의해 채택된 (규칙)언어라 하자(여기서 V(A)는 “최종”상태의 세트이다). 만일 x∈£(A#)이면 모든 i 에 대하여 xo....xi∈£(M)이 되며 그래서 £(A#)C lim C 가 된다. 만일 x∈lim C 이면, j=1, 2....에 대하여, xo....xij∈£(M)이 된다. 상태 x∈V(M)로부터 아웃고잉(outgoing)에지가 없기 때문에, x∈£(A#)이 된다. 따라서, £ = £(A#) = C, 구성에 의해 C 는 프리픽스 크로스드 된다. 2 ⇒ 1, M=(M, I, F) 가 £(M) = C 를 가진 결정적 라빈-스카트 억셉터[RS 59 참조]라 하자. C가 프리픽스 크로스드 되기때문에, F′(≡ V(M)\F)상태로 부터 F의 상태까지 전이가 없게된다. A 가 V(A) = V(M)\F′, MA= M\V(A), I(A) = I(M)\F′ 및
Figure kpo00080
이라 하자. 그러면
Figure kpo00081
= ∑x (x∈S(L); w∈V(A), x*M(v,w) ≠ 0)이고, M이 결정적이기 때문에, 이 합계는
Figure kpo00082
에 일치한다. 그러므로 A는 룩업 프리 L-프로세스이다. A 가 풀이기 때문에, £(A#) = C = £ 가 된다.
L-프로세스가 주어지면, A1,...,Ak는 그들의 (텐서)적이 하기와 같이 되도록 규정한다.
Figure kpo00083
여기서
Figure kpo00084
이다.
(4.7) 레마 : 만일 A1,...,Ak가 L-프로세스일 경우, 그들의 적
Figure kpo00085
Ai는 L-프로세스이다. L-프로세스 A1,...,Ak는 독립적으로 제공되게 한다.
xi∈S(Ai), (i=1,....,k)⇒ x1*....* xk≠ 0.
(4.8) 정리 : 만일 A1,...,Ak가 [아토믹하도]독립적인 룩업프리 L-프로세스일 경우, 적
Figure kpo00086
는 [제각기, 아토믹하고] 룩업프리하다.
(4.9) 정리 : A1,...,Ak가 독립적이고 룩업프리 L-프로세스라 하자. 그러면,
Figure kpo00087
이는 £(
Figure kpo00088
Ai #) = £(
Figure kpo00089
Ai)#)(4.9.1)로 부터 직접 주어진다.
아토믹하고, 독립적이며, 룩업프리 L-프로세스 A1,...,Ak의 ′시스템′내의 불연속-이벤트 등위는 적 L-프로세스 A = A1
Figure kpo00090
,...,
Figure kpo00091
Ak의 운전상태에 의해 모델화 된다. 이 시스템을 능동적으로 해석하면, 각각의 프로세스 Ai내의 각각의 시간에서, “현재의”상태 Vi(즉 소정의 xi∈SAi(vi))에서 가능한 선택 xi는 비-결정적으로 선택된다. 적 x = x1* .... * xk는 “현재의 구형 선택” x∈SA(v)인, 상태 v = (v1....vk)에서 적 A 의 선택을 규명한다. 각각의 프로세스의 각각의 시간에서, 현재의 구형 선택은 한 세트의 가능한 “다음”상태, 즉 현재상태로부터 전이가 현재 구형선택에 의해 이루어지는 그러한 상태를 결정한다. Ai에서 상태 vi로부터 상태 wi까지의 전이는 x * Ai(vi, wi) ≠ 0 일 경우 x 에 의해 이루어진다. 적절한 조건하에서 각각의 프로세스는 분리적으로 이들 가능한 다음 상태중의 하나를(비 결정적으로) 선택함으로써 현재의 구형 선택용 해석하도록 고려될 수 있다. 시스템의 프로세스는 각각의 분리적 “선택” 및 “해석”에 의해 적시에 진행한다(참조 1 도 참조). 이러한 해석은 A1각각의 원자론적 가정에 의해, v = (v1,..., vk) 및 w = (w1,....,wk)에 대하여, (4.10) x * Ai(vi, wi) ≠ 0 (1≤i≤k) ⇔ x * A(v, w) ≠ 0 이기 때문에, 만일 L = B[S(A)]일 경우 프로덕트의 운전상태를 기술한다.
L = B[S(A)]가 상기 S(A)를 제공하는 가정은 구성원 프로세스의 전이를 결정하는 ‘시스템’의 모든 선택을 포함한다. 만약 그러한 경우에는, 각각의 Ai는 B[S(A)]-프로세스이며, 그래서 L = B[(A)]를 가정하게 된다.
Figure kpo00092
(S/r 모델 : 각각의 프로세스는 현재의 선택을 일시적으로 해석하고 새로운 상태로부터 새로운 선택을 일시적으로 만듦으로써 그의 상태를 갱신한다.)
등위 L-프로세스 A1,...,Ak의 패밀리(family)에 의한 하드웨어 또는 소프트웨어의 모델링은 “프로세스”가 프로그래밍 시초인 프로그래밍 언어내에서 시스템의 기능을 수행하는 컴퓨터 프로그램에 의해 고찰될 수 있다. 그러한 언어는 [WA 85] 의 의도에 비추어 고유의 오토메타 데이타-흐름 언어이며, 데이타 노드 및 데이터 흐름으로서의 프로세스는 다른 프로세스의 선택에 따른 프로세스의 의존도에 의해 결정된다. (4.10)과 일관되게 s/r 모델을 수행하는 명백하게 개선된 S/R 언어 [JK 86]은 그러한 언어의 일예이다.
S/R 언어의 신텍스에 부과된 모델링 분야는 많은 작은 등위 프로세스로서 시스템을 모델링하는데 편향된, 본래 체계적이다. 가장 간단한 프로세스는 종래의 프로그램 내의 변수의 임무를 다하는 것들이다(할당 스테이트먼트를 통하여 갱신되는 것보다는, 여기에서 “변수” 프로세스는 입력값의 기능으로써 그 자체를 갱신한다). 버퍼 및 다른 “통과” 데이타 구조는 그러한 변수 프로세스의 “어레이”로 형성될 수 있으며, 즉 만일 Ai이 (파라메터 i 의 기능으로써)어레이 소자를 모델화하는 프로세스 하는 경우, A =
Figure kpo00093
는 어레이를 모델화 하는 프로세스이다. S/R 프로그램의 “활성(그리고 일반적으로 비-결정적)부분은 통과 데이타 구조 가운데의 데이타 흐름을 동위화하는 “제어기” 프로세스로 구성한다(이들 제어기들은 소위 “상태장치”에 상응하며, 하나는 때때로 종래의 프로그램내에 있게된다). S/R 언어는 자신을 제어기 프로세스의 체계적인 모델링에 알맞게 한다. 따라서, 제어기 A 는 여러 구성원 제어기
Figure kpo00094
내로 분해될 수 있으며, 각각의 구성원은 다른 제어기와 동등하게 소정 관점의 데이타 흐름을 제어한다.
그러한 데이타-흐름 언어는 하드웨어 구조를 직접 모델화하며 따라서 하드웨어를 모델링하며 수행하는 직접 적으로 적당하다. 그럼에도 통신 프로토콜과 같은 제어-집중 소프트웨어 프로그램에 적당하게 된다는 것이다. 실제로 분배된 제어를 가진 프로그램내로 세워진 고유의 병행론 때문에 s/r 모델이 “하드웨어 구조”를 S/R 프로그램에 편승한다는 사실은 동등한 비-데이타 흐름 프로그램에 대하여 모듈리트 및 선명도의 장점을 제공하고, 생산성 및 효율의 극적인 증가에 대한 포텐셜(potential )을 제공한다.
S/R 모델의 능동적인 해석은 (4.10)과 일치하게 선택하여 해석하기 위하여 “각각의 시간에서”를 해석함으로써 연속적인 시간에서 비동기적으로 프로세스 동위의 시스템을 모델화하는데 사용될 수 있으며, “각각의 실제치의 시간”을 뜻하는 것으로써, 이러한 제공된 상태 전이는 일시적이며 불연속 시점에서 발생된다(이러한 해석에 대한 필수적인 요구는 셀프 루프없이 어떠한 인접 상태는 없게 된다). 이러한 시도는 섹션 5에서 이후에 설명된다.
L-프로세스 A는 만일 결정적 해석을 가지며, 각각의 v∈V(A)에 대하여, | (Sa(V)| = 1 일 경우 결정이라 한다. A는 만일 A가 결정적이며 | I(A)| = 1 일 경우 매우 결정적이라 한다. 강하게 결정적인 L-프로세스 A 가 입력 알파벳 S(L) 및 출력 알파벳 S(A)을 가진 무어장치와 매 무어장치가 이러한 형태를 가진다는 것을 주지 하자.
(4.11) 이론 : 여러 풀 L-프로세스는 결정적 해석 및 독특한 개시상태를 가진 풀 L-프로세스에 일치한다.
증명 : 라빈-스카트 결정론 알고리즘을 사용 [RS 59 참조]
5. 비동기성 모델링
지연은 “시스템”내의 어떠한 프로세스의 셀프 루프를 가능치 못하게 하는 특성을 가진 특정 “중지”선택에 의해 모델화 될 수 있다. 상태를 인입시킴에 따라, 프로세스는 “중지”를 먼저 선택하여 프로세스를 “셀프 루프”되게 하고 여타 프로세스에 “어떠한 정보도” 운반하지 않는다. 그에 의해, 어떠한 프로세스도 이러한 “중지”때문에 상태를 변화되게 하지 않는다는 것을 의미한다. 소정 시점후에, “중지”를 선택하는 프로세스는 비결정적으로 자체의 선택을 소정의 다른 값으로 변화시켜 소정 상태 변화를 가능케 한다. 이러한 방법에 있어서, 만일 상태변화가 일시적인 이벤트로써 해석되는 경우, 그들은 하나이상의 구성원의 그러한 “중지”선택에 의해 규정된 비-제조기간에 의해 분리되며, 이러한 해석때문에, 프로세스의 시스템은 연속적인 시간에 비동기적으로 발생하는 불연속 이벤트를 모델화한다.
비동기 프로세스의 데이타 흐름 모델에 있어서, 인터 노드 지연(inter-node delays)은 (그들 기능이 간단히 그러한 지연을 모델화 할 수 있는) 특정 “채널” 프로세스내에서 그러한 “중지”지연과 같이 보여진다. 따라서 2 개의 제어기 A 및 B의 지연된 비동기 등위는 A 및 B 간의 모든 등위가 C를 통한다는 특성을 가진 제 3 “채널” 프로세스 C의 도입을 통하여 모델화 된다. 이는 아래와 같이 실현된다. 소정 시점에서 A는 그의 선택을 중지 선택으로부터 비중지 선택으로 변화하며, x 라 한다. C 내의 x 의 (일시적인)해석은 새로운 상태 C 에 대한 변화상태이며, 상태 “x”라 한다. 그러한 (새로운)상태 x 로 부터, C는 A 및 B 간의 인터 프로세스 지연에 일치한 많은 시간 동안에(개념적으로), 중지 선택을 먼저 선택하게 된다. C 의 선택은 “중지”로부터 선택 x′ 로 (비결정적으로)변화한다. x′의 B 의 해석은 A 로부터 B 까지 “데이타 x 의 통과를 반영한다. 이러한 경우, 프로세스 C 는 “수행된”프로그램의 일부는 아니지만 수행된 프로그램이 있는 조건의 모델 일부이다. (소프트웨어에 대하여, C 는 동작 시스템 인터페이스에 의해 “수행되는” 반면에 하드웨어에 대하여는 C 는 도선이나 다른 구성 인터페이스 장치에 의해 수행하게 된다).
S/R 프로그램이 비동기 및 다른 연속시간 전개를 모델화하려는 경우, 그러한 프로그램의 “신뢰성”은 이슈된다; 사실상, 주어진 프로그램의 어떠한 연속시간 수행도 없게된다. 예를들어 상태 전이가 일시에 취해지기-때문에, 셀프-루프 없이 2개의 연속적인 상태를 가진 프로세스의 어떠한 연속적인 시간 수행을 할 수 없게된다. 그러므로 S/R 프로그램이 실현되는 것을 보장하는 광범위하게 응용가능 조건을 확인하는 것이 중요하다.
체인(v,x)∈
Figure kpo00095
(A)를 가진 L-프로세스 A 가 주어지면, (v,x)의 실현은 i-번째 단계가 n * A(vi, vi) ≠ 0 일 경우에만이 명확한 측정을 갖도록 i-번째 단계(vi,xi)로 Vv,x가 단계-기능(피스와이스(piecewise)-상수)인 특성을 가진 매프
Vv.x: [0,x] → V(A) X S(A) 이다.
이는 만일 A 의 매 체인이 실현되는 경우 L-프로세스 A 가 실현 가능하다 라고 한다.
실현가능 프로세스는 아래 참조 2 도와 같은 시간으로 전개된다고 인지될 수 있다.
Figure kpo00096
연속시간 모델링 : 상태 vⓐ를 세프 루핑하고 P 를 선택하는 프로세스는 시간 t에서의 상태를 상태 V 로 변화시키며, 이로 부터 이는 선택 x∈S(v)을 선택하고 새로운 상태 wⓐ로 이러한 새로운 선택을 해석하는데, 여기서 이는 셀프 루프한다....
(5.1) 레마 : 아래 주어지는 것은 L-프로세스 A 에 대하여 동등하다.
1. A 는 실현 가능하다.
2. A 의 각각의 체인(v,x) 및 i≥0 에 대하여 xi* A(vi, vi) = 0⇒xi+1+1 * A(vi+1, vi+1) ≠ 0;
3. v. w∈V(A*)에 대하여, 만일 x∈SA(v), x * A(v,v) = 0 및 x * A(v,w) ≠ 0 이면, 모든 y * SA(w)에 대해서 y * A(w,w) ≠ 0 이 된다.
A 가 L-프로세스라 하자. E1(A) = {e∈E(A) e-≠e+} 및 A 의 비-셀프 루프의 세트를 규정한다. 상태 W ⊂ V(A)의 세트는 만일 각각의 상태 w ∈ W 로부터의 각각의 선택이 w 에서 셀프-루프를 구동하는 경우 안정화 되는데, 즉 각각의 x ∈ SA(w) 및 각각의 e ∈ E1(A), e-∈ W 또는 e+∈ W 에 대하여 x * A(w,w) = 0 이다. 만일 A가 상태의 세트를 안정화 시키는 경우, A 가 안정하다고 한다.
(5.2) 이론 : L-프로세스는 안정할 경우에만 실현 가능하다.
W⊂ V(A)에 대하여 SA(W) =
Figure kpo00097
를 규정한다.
L-프로세스 A1,....,Ak의 패밀리는 각각의 i≠j에 대하여 1≤i , j≤k 가 되도록 A1,....,Ak제각기에 대하여 상태 w1,...., wk의 세트를 안정화 시킬 경우 안정된다고한다.
(5.3) p ∈ SA(Wi), w ∈ Wj⇒ p * Aj(w,w) ≠ 0;
(5.4) e ∈ E1(Ai), f ∈ E1(Aj), e-tWi, f+tWj⇒ Ai(e) * Aj(f) = 0
(5.5) 이론 : 만일 A1,....,Ak가 독립 L-프로세스의 안정한 패밀리일 경우
Figure kpo00098
는 안정하다.
이전의 2 개의 결과는 실현 가능한 “시스템”을 구성하기 위한 일반적인 수단을 제공한다(프로세스들의 프로덕트는 실현 가능하다). 실제로 L-프로세스 A 는 만일 A 가 결정적일 경우 그리고 V(A)가 안정할 경우(그후 A 가 필수적으로 “그들상태를 선택“하고 거기에 “할당된“ 최종치를 보유한다). “메모리” 프로세스라 한다. A 는 소정 세트의 “중지“상태 V⊂ V(A) 가 안정화 할 경우, 만일 소정의 지정된 “중지”선택 p 에 대하여 모든 V ∈ V에 대한 SA(v) = {p}일 경우 그리고 각각의 V∈ V에 대하여 MA(V, V)를 세팅함으로써 MA로 부터 유도된 L-매트릭스가 결정적일 경우 “비동기 제어기“라 한다(그래서 A 는 상태 vⓐ 의 비결정된 시간동안 “중지”하여 “중지”선택 p 을 선택하고 그후에 v 라 하는 유일하게 지정된 비-중지 상태에 비결정적으로 이동하며, 그로부터 이는 임의 선택을 만들며 또다른 “중지”상태 또는 셀프 루프중의 어느 한 상태로 이동한다). 그러한 “메모리” 프로세스와 “비동기 제어기”로 구성된 블록을 만드는 것으로부터 비동기 시스템을 만드는 것은 자연스럽고 편리하다. 후자는 비동기 인터페이스 상으로의 지연, 처리-시간 지연 및 추론의 고레벨에서의 비결정 작용으로 지연을 모델화한다. 어떠한 프로세스도 다른 프로세스의 “중지” (≡ “무정보”)선택에 따라 분기하도록 예상되지 않기 때문에 조건(5.3)과 일체하게 시스템을 모델화 하는 것은 자연스럽다. 조건 (5.4)은 보다 문제성이 있으며, 여기에는 이는 자연 발생적으로 야기되지 않는다.
그러나 이는 자연적인 해석을 갖지 않는다: 동일 시간 t 에서 “중지”를 정지 프로세스들 중에서, 그들 제각기의 연속적인 “비-중지”선택 각각은 시간 t 에서 효과적이어야만 한다(하나는 t 에 있지 않으며, 다른 하나는 t 의 우측으로 개방 주기내에 있다). (5.4)를 실시하는 하나의 방법은 시스템의 모든 프로세스의 선택과 무관한 소정의 L 을 선택하고, 각의 “비동기 제어기” 프로세스 A 에 대하여 MA(v@, v)를 각각의 v@*MA(v@, v)에 대하여 u*MA(v@, v)되게 재규정하며, MA(v, w@)를 v@∈v에 대하여 ∼u*MA(v, w) 되게 재 규정하는 것이다. 이는 (4.10)를 위배한다; 그러나 이러한 위배의 효과는 구성원 프로세스 운전상태를 변경하지 않기 때문에 대수롭지 않다. 이는 시간 “t 에서” 자체의 선택을 변화하는 각각의 프로세스가 시간 t 에서 사실 새로운 선택을 가진다는 요구사항을 충족시킨다.
6. 증명
서두에서 언급한 바와 같이, 증명은 언어 특성에 의해 규정된다. 특히 , A를 L-프로세스라 하자. A 에 대한 태스크는 δ(L)에 대하여 w-언어의 F<26(L)w세트로 되게 규정된다. A 는 £(A)∈F가 제공된 태스크 F를 수행한다고 하자. 이러한 정의는 모델-검사의 모든 가능 개념을 수용한다. 예를들어 만일 F가 소정상태로 접근 가능한 브랜칭 시간 특성을 나타낼 경우(“개시 상태로부터 주어진 상태까지의 경로가 존재한다”), F는 개시 상태에서의 구동 개시를 하여 주어진 상태를 통하여 구동하는 적어도 하나의 수열을 포함한다. 주요한 등급의 태스크는 w-규칙 태스크의 등급이다: 태스크 F는 w-규칙 언어 £에 대하여 F=2£이 제공된 w-규칙이다. F=2가 L-프로세스 A 에 대한 w-규칙 태스크라 하자. A 는 만일 £(A)<1일 경우 F를 수행한다. £ 이 w-규칙이기 때문에, £=£(T) 되도록 L-오토메타 T 이다 그러한 경우에 있어서, “T 는 A 에 대한 태스크”이고 “A 는 £(A)<1(T)일 경우 T”를 수행한다. 이후부터는 모든 태스크는 w-규칙이라 가장된다.
A 가 L-오토메타라 하고, T 가 A 에 대한 태스크를 규정하는 결정적 L-오토메타라 하자. 태스크-수행 £(A)⊂£(T)는
Figure kpo00099
의 시간 선형으로 결정될 수 있다. 임의의 w-규칙 언어 £가 결정적 L-오토메타 T1,...,Tn에 대한 £(A)⊂£(Ti)로써 표시됨으로써, £(A)⊂£ 는 i=1,...., n 에 대한 £(A)⊂£(Ti)를 결정 함으로써 결정될 수 있다. 이는 £ 보다 분리 결정적 태스크 T1,....,에 의해 고찰 될 수 있기 때문에, 실제로 적절하다.
증명은 때때로 “제어기 합성”문제점으로써 제기할 수 있다. [AKS 83, RW 87 참조] : 만일 £(A)⊂£ 가 충족되지 않으면, 그럼에도 불구하고 £(
Figure kpo00100
) = £(A)∩£( )이기 때문에 £(
Figure kpo00101
)⊂£ 하는 경우가 된다. 그러한 제어기의 존재에 대한 필요충분조건은 £(C)⊂(£(A)∩£)U£(A)′ 이 된다.
시스템을 규정하고 분석하는 과정에서, 자주 “조건 환경”: 시스템에 대한 소스 입력의 구속 또는 “커미트먼트 (commitment)”를 정한다. 때때로 이는 조건환경에 대한 시스템의 그리고 시스템에 대한 조건환경의 “커미트먼트”에 관련한 순화성에 대한 포텐셜에 기인하여 혼동되게 한다. 예를들어 S 는 E 가 작업할 경우 작업하고 E 는 S 가 작업할 경우 작업하는 것은 어느것도 작업하지 않을 경우 만족된다. 이러한 혼동에 대한 포텐셜은 시스템의 모델, 조건환경의 모델을 다함께 제공함으로써 모두다 해소될 수 있다. 그러면 특성들은 한쌍의 시스템 조건환경을 구비한 폐쇄된 시스템에 대하여 증명된다.
중요한 감소방법은 “태스크분해”라 불리운다. 각각의 구성원 Ai이 T 의 수행의 일부를 동작한다는 의미로 T 가 “구형”인 A =
Figure kpo00102
Ai 에 대한 태스크라고 가정하자. 이러한 경우, 어떻게 테스트 £(A)⊂£(T)를 감소시키는가를 보는 것이 개념적으로 어렵게 된다. 예를들어, A 가 하기와 같이 자체의 조건환경의 통신 프로토콜을 규정한다고 가정하자. A = S
Figure kpo00103
SP
Figure kpo00104
CH 1
Figure kpo00105
CH 2
Figure kpo00106
RP
Figure kpo00107
R 인데 여기에서 S 및 R은 조건환경의 송신 및 수신 인터페이스를 제각기 모델화하고, CH 1 및 CH 2 는 송신기와 수신기간의 입력 및 출력 채널을 제각기 모델화하며, SP 및 RP 는 증명될 전개하에서 송신기 프로토콜 및 수신기 프로토콜을 제각기 모델화한다. 채널이 메세지를 잃을 수 있지만 프로토콜 SP 및 RP 는 그러한 실패가 있을 경우 송신 확인 및 재통신을 기초로 작업한다. 말하기를, 태스크 T 는 여기에 연속적인 채널 실패가 없이는 S 에 의해 전송된 매 메세지가 R 에 의해 궁극적으로 수신된다는 것이다. T 의 유효성은 메세지가 S 로부터 SP 거쳐 CH 1 통해 RP 통하여 R 로 흘러야만 함으로써 A 에 의해 모델화된 “시스템”의 전체의 구형 운전상태에 의존해야만 하며, 그리고 CH 1 내에 어떠한 실패가 있는 경우를 조작하기 위하여 RP 로부터 CH 2 통해 SP 까지 확인이 흘러야만 한다. 그러므로 T 에 관련된 A 의 소정의 중요한 추론은 후에 주어지기 쉽지 않다. 그럼에도 불구하고 일반적으로 태스크 T 는 각각의 i=1,....,N 에 대하여
Figure kpo00108
및 £(A)⊂£(Ti)이 되어, 테스트 £(Bi 1)⊂£(Ti 1)에 대한 그러한 각각의 테스트의 감소를 허용케하도록 태스크 T 는 “보조태스크” T1,...,Tn내로 분해될 수 있다. 일예로 T1은 송신된 메세지가 S 로부터 SP 까지 도달할 수 있으며, 이를 증명하기 위하여, B1 1= S
Figure kpo00109
SP
Figure kpo00110
X 를 취하는데, 여기에서 X 는 CH 1
Figure kpo00111
CH 2
Figure kpo00112
RP
Figure kpo00113
R 의 중요한 추론이 된다. 유사하게, T2,... 는 프로토콜의 양호한 기능에 관련된 이벤트의 흐름을 따르게된다.
7. 준동형 (Homomorphism)
감소 및 정세 양자의 기초인 준동형은 대형 시스템을 취급하기 위한 수단이다. L, L′가 부울대수라 하자.
σ : S(L) →δ(L′)를 임의의 매프라 하고 L 에 관한 언어의 매프 (7.0.1) Φ : 2S(L)w→ 2s(L′)w을 Φ(£)= {σ(Xi))i1|X∈£) 에 의해 L′ 에 관한 언어로 규정하자. Φ는 (언어)준동형이지지 σ로 되게 한다고 하자. 만일 X∈S(L)w일 경우, Φ(X)=(σ(Xi))i를 규정한다. 언어 준동형 Φ이 부울대수 준동형 F(Φ) : L′ → L 의 근원이 된다는 섹션(7.1)에 도시되며, 역으로 소정의 부울대수 준동형 : L′ → L 에 대하여 F(Φ) = ψ 를 만족하는 유일한 언어 준동형(7.0.1)이 있게된다. 언어 준동형과 부울대수 준동형간의 이러한 관계는 프로세스 및 오토메타의 조건으로부터 (1.1)을 보장하는 언어 준동형을 발생하는데 사용된다. 이러한 이중성 관계는 또한 분해(1.2)에 대한 체제를 제공한다.
첫째로, 어떻게 언어 준동형이 감소 또는 정세 (1.1)를 발생하는데 사용될수 있는가를 관찰한다. A 가 L-프로세스이고, T 가 L-오토메타이며, A′ 가 L-프로세스이고 T′ 가 L′-오토메타라 가정하자. 하기식을 보장하는 그들 각각의 언어의 조건을 구한다.
(7.0.2) £(A′)⊂£(T′)⇒£(A)⊂£(T)
실제로 언어 준동형 (7.0.1)이 하기식을 만족한다고 가정하자.
(7.0.3) Φ£(A)⊂£(A′)
(7.0.4) Φ-1£(T′)⊂£(T)
만일 £(A′)⊂£(T′)이면, 소정의 ≠∈£(A)에 대하여 Φ(X)∈£(A′)이 된다. 그래서, ≠∈Φ-1Φ(≠)⊂Φ-1£(A′)⊂Φ-1£(T′)⊂£(T) 및 (7.0.2)이 주어진다.
(7.1) 지지 (Support)
이후에, 주어진 모든 부울대수가 종결된다고 가정된다. (예를들어 무한 프로덕트 및 합계가 존재한다[Ha 74]).
Φ: L′ → L 이 부울대수의 준동형이라 가정하자. 각각의 X∈L 에 대하여, L′ 이 종결되기 때문에(xΦ∈L′)
xΦ= ∏{y∈L′/x≤Φ(y)}를 규정한다.
Φ(x)=xΦ의해 규정된 매프,
Φ: L → L′는
Φ 의 지지로 된다고 한다.
(7.1.1) 정리 : 모든 X∈L, y∈L′, X≤ ψ(yψ), ψ(yψ)≤y 에 대하여, 증명 : 이는 스톤 표시 이론 [Ha 74 참조]으로 부터 주어지는데, 즉 x∈L 에 대하여 ψ(xψ)=∏{ψ(y)/y∈L′, x≤ψ(y)}≥x, y∈L′ 에 대하여 ψ(y)ψ=∏{y′∈L′/ψ(y)≤ψ(y′)}≤ y 이 된다.
(7.1.2) 레마 : 만일 xψ=0 이면 xψ= 0 가 된다.
증명 : xψ=ψ(0)(=0)이므로 0ψ=∏{y∈L′/0≤ψ(y))≤0 된다. 반대로 만일 xψ=0이면 (7.1.1)에 의해 x≤ψ(xψ)ψ(0)=0 이 된다.
(7.1.3) 정리 : x∈S(L)⇒xψ∈S(L′)
증명 : Xψ=y+z 라 하자. 그러면 (7.1.1)에 의해, X≤ ψ(xψ)=y+z 이 된다. X∈S(L)이기 때문에 이는 x≤ψ(y) 가정된다. 하지만 xψ의 정의로부터 y+z=xψ≤y이 되고, 그래서 z≤y 가 된다.
(7.1.2)에 의해 xψ≠0 이 되며 xψ∈S(L′)을 따른다.
(7 1.4) 정리 :
Figure kpo00114
(x+x′)=
Figure kpo00115
(x)=
Figure kpo00116
(x′)(모든 x, x′∈L 대하여) 증명 : x≤ψ(xψ) 및 x′≤ ψ(x′ψ)이기 때문에 x+x′≤ψ(xψ)+ψ(xψ′)=ψ(xψ+xψ′)이 되며, 그래서 정의
Figure kpo00117
에 의해, (x+x′)ψ≤xψ+x′ψ가 된다. 반대로 (7.1.1)에 의해, x≤x+x′≤ψ(x+x′)ψ가 된다. 그래서 정의 ψ 에 의해 xψ≤(x+x′)ψ 가 된다. 유사하게, xψ′≤(x+x′)ψ이 되고, 그래서 xψ+xψ′≤(x+x′)ψ이 된다.
(7.1.5) 추론 : x≤x′⇒xψ≤xψ′
증명 : z=x′*^x 세트한다. 그러면 (7.1.4)에 의해 xψ≤xψ+zψ=(x+z)ψ=xψ′ 이 된다.
(7.1.6) 이론 : 하기 주어진다.
1. ψ 는 1-1(즉, ker ψ=0);
2.
Figure kpo00118
는 온투된다;
2a.
Figure kpo00119
=S(L)→S(L′)는 온투된다;
3.
Figure kpo00120
·ψ=id(즉, ψ(y)ψ=y)(모든 y∈L′ 에 대하여)
4. 1ψ= 1
증명 :
1⇒3: z=ψ(y)ψ, z′=y*∼z. 라 하자. 그러면 x*x′=0 그래서 ket ψ=0 이기 때문에, ψ(z)*(z′)=0 이 된다. (7.1.1)에 의해 ψ(y)≤ψ(ψ(y)ψ)=ψ(z)이 되며, 그래서 ψ(z)+ψ(z′)=ψ(z+z′)=ψ(y+z)=ψ(y)+ψ(z)=ψ(z)되고 그래서 ψ(z′)=0이 된다. ker ψ=0 이기 때문에 z′=0 이 되며, 그래서 y≤z=ψ(y)ψ이 된다. 하지만 (7.1.1)에 의해 ψ(y)ψ≤y 이 되며, 그래서 ψ(y)ψ=y이 된다. 3⇒2a : (7.1.3)에 의해
Figure kpo00121
S(L)CS(L′)이 되며 ; 3⇒
Figure kpo00122
는 온투된다.
2a⇒2 : L′=B[ (L′)].
2⇒1 : 만일 ψ(y)=0이 되면, 그에 의해 소정의 x∈L(xψ=y)에 대하여 ψ(xψ)=0이 된다. 그리고x≤ψ(xψ)=0이 되며, 그래서 x=0 이 된다. 따라서 (7.1.2)에 의해 y=0 가 된다. 4⇔2a : 만일 1ψ=1 이면 (7.1.3) 및 (7.1.4)에 의해
Figure kpo00123
그래서 2a 는 만일 2a 이 참이면
1=∑s′=∑sψ=(∑s)ψ=1ψ이 되는 것을 취한다.
(7.1.7) 추론 : 모든 y∈L′ 에 대하여,
Figure kpo00124
만일 ψ 가 1-1 이면, 동일성은 2 개의 합계간에 유지된다.
증명 : 만일 xψ≤y 이면 x≤ψ(zψ)≤ψ(y)이 되어
Figure kpo00125
이 된다. 한편, (7.1.1)에 의해, ψ(y)를 서맨드(summands) x 중의 하나로 대치하는 ψ(y)ψ ≤y는
Figure kpo00126
를 제공하며, 따라 (*)는 유지한다. 만일 ψ 는 1-1 일 경우, (7.1.6)에 의해 ψ 는 온투된다. xψ<y 되도록 각각의 x∈L1 에 대하여, z=y*∼xψ라 하자.
Figure kpo00127
가 온투이기 때문에, xψ′=z 되도록 소정의 x′∈L 이 주어진다. 그러면, (7.1.4)에 의해 (x+x′)ψ=xψ+xψ′=y 가 된다. 이는 (*)가 동일하다는 것을 따른다.
이러한 섹션의 주결과에서, (7.1.3), (7.1.4) 및 (7.1.7)의 조건이 준동형 ψ을 특징으로 한다는 것이 도시된다. 이는
Figure kpo00128
로부터 ψ 를 규정할 수 있게 한다.
만일 모든 x, y∈L 에 대하여 f(x+y)=f(x)+f(y)(제각기 x≤y⇒f(x)≤f(y)인)일 경우, 임의의 기능 f : L → L′ 은 부가적으로 선형(제각기 모노톤)이라 한다. 만일 f 가 부가적으로 선형일 경우, (7.1.5)의 증명에서와 같이 f 는 모노톤(monotone) 이다.
(7.1.8) 이론 : 만일 f : L → L′ 가 부가적으로 선형이고 f : (L) → (L′)일 경우,
Figure kpo00129
에 의해 규정된 매프 ψ : L′→ L 은, 준동형이며 모든 O≠x∈L′ 에 대하여, xψ=f(x)가 된다.
이러한 이론은 섹션 7 의 서두에 기술된 펑터(functor) 를 제시한다. 그의 중요성은 (7.0.3) 및 (7.0.4)를 만족하는 언어 준동형을 규정하는데 필요한 부울대수 준동형을 발생하기 위하여 아톰 S(L) 세트상의 그들 지지를 규명하는데 충분하다는 것을 보이는 사실에 있다.
(7.1.9) 주해 : f : S(L) →S(L′)의 요구없이, f 가 부가적으로 선형이며 또한 매프
Figure kpo00130
가 부가적으로 선형이라는 것이 아니라는 것(따라서 준동형이 아니라는 것)을 나타낸다. 실제로, L = B[x, y], L′= B[z]라 하고 f(x*y)=z, f(x*∼y)=∼z, f(∼z*y)=f(∼x*∼y)=1에 의해 f : L → L′를 규정하며, f(x)=0 를 가지고 선형성에 의해 이를 L 까지 연장한다. 그러면 f 는 구성에 의해 부가적으로 선형이지만 ψ(1)=1 인 반면, ψ(z)+ψ(∼z)=x*y+x*∼y-x<1 이 된다. 2.(7.1.8)에서 만일 |fs(L)1|=1 이면, (예를들어 만일 f 가 L 의 단일 아톰으로 S(L)을 매프할 경우), 홈 ψ은,
Figure kpo00131
그러나 이는 f(0)=f(1)>>0로 될 수 있다. 한편 만일 |fs(L)|>1이면, s,t∈S(L) 및 f(s)≠f(t)이라 하고 그후 f(0)+f(s)=f(0+s)=f(s)로 되어 f(0)≤f(1)되며 유사하게 f(0)≤f(t)되어, f(0)=0된다. (이는 f(s)*f(t)=0 때문이다).
(7.1.10) 레마 : f(x*x′)≤f(x)*f(x′)
증명 : x*x≤x 및 x*x′≤x′ 이기 때문에 f 의 가산도에 의해 f 는 모토톤이 되고, 그런고로 f(x*x′)≤f(x), 1(x*x′)≤f(x′)로 되어 f(x*x′)≤f(x)*f(x′)
(7.1.11) 주해 : x≤
Figure kpo00132
(7.1.12) 레마 : fψ(y)≤y, ψf(x)≥x
증명 :
Figure kpo00133
증명 (7.1.8) : y1, y2∈L′ 라 하자. 그러면 (7, 1, 12)에 의해 f( ψ(y1)+ψ(y2))=fψ(y1)+fψ (y2)≤y1+y2이 되고 그래서 (7.1.11)에 의해
Figure kpo00134
이 된다.
만일 ψ(y1)+ψ(y2)<ψ(y1+y2)일 경우, t<ψ(y1+y2)*∼(ψ(y1)+ψ(y2)) 및 f(t)∈S(L′)을 가진 아톰 t∈S(L)이 존재한다. 그러나 (7.1.12)에 의해 그래서 f(t)≤fψ(y1+y2)≤y1+y2의 모노토니시티(monotonicity)에 의해 fψ(y1+y2)≤yl+y2가 된다. f(t)가 아톰이기 때문에 f(t)≤y1이 가정될 수 있다. 그러나 ψ(y1)의 정의에 의해 t≤ ψ(y1) 즉 모순이 있게 된다. 그런고로 ψ는 부가적으로 선형이 된다. ψ가 증가적으로 선형임을 보이기 위하여, (7.1.10)에 의해 만일 f(x)≤y1및 f(x′)≤y2이면 f(x*x′)≤f(x)*f(x′)≤y1*y2이 되는 반면, f(x)≤y1*y2일 경우 x=x*x 이고 f(x)≤y1일 경우, f(x)≤y2된다. 그런고로,
Figure kpo00135
다음 1=f(1)+∼f(1)이 되며, (7.1.12)에 의해 ψ(1)=ψf(1)+ψ(∼f(1))≥1+ψ(∼f(1))=1가 된다. 그리하여, f:S(L)→S(L′)되어 f 의 선형 가산도에 의해 f(x)=0⇒x=0 이 되고, 그래서 ψ(∼y)*ψ(y)=ψ(∼y*y)=ψ(0)=
Figure kpo00136
이 된다. 따라서 ψ(∼y)+ψ(y)이 된다. 또한 1=ψ(1)=ψ(∼x+x)=ψ(∼y)←ψ(y)이 된다. 그런고로 ∼ψ(y)=∼ψ(y)*ψ(∼y)=ψ(∼y)이 된다. 이는 ψ 가 준동형을 따른다. 끝으로, 모든 x←L 에 대하여,
x = π{y∈L′|x≤ψ(y)}
= π{y∈L′|x≤
Figure kpo00137
}
= f(x)((7.1.11)에 의해)이 된다.
한편, 만일 f(x)=0일 경우, (7.1.12)에 의해 0=ψf(x)≥x로 되어 x=0 및 0ψ=0=f(0) 된다. 만일 f(x)≠0일 경우 x=∑Si이 되고, 여기에서 Si∈S(L)이 된다. 그러면 모든 i에 대하여 f(x)=∑f(Si) 및 f(Si)∈S(L′)이 된다. 소정의 아톰 t≤f(x)에 대하여, s≤x 및 f(s)=t인 아톰 s가 존재한다. f(x)=xψ을 보이기 위해 t≤xψ보이는데 충분하다. 실제로 만일 x≤
Figure kpo00138
일 경우 t=f(s)≤f(x)≤
Figure kpo00139
f(z)로 되어, 소정의 z에 대하여 t≤f(z)≤y이 된다. 따라서, 1≤x1되고 이는 f(x)≤x1되어, f(x)=x1을 따른다.
(7.1.13) 레마 :
Figure kpo00140
증명 : X∈L이라 하자. 그러면 (7.1.7)에 의해 1(X1)≥
Figure kpo00141
이 된다. 따라서
Figure kpo00142
가 된다. 그러나, (7.1.1)에 의해
Figure kpo00143
가 된다. 그러므로
Figure kpo00144
상의
Figure kpo00145
이다. 그리고 (7.1.6)에 의해 ker ψ∩
Figure kpo00146
={0}이 된다. 만일 y∈L 및 1(y)≠0일 경우 소정의 아톰 s∈S(L)에 대하여 s≤ψ(y)가 되며, 이 경우(7.1.1)에의 sψ≤ψ(y)ψ≤y가 되어 (7.1.3)에 의해
Figure kpo00147
Figure kpo00148
이 된다.
(7.1.14) 레마 : 만일 S(L)의
Figure kpo00149
일 경우, (7.1.4) 및 (7.1.2)에 의해
Figure kpo00150
이 되고 (7.1.13)에 의해 ker ψ=kerψ이 된다. 그러므로
Figure kpo00151
는 0 커널(kernal)을 가지게 되어 (7.1.6)에 의하여, 소정의
Figure kpo00152
에 대하여
Figure kpo00153
Figure kpo00154
및 ψ는
Figure kpo00155
의 1-1 이다. 그러므로
Figure kpo00156
이다.
(7.1.13)에 의해
Figure kpo00157
이기 때문에, 이는 ψ=ψ을 따른다.
(7.1.15) 추론 : σ : S(L) - S(L′)가 임의의 매프라 하자. 모든 S∈S(L)에 대하여, Sψ= σ(S)되도록 유일한 준동형 ψ : L′→ L 을 존재한다.
증명 : L 에 대하여 선형으로 σ을 확장함으로써 f : L → L′ 규명하고 f(0)=0를 세트하며 0≠X∈L에 대하여, Si∈S(L)에 대한 X=∑Si을 서입하고 f(X)∑f(Si)를 세트한다. 그 결과는 (7.1.8) 및 (7.1.14)로부터 주어진다.
(7.1.16) 추론 : 1 : L′→ L 이 부울대수 준동형이라 하자. 그러면 지지
Figure kpo00158
를 가진 유일한 언어 준동형
Figure kpo00159
가 있다.
L1....Lk가 L = πLi를 가진 L의 독립적인 보조 대수(subalgebras)이며, L′1....‥L′k는 L′= πLi를 가진 L′의 독립적인 보조대수이다는 것을 가정하자. 만일 σi: S(Li) -′S(L′i) 가 1≤i≤k에 대한 임의의 매프일 경우, σ(S1*‥‥*Sk)=σ1(S1)*‥‥*σk(Sk)에 의해 σ : S(L) → S(L′)을 규명하며, 그러한 경우 (7.1.15)에 의해 S(L)상의
Figure kpo00160
=σ을 가진 유일한 1 : L′→ L 이 존재한다. 반대로 만일 1i=L′i→ Li가 임의의 준동형일 경우,
Figure kpo00161
I: S(L) →S(Li)이며, (7.1.15)에 의해 ψ(S1*‥‥*Sk)=
Figure kpo00162
1(S1)*‥‥
Figure kpo00163
k(Sk)를 가진 유일한 준동형 ψ : L′→ L 이 있게된다. 따라서 프로덕트 준동형 π ψi= ψ : L′→ L을 규명한다. 구성원상의 준동형에 의해 L-오토메타 또는 L-프로세스의 프로덕트의 준동형을 다음 섹션에서 규정케 할 프로덕트이다. 7.2 L-오토메타 준동형
Γ이 L-오토메타라 하고 Γ′가 L′-오토메타라 하자. 준동형,
Φ : Γ→ Γ′는
한쌍의 매프 Φ = ( 1 , 1′)이다. 여기서
ψ :
Figure kpo00164
하기를 만족하는 그래프 준동형이다. 즉
(7.2.1) 1-1I(Γ′)⊂I(Γ)
(7.2.2) 1-1R(Γ′)⊂R(Γ)
(7.2.3) C′∈Z(Γ′) ⇒ 1-1(C′)⊂(C)
그리고,
ψ′: L′→L는
각각의 (v, w)∈v(Γ)2에 대하여, ψ 및 ψ ′가 하기식을 만족하도록 부울대수 준동형이다 . 즉
(7.2.4) Γ(v, w) ≤ ψ′Γ′( ψ(v), ψ(w))
만일(7.2.1-3)내의 내용물은 동일하고 그리고 Z(Γ′) = Φ(C) ψ| C∈Z(Γ))일 경우, Φ는 정확하다고 한다. ψ 및 Φ′는 Φ로 표기된다.
(7.2.5) 이론 : 만일 Φ : Γ → Γ′이 준동형일 경우, Γ′이 결정적일때 보유하는 동일성을 가지고,
Figure kpo00165
Γ(r.s)<ΦΓ′(Φ(v),Φ(w))이 된다.
증명 : 비동일성은 분명하다. ∑Γ(r.s)<ΦΓ′(Φ(v),Φ(w))라 가정하자. 그러면 소정의 아톰 t<ΦΓ′(Φ(v),Φ(w))은 t*∑Γ(r,s)=0을 만족한다. Φ(r0) = Φ(v), Φ(s0) = Φ(w)라 하자. 그러면 t*Γ(r0,s0) = 0이 되어, 소정의
Figure kpo00166
에 대하여 t*Γ(
Figure kpo00167
)≠0 및 Φ(
Figure kpo00168
) = Φ(w)이 된다. 따라서 t*ΦΓ′(Φ(
Figure kpo00169
))≠0이 된다. 그런고로, Γ′이 결정적이라는 가정과 반대로
σ≠(ΦΓ′(Φ(v),Φ(w)))*(ΦΓ′(Φ(v),Φ(
Figure kpo00170
)))=Φ(Γ′(Φ(v),Φ(w))*Γ′(Φ(v),Φ(
Figure kpo00171
)))이 된다.
(7.2.6) 정리 : 만일 Φ=(ψ , ψ′) 및 Ψ=( ψ , ψ′)가 준동형 Φ:Γ → Γ′ 및 Ψ:Γ′ → Γ“일 경우, Ψ
Figure kpo00172
Φ≡(ψ
Figure kpo00173
ψ , ψ′
Figure kpo00174
ψ′)는 준동형 Γ → Γ″이 된다. 만일 Φ 및 Ψ가 정확할 경우, Ψ
Figure kpo00175
Φ이 된다.
(7.2.7) 레마 : Φ : Γ → Γ′가 준동형이라 하자. 만일 Γ′가 결정적일 경우, Φ:E(Γ) → E(Γ′)는 온투된다.
증명 : v∈(T′)라 하자. 그러면 v0∈I(Γ′) 및 vn=v를 가진 Γ′내의 경로(v0,....,vn)이 있게 된다. Φ가 온투인 증명은 n 의 유도에 따라 주어진다. 만일 n = 0 일 경우 Φ의 정의에 의해 v0∈v(Γ)가 된다. 만일 vo,...,vn-1∈Φv(Γ)일 경우,
Figure kpo00176
∈Φ-1(Vn-1) 및 w1,...,wm가 정확히 Γ(
Figure kpo00177
,wi)≠0을 만족하는 Γ의 상태라 하자. 그러면
Figure kpo00178
Γ(
Figure kpo00179
,wi)=1이 되고 Φ
Figure kpo00180
Γ′(vn-1,Φ(wi))=∑ΦΓ′(vn-1,Φ(wi))≥ ∑Γ(
Figure kpo00181
, wi)=1이 되어 ∑Γ′(vn-1,Φ(wi))=1이 된다. Γ ′가 결정적이고 Γ′(vn-1,vn)≠0이기 때문에, 소정의 i 에 대하여 vn=Φ(wi)이 되어, 유도단계를 종결하게 된다. 따라서 동일한 증명으로는 온투내에 Φ:E(Γ)→E(Γ′)이 된다는 것이다.
L 이 L-오토메타라 하고, Γ′가 L′-오토메타라 하며 Φ :Γ→Γ′가 정확한 준동형이라 하자. L′-오토메타Φ(Γ), Φ, 하의 Γ의 영상은 아래와 같은 S(L′)항으로 규명된다. 즉
V(Φ(Γ))=Φ(v(Γ))
Figure kpo00182
(여기서 Φ는 부울대수 준동형 Φ : L′→ L의 지지이다).
I( Φ(Γ))=Φ I(Γ),
R(Φ(Γ))=ΦR(Γ),
Z(Φ(Γ))=ΦZ(Γ)
(여기서 ΦZ(Γ)={Φ(C) | C∈Z(Γ)}이다).
(7.2.8) 레마 : Φ(Γ)은 L′-오토메타이고 Φ : Γ →Φ(Γ)는 E(Γ) → E(ΦΓ)를 온투되게 매프한다.
증명 : Φ(Γ)이 종결되는 것을 체크하여야만 한다. 소정의 및 v∈V(Γ),t∈S(L′) 및
Figure kpo00183
에 대하여 가정하자. 그러면 (7.2.4)에 의해 0=Φ(t)*
Figure kpo00184
이 되며 Γ가 종결되는 사실을 부정한다. Φ:E(Γ)→E(ΦΓ)가 온투임을 검사하기 위해, e∈E(ΦΓ)을 가정하고 t*(ΦΓ)(e)≠0이 되도록 t 를 L′ 의 아톰이라 하자. 그러면 (Φv,Φw)=e를 가진 v,w∈V(T)에 대하여, Γ(v,w)*ψ(t)≠0이 되어, (v,w)∈E(T)을 증명한다.
주해 : ΦΓ이 결정적이지 않는다면 Γ가 결정적이 되게 하는 것이 가능하고, 마찬가지 Γ가 결정적이 아니라면 ΦΓ에 대하여도 결정적이 되게 하는 것이 가능하다.
(7.2.9) 추론 : 만일 Φ :Γ → Γ′ 및 Γ′가 결정적일 경우, Φ(Γ) = Γ′이 된다.
증명 : t 가 t*Γ′(Φ(v),Φ(w)≠0을 만족하는 아톰이라 하자. 그러면 소정의 u∈V(T)에 대하여 Γ(v,u)*Φ(t)≠0이 된다. 그리고 0≠Γ(v,u)*Φ(t)≤Φ(ΦΓ)(Φv,Φu)*Φ(t)이 되어, 0≠(ΦΓ)(Φv, Φu)*t가 된다. Γ′의 결정에 의해, Φu=Φw이 된다. 따라서 Φ(Γ)(Φ(v),Φ(w)=Γ′Φ(v),Φ(w))이 된다. 그 결론은 하기 주어진다.
만일 Φ:Γ → Γ′L′-오토메타에 대한 L-오토메타의 준동형일 경우, 부울대수 준동형 Φ:L′→ L의 지지
Figure kpo00185
는 Φ를 호출하는데 자연스러운 언어 준동형 (7.0.1)을 유도한다.
(7.2.10) 이론 : 만일 Γ이 L-오토메타이고, Γ′가 L′-오토메타이며 Φ:Γ → Γ′가 준동형일 경우, Φ-1£(Γ′)(£(Γ)로 되어 동일성은 Φ가 정확할 경우 보유한다.
증명 : c′=(w′, x′)Γ′의 체인이라하고 Φ-1(c′)={c=(w, x | Φ(c)=c′)라 하되, 여기서 Φ(c)=((Φ(vi))i, (
Figure kpo00186
(xi))i)라 하자. (7.1.3) 및 (7.2.1-4)에 의해, 이는 Φ-1(c′)⊂
Figure kpo00187
(Γ)을 취한다. 소정의 V에 대하여 , 만일 (x,v)∈
Figure kpo00188
(Γ)경우, x∈£(Γ)이 된다. 그래서 Φ-1£(Γ′)⊂£(Γ)이 된다. 만일 Φ가 정확할 경우, Φ
Figure kpo00189
(Γ)⊂
Figure kpo00190
(Γ′)이 되고 따라서 Φ
Figure kpo00191
(Γ)=
Figure kpo00192
(Γ′)이 되어 £(Γ)=Φ-1£(f′)이 된다.
(7.2.11) 추론 : 만일 Φ:Γ →Γ′가 준동형일 경우, £(Γ′)⊂Φ
Figure kpo00193
(Γ)이 된다. 만일 Φ가 정확할 경우, £(Γ′)=Φ£(Γ)이 된다.
Λ, Γ가 L-오토메타이고 Λ′,Γ′가 L′-오토메타라 하자. 준동형 Φ:Λ →Λ′ 및 Ψ:Γ → Γ는 그들이 L′상에서 일치, 즉 Φ=Ψ:L′→ L할 경우, 상호 선형(co-linear)이라 한다.
(7.2.12) 추론 : Φ:Λ → Λ′ 및 Ψ : Γ→ Γ′가 상호 선형의 준동형이라 하자. 그러면
1. 만일 Φ이 정확할 경우, £(Λ′)⊂£(Γ′)⇒£(Λ)⊂£(Γ)가 된다.
2. 만일 Φ이 정확할 경우, £(Λ)⊂£(Γ)⇒£(Λ′)⊂£(Γ′)가 된다.
증명, 만일 Φ가 정확할 경우 그리고 £(Λ′)⊂£(Γ′)할 경우, £(Λ)=Φ-1£(Λ′)⊂Φ-1£(Γ)=Φ-1£(Γ′)⊂£(Γ)이 된다. 만일 Φ가 정확할 경우, 그리고 £(A)⊂£(Γ)할 경우 Φ-1£(Λ′)⊂£(Λ)⊂£(Γ)로 되어 £(Λ′)⊂Φ£(Γ)=Ψ£(Γ)=£(Γ′)이 된다.
7.3 L-프로세스 준동형
프로세스 준동형은 오토메타 준동형에 대하여 매우 아나로그적으로 규정되며, 아나로그적 결과를 산출한다. 그러나, 채택의 차이(오토메타에 대한 주기적이고 반복적인 조건은 프로세스에 대한 각각의 조건 (4.3-4)의 부정)와, 프로세스의 선택 이유때문에, 상세를 명확히 하는 것이 필요하다.
Γ가 L-프로세스라 하고 Γ′가 L′-프로세스라 하자. 준동형 Φ:Γ → Γ′는, 오토메타 준동형에서와 같이 한쌍의 매프 Φ=(ψ , ψ′)이며, (7.2.1-4)를 만족한다. 여기에서 동일 용어법(terminology) 및 기수법(notational convention)을 채택한다.
A 가 룩업프리 L-프로세스라 하고, A′ 는 L-프로세스, Φ:A → A′는 준동형이라 하자. 이는 (4.2), (7.1.13) 및 준동형 조건으로부터,
Figure kpo00194
(x)≤x′되도록 각각의 x∈SA(v)에 대하여 x′∈SA′(Φv)가 존재하는 것을 취한다. 따라서 만일 A1,...,Ak
Figure kpo00195
i에 대하여 L = B[S(A)]를 가진 동종의 독립적이고 룩업프리 L-프로세스일 경우, 섹션(7.1)을 고려하여 A 의 준동형은 A1,...,Ak의 선택의 매프에 의해 독특하게 규명된다. 따라서 A 의 준동형은 A1,...,Ak의 준동형에 결정된다.
쉽게 검사될 수 있는 것으로는, (7.2.5-9)에 대한 대응 결과는 아나로그적으로 L-프로세스에 대하여 보유하며, 아래 주어진다.
이론 : 만일 A가 L-프로세스이고, A′는 L′-프로세스이며, Φ:A → A′가 준동형일 경우, Φ£(A)⊂£(A′)되며, 동일성은 만일 Φ가 정확할 경우 보유한다.
이론 : 만일 A 가 L-프로세스이고, T 는 L-오토메타이며, A′ 는 L′-프로세스이고 T′ 는 L′-오토메타이며,
Φ : A → A′,
Ψ : T → T′가
상호 선형인 준동형이라 가정하자. 그러면,
1. £(A′)⊂£(T′) ⇒£(A)⊂£(T):
2. 만일 Φ 및 Ψ가 정확할 경우,
£(A)⊂£(T) ⇒£(A′)⊂£(T′)이 된다.
8. 종결
준동형은 감소 및 정세에 대한 도구로 되게 도시되어 있다. 준동형이 구성원의 준동형을 통하여 커다란 공간(함축적으로)상에서 어떻게 규명될 수 있는가가 도시되어 있다. 소프트웨어 및 하드웨어 시스템의 발전에 있어서, 추론적인 고레벨 디자인으로 시작하며, 이러한 증명의 복잡성에 대처하기 위한 감소를 사용하여 형식적으로 다양한 태스크의 수행에 대한 디자인을 증명한다. 다음, 보다 상세한것을 부가하여, 이러한 디자인을 재규명한다. 이러한 보다 상세한 디자인이 원래 디자인의 정세이며, 그런고로 자신의 수행이 고레벨 디자인에 대하여 증명되는 모든 태스크가 상기 보다 상세한 디자인에 의해 수행됨을 보장한다는 것이 증명된다. 이는 고레벨 디자인에 의해 수행된 모든 태스크에 관련하여(보다 상세한 디자인에 대하여 물러난), 고레벨 디자인이 보다 상세한 디자인의 감소라는 것을 증명하는 것에 대응하게 된다. 보다 상세한 디자인은 고레벨에서 규명 가능하지 않은 태스크의 수행에 대하여 증명된다.
이러한 단계식 정세와 증명은 최종 수행의 모든 상세가 모델에 대하여 부가되었을때까지 연속한다.
성공적인 이러한 방법론은 커다란 시스템 전개 [NK 90 참조]에 대하여 그들의 응용함으로써 측정될 수 있는데, 여기에서 전개 시간내에 보존된 크기의 차수는 그러한 통과 시스템이 제로에러를 가지고(종래의 전개 방식으로 실제 알려지지 않은) 제1 시도상에서 테스트되는 수행의 산출과 함께 증명되었다.
[참조문헌]
[RS 59] M. O. Rabin, D. Scott 에 의한 명칭, “유한 오토메타 및 그들 결정문제”. IBM 사의 J. Res. 및 Dev. 3(1959 년, 114-125 면 (재프린트 [Mo 64] 63-91.)[Ts 59] M. L. Tsetlin 에 의한 명칭, “비-구식회로” (러시아에서) Problemy Kibernetiki 2 (1959 년).
[Bu 62] J. R. Buchi 에 의한 명칭, “제한된 2 차 산술의 결정 방법” Proc. Internal. Cong. on Logic, Methodol. and Philos. of Sci., 1960 년 1-11 면 (스탠드포드 대학 잡지. 1962 년).
[Ra 69] M. O. Rabin 에 의한 명칭 “유한트리의 오토메타 및 2 차 이론의 결정론”. Trans. Amer. Math. Soc. 141 호 (1969 년) 1-35 면.
[Ra 72] M. O. Rabin 에 의한. “교회의 문제 및 유한 목적의 오토메타”, Amer. Math. Soc., 1972 년.
[Ch 74] Y. Choueka 에 의한 명칭, “ -테이프의 오토메타 이론: 간단화된 시도”, J.Comput. Syst. Sci. 8 호 (1974 년), 117-141 면.
[Ha 74] P. Halmos 에 의한 “부울대수의 강연”, Springer-Verlag. 뉴욕, 1974년.
[GK 80] B. Gopinath. R. P. Kurshan 에 의한 명칭, “등위 동시 프로세스의 선택/해석”, AT&T 사의 사내 리포트.
[AKS 83] S. ,Aggarwal, R. P. Kurshan, K. K. Sabnani 에 의한 명칭, “유효 및 프로토콜 명세용 계산법” 프로토콜 명세, 테스팅 및 증명 III호 (북 흘랜드) 1983년 19-34 면.
[DC 85] D. L. Dill, E. M. Clarke 에 대한 명칭 “일시 논리 회로를 사용한 비동기 회로의 자동 증명”, Proc. Chapel Hill Conf. VLST. Computer Sci. Press (1985년) 127-143 면.
[Ku 85] R. P. Kurshan 에 의한 명칭 , “동시 프로세스 모델링” Proc. Symp. Applied Math. 3 호(1985 년) 45-57 면.
[SVW 85] A. P. Sistla, M. Y. Vardi, P. Wolper 에 의한 명칭, “일시 논리 회로에 대한 응용의 부치 오토메타용 보충 문제점”이라는 주제의 제 12 차 국제 오토메타, 언어 및 프로그래밍 강연회, Lect. Notes Comp. Sci., 1985 년. Springer-Verlag.
[WA 85] W. W. Wadge, E. A. Ashcroft 에 의한 명칭 “루시디, 데이타 흐름 프로그래밍 언어”, 아카데미 잡지, 1985 년
[KK 56] J. Katzenelson 및 R. P. Kurshan 에 의한 명칭, “S/R : 프로토콜 및 다른 등위 프로세스를 구체화하기 위한 언어”, Proc. 제5 차 Arm. Int′l Phoenix Conf. Comput. Commun., IEEE 잡지, 1986 년, 286-292 면.
[BC 87] M. C. Brown. E. M. Clarke 에 의한 명칭, “SML-유한 상태 장치의 증명 및 디자인에 대한 고레벨 언어”, 보장된 보정회로 디자인에 대한 HDL 설명으로부터 (D. Borrione. ed.) 북 홀랜드(1987 년), 269-292 면.
[GK 87] I. Gertner, R. P. Kurshan “디지탈 회로의 논리적 해석”, 제8 차 국제회의, 컴퓨터 하드웨어 설명 언어, 1987 년 47-67 면.
[Ku 87] R. P. Kurshan 에 의한 “등위 분석의 감소성”명칭으로 LNCIS 103 호(1987 년) Springer Verlag, 19-39 면.
[Ku 87a] R. P. Kurshan 에 의한 명칭, “다항식 시간의 결정론적 부치 오토메타 보충”. J. Comput. Syst. Sci. 35 호 (1987 년) 59-71 면.
[RW 87] P. J. Ramadge, W. M. Wonham 에 의한 명칭, “불연속 이벤트 프로세스 등급의 감독제어”, STAM J. Contr. Opt. 25 호(1987 년) 206-230 면.
[Sa 88] S. Safra 에 의한 명칭, “ -오토메타의 복잡성”, 29 차 FOCS(1988 년) 319-327 면.
[Ba 89] J. Barwise 에 의한 명칭, “컴퓨터 시스템 보정의 수학적 증명”, Notices AMS 36 호(1989 년) 884-851 면.
[KM 89] R. P. Kurshan, K McMillan 에 의한 명칭 “프로세스용 구조적 유도이론”, 제 8 차 ACM 심포지움 PODC (1989 호) 239-247 면.
[KM 90] R. P. Kurshan. K. McMillan 에 의한 명칭 , “기호 감소를 통한 디지털 회로의 분석”, IEEE 잡지, CAD/ICS.
[HK 90] Z. Har’El, R. P. Kurshan 에 의한 명칭, “통신 프로토콜의 분석전개용 소프트웨어”, AT&T 사 잡지.
[부록 E]
[요약]
O. S/R모델.
1. 그래프 발생기 : 이 섹션은 다음 상태를 크랭크하기 위한 방법을 설명하며 선택 및 해석을 위한 주행기록계를 포함한다. 여기에서 설명되어야만 하는 것은 어떻게 그들이 해석되며, 어떻게 소정 해석이 시스템의 적절한 실시간 운전상태를 보장하는 것이 방지될 수 있는가이다(즉 “평균화”. 이는 “크랭크 카운터 ” 1 및 2를 사용하여 행하여 진다).
2. 서치 : 이 섹션에서, 도달된 상태 경계 스택 및 선조(ancestor)스택은 그들 수행과 마찬가지로 설명된다. 이는 만일 DFS 를 가진 S/R 장치가 사이클 안지에 대해 필요할 경우 고유의 BFS 특성의 조합을 나타낸다.
3. 수락 테스트 : 이 섹션은 어떻게 단일 사이클 수락이 타잔의 접속 구성원 알고리즘에 의해 대치되되, DFS 의 동일 백트랙 장치상에 첨가된 필수적 로우 링크(low link) 계산이라는 것이 설명된다. 시세트(Cysets)는 여기에 설명된다. 제2 수락장치, 반복에지가 설명되고, 또한 이를 실제적으로 큐로 만드는 스택의 저부에서 ′반복 꼭지점′을 푸싱하는 장치가 설명된다. 순환 큐로써 이를 수행하기 위한 이유가 설명된다(?).
4. 전이 체크 : 이 섹션은 록업(lockups), 비결정론, 데드록 (dead lock) 및 안정성 실패를 설명한다. 이는 또한 어떻게 반결정론이 그래프 발생을 간단히 하는데 사용될 수 있는가를 설명한다.
5. 합병 및 감소
6. 시뮬레이션 : 이 섹션은 주어진 보유시간에만 작동하는 비-강성 프로토콜 또는 철저한 서치에 의해 조작되기엔 너무 큰 프로토콜을 테스트하기 위한 시뮬레이션의 사용을 설명한다. 소정 메모리 없이 또는 바이러스를 없애기 위한 목적의 최종 상태의 고정된 큐를 가지고 시뮬레이션 구동으로 테스팅한다. 스타 프리(star free)규칙 표현, 즉 불량 수열을 피하는 것에 대해 검사한다. 또한, 어떻게 시뮬레이션이 수단을 하는데 종료상태의 세트에 대한 주어진 상태간의 제 1 통과 시간으로 계산하는데 사용되는가를 설명한다.
[2.연구]
본 섹션에서는, 등위 그래프상의 서치 알고리즘이 기술된다. 이는 최초 꼭지점의 주어진 부분집합 I 으로부터 도달가능한 일반적인 유도 그래프 G*= (V′, E*)의 서브 그래프 G(V, E)로써 고찰될 수 있다. 주어진 것은 그래프 발상기, 즉 주어진 페어렌트(parent) 꼭지점의 췰드런(children)을 발생하는 과정인데, “제 1 서치의 시작”을 그러한 그래프 상에 행해지는 자연스러운 것으로 만든다. 그러나 비주기성을 검사하는 것과 같은 다양한 응용을 위하여, (V*, E*)에 대한 깊이 제 1 스패닝 포리스트(depth-first spanning forest)를 필요로 한다. 그러한 포리스트를 발견하고 깊이 제 1 카테고리 : 트리에지, 진행에지, 셀프에지, 백에지 및 크로스에지로 분류된 E*의 에지를 카운팅하기 위한 알고리즘을 기술하는 것이 바람직하다. G*는 만일 셀프에지 및 백에지가 없는 경우 비주기적이다. 따라서, 최초의 꼭지점에서 개시하고 모든 자체의 후속물을 크랭크하며 이들은 도달상태 테이블내에 기록하는 서치가 도입된다. 그러한 기록된 꼭지점이 도달되게 호출하며, 모든 후속물이 기록되어진 꼭지점은 서치되었다고 불리운다. 서치될 다음 꼭지점은 최초의 꼭지점의 후속물 중의 하나이며, 종속물을 서치하며, 가능한 깊게 깊이 제 1 양태로 연구한다. 꼭지점이 서치된 차수는 소정의 최초 꼭지점에서 루트를 가지고 깊은 제 1 포리스트를 유도한다. 만일 G 의 에지의 부분집합 P 를 제거하면, 동일 진행이 (V*, E*-P)에 대한 깊이 제 1 포리스트를 준다. 모든 에지가 제거된 극한 경우에, 포리스트는 루트의 세트내로 퇴보하며, 서치된 차수는 (V*, E*-P)의 넓은 제 1 서치를 실현한다.
상술한 바와 같이, 도달된 각각의 꼭지점은 RST 내에 기록된다. V*내의 각각 v 때문에, 포인터 v^ 를 그 기록내로 연관시키고 이름 (v^)=v는 이러한 기록내의 필드중의 오직 하나이다. 서치에 사용된 다른 필드 처음에는 엠티이며, 궁극적으로는 유도된 깊이 제 1 포리스트내의 v의 페어렌트 내에 대하여 포인터를 포함하는 페어렌트(
Figure kpo00196
)와, 동일쌍의 꼭지점간의 카운팅 에지내의 중복을 피할 수 있으며, v의 가장 최근 페어렌트에 대한 포인트를 포함하는 원조(
Figure kpo00197
)이다. RST 기록은 또한 2 개의 플래그를 포함하는데, 하나는 서치된 꼭지점에 대하여 세트되는 퍼머넌트(permanent)(
Figure kpo00198
)이고 현재의 깊이 제 1 서치 경로내에v(v)가 퍼머넌트일 경우에) 또는 그의 선조가 있을 경우 세트되는 인페트(inpath)(
Figure kpo00199
)이다. 더 많은 필드는 그들이 타잔의 접속 알고리즘에 대하여 요구됨으로써 다음 섹션에서 소개될 것이다. 끝으로 2 개의 필드는 데이타 구조자체를 유지하기 위해 요구된다(따라서 하기 알고리즘에 명백해진다): 이름(하쉬(
Figure kpo00200
))이 오픈 하슁체계(open hashing scheme)내의 v와 “충돌”하는 꼭지점이 되도록하는 RST 내의 v의 서수이며 RST 로써 필수적인 정수 인덱스(
Figure kpo00201
)는 메모리내에서 접촉할뿐아니라 일시에 대량을 할당하게 된다. 서치가 이루어지면, RST 는 어레이로써 보존되되, 모든 포인터(메모리 어드레스로써 수행되는)는 대응 인덱스로 대치된다. 보존된 RST 는 깊은 제 1 포리스트의 (V*, E*-P)와 다음 섹션에서 기술될 강한 접속도 분해를 포함한다.
서치에 사용된 제 2 데이타 구조는 경계 디큐(Boundary Deque)이다. 이는 누트(knuth)의 디큐보다 약간더 구속적인 선형 리스트이다. 이들 리스트의 한단부 상부라하고 다른 하나는 후미부라 하는데 스택(LIFO) 및 큐(FIFO) 동작을 허용한다 : 데이타는 항상 상부로부터 (억세스되고 삭제되게) 취해지지만, 스택에서는 상부에서, 큐에서는 후미부에 양자 모두 (삽입되게)놓여진다. BD 는 서치할 시간이 될때까지 포인터를 각각 서치된 꼭지점의 췰드런에 대하여 보존하도록 사용된다. 삭제된 에지의 단부 꼭지점에 대한 포인터는 후미부에 놓여지고 따라서 모든 본체가 서치될때까지 서치되지 않은 반면, 다른 하나는 상부에 삽입된다. 따라서 극한적 경우에서는 P는 엠티이고, BD 는 순수한 스택인 반면, 다른 극한 경우에서는 P =E, BD 는 순수한 큐가된다.
이제, 알고리즘 자체를 기술한다.
정의 : 그래프 발생기는 꼭지점 세트라 불리우는 유한 세트 V의 차수화된 쌍(V, C)이고 챠일드-세트(child-set) 기능이라 불리우는, V로부터 자체의 파워세트까지의 기능 C 이다. (V, C)에 의해 발생된 그래프는 G = (V, E)이며, 여기서 E는 모든 쌍(v, w)으로 구성원 V × V의 부분집합이며 , ω 는 C(v) 의 멤버이다.
정의 : G = (V, E)가 그래프이고, I 가 최초 상태라 불리우는, V의 부분집합이라 하자. 도달가능한 보조그래프 (G, I)는 그래프 G*= (V*, E*)인데, 여기서 V*는 어느 하나의 v 가 I 내에 있도록 꼭지점 v로 구성된 v의 부분집합이며 , ω가 I 내에 있도록 G 내의 유한 경로(ω....,v)가 존재하며, E*는 E를 가진 V*`× V*의 교차점이다.
알고리즘 : A
(1) bacll : = 0 (백트랙이 불필요한)
(2) I 로부터 최초 꼭지점 v 를 취한다. 만일 더이상 없을 경우, 단계(6)으로 진행.
(3) RST 내의 v 를 기록.
(4) parent(
Figure kpo00202
) : = empty, origin(
Figure kpo00203
) : empty, permanent(
Figure kpo00204
) : = 0, inpath(
Figure kpo00205
) : = 0
(5) BD 의 후미부(또는 상부)에
Figure kpo00206
를 둔다. 단계(2)로 진행.
(6) BD 의 상부로부터
Figure kpo00207
를 취한다. 만일 엠티일 경우 정지한다(서치 수행).
(7) 만일 permanent(
Figure kpo00208
) = 1 일 경우( v 가 이미 서치된), 단계(6)으로 진행.
(8) 만일 back = 0 일 경우, 단계(13)로 진행(백트랙이 없는).
(9) (서치경로를 백트랙한다). 만일 inpath(
Figure kpo00209
) = 1 이고 parent(
Figure kpo00210
) = empty 경우, toP : = parent(
Figure kpo00211
)이 된다(백트랙해야만 하는 꼭지점에 대한 상부 포인트). 그렇지 않을 경우, top: = empty(전체경로를 백트랙한다).
(10)
Figure kpo00212
: = connect(백트랙이 시작하는 꼭지점에 포인트를 접속, 즉 깊게 서치할 수 없는 포인트).
(11) inpath(
Figure kpo00213
) : = 0 (경로로부터 W 제거).
Figure kpo00214
: = parent(
Figure kpo00215
) (하나의 에지를백트랙). 만일
Figure kpo00216
= empty 경우 단계 (13)로 진행.
(12) 만일
Figure kpo00217
≠ top 일 경우, 단계(11)로 진행.
(13) (백트랙 종결) permanent(v^) : = 1. inpath(v^) : = 1 (v 를 서치 경로에 가산).
(14) connect : = v^, back : = 1 (백(back)이 궁극적으로 소거되지 않고 백트랙해야만 하는 경우 접속위치를 보존한다).
(15) 만일 parent(v^) = empty 경우 (v 가 깊이 제 1 트리 내의 루트인), # root를 증가시킨다. 그렇치 않을 경우 # tree 를 증가시키고, # forward 를 감소시킨다. (페어렌트- v 는 트리 에지이고 단계(22)내에서 진행 에지로써 카운트된)
(16) c(v)로부터 차일드 꼭지점 w 을 취한다. 만일 더이상 없을 경우, 단계(6)으로 진행.
(17) RST 내에 w 기록, 만일 이미 거기에 있을 경우, new : = 0 ; 그렇지 않으면, new : = 1 이 된다.
(18) 만일 new = 1 경우, parent(
Figure kpo00218
) : = empty, origin(
Figure kpo00219
) : = empty, permanent(
Figure kpo00220
) . = 0, inpath(
Figure kpo00221
) : = 0 이 된다.
(19) 만일 origin(
Figure kpo00222
) =
Figure kpo00223
일 경우(w가 v의 차일드로써 도달된), # ignore을 증가시키고(v→w 은 중복된다), 단계(16)로 진행하고, 그렇지 않을 경우, origin(
Figure kpo00224
) : = v^ 이 된다.
(20) 만일 permanent(
Figure kpo00225
) = 1 경우, 단계(24)로 진행.
(21) (w가 아직 서치되지 않은) 만일 v→w 가 P 내에 있을 경우, 단계(23)로 진행.
(22) (v→w 가 진행 에지 또는 트리 에지인가를 결정하기에 너무 빠르다).
Figure kpo00226
를 BD 의 상부에 삽입. parent(
Figure kpo00227
) : = v^. inpath(
Figure kpo00228
) = 1 이 된다(w가 경로내의 페어런트를 가짐). back : = 0 (v가 비서치된 차일드를 가짐으로써, 백트랙을 하지 않음). # forward 를 증가시키고 단계(16)로 진행.
(23) (v→w 는 삭제된 에지) 만일 new = 1 일 경우, BD 의 후미부에
Figure kpo00229
를 둔다(만일 w 가 새로운 것이 아닐 경우, 이미 BD 내에 있지 않게 되고 어디에 있든 개의치 않는다). # plus 를 증가시키고 단계(16)로 진행.
(24) (w 가 이미 서치된) 만일 v→w P 내에 있을 경우, # plus 를 증가시키고 단계 (16)으로 진행.
(25) 만일
Figure kpo00230
=
Figure kpo00231
일 경우(v→w는 셀프 에지이다), # self 를 증가시키고, 단계(16)으로 진행.
(26) (v→w가 백에지 또는 크로스 에지임) 만일 inpath(
Figure kpo00232
) = 1 일 경우(w가 경로내의 v의 선조임). # back 을 증가시키고, 그렇지 않을 경우 # cross 를 증가시키고 단계(16)으로 진행.
주해 : 만일 어떠한 에지 계산도 불필요할 경우 별표시된 단계 내의 카운터 #의 갱신은 생략케된다. 단계(24) 내지 (26)내의 테스트는 비주기성 검사에 대하여 요구된다. RST 필드 발생원을 가진 단계(19)에서 이 테스트는 이중 에치를 서치하는데 포함되는 여분의 시간을 부담하여 삭제될 수 있다.
이론 A : 그래프 발생기(v, c)가 주어지면, v의 최초 부분집합. V × V 의 삭제된 부분집합 P 및 알고리즘 A 는 (V*, E*)에 대한 깊은 제 1 포리스트를 산출한다.
알고리즘 A 가 깊은 제 1 서치를 실현한다는 사실은 표준이다. 페어렌트 및 인페트 RST 필드는 통상적인 반복을 대신하는 스택을 수행한다. 백플래그, 접속 및 탑 포인터는 어디로부터 어디까지 백트랙하여야 하는지를 알려준다.
[3. 수락 테스트]
G 에 대하여 구조를 더욱 추가한다. 에지 G 의 삭제된 세트, 꼭지점 I 의 최초 세트에 부가하여, 패밀리 세트의 꼭지점 C = {C1, C2, C3‥‥‥ Cn)이 주어진다. 섹션 2에서 만일 G*가 소정 사이클을 가지는지를 테스트할 수 있다. G*의 각 사이클의 꼭지점이 소정의 Ci 내에 포함되는지를 문의하는 위치에 있게 된다. 이를 위하여, 본 서치를 채택하여, G*를 강한 접속의 구성원으로 분해한다. 단일 꼭지점에 셀프 에지가 없는 단일 꼭지점이 감소하지 않는한 각각의 구성원은 C 의 멤버내에 포함되는가를 테스트한다. 타잔에 따르면, RST 에 대한 소정의 더 많은 필드를 가산한다. 정수 df 수(
Figure kpo00233
)와 로우링크(
Figure kpo00234
)는 제각기 유도된 깊은 제 1 서치내의 v의 서수이며, 많아야 하나의 크로스 에지 또는 하나의 백에지에 의해 주어진 트리 에지로 구성원 경로에 의해 v 로부터 도달 가능하고 동일 구성원에 속하는 꼭지점의 최소의 서수, df 수(
Figure kpo00235
)를 한정하는 타잔 인덱스이다. 변형된 알고리즘에서, 로우링크 계산으로부터의 적(product)에 의한 것으로써 인터 콤포넌트(inter component)와 인트라 콤포넌트(intra component) 크로스 에지들간을 구별할 수 있다. 끝으로, 타잔 스택의 포인트는 접속(
Figure kpo00236
)으로 표기되고 v용 엔트리를 동일 구성원내의 미리 밝혀진 꼭지점에 대한 엔트리와 연결하는 RST 에 대하여 제 3 포인터 필드를 가산하고, 만일 v가 현재의 구성원내에 있을 경우 세트되고 포인트 스택으로부터 v 를 삭제하는 것을 시뮬레이트하도록 소거되는 플래그 inscc (
Figure kpo00237
)를 가산함으로써 수행된다. 2 개의 플래그, 루트(
Figure kpo00238
) 및 셀프(
Figure kpo00239
)는 v가 그의 강한 접속 구성원의 깊은 제 1 서브 트리의 루트이고 v가 셀프 에지를 가질 경우 제각기 선택된다. 전자는 접속 리스트내의 구성원을 경계짓는데 사용되고-RST 의 리스트는 접속 필드에 의해 다함께 링크되게 엔트리되며, 후자는 단일 구성원의 감쇄를 결정하는데 사용된 이후에는 강한 접속 알고리즘을 나타낸다. 이는 섹션 2 내의 알고리즘의 변형이기 때문에, 비변형 단계는 생략한다. 주지할 것으로는 원래 서치가 BD 가 엠티인 순간에서 끝나기때문에 최종 경로의 구성원에 대하여 고찰해야만 한다.
알고리즘 B :
(1) ....
(1′) count : =-1. last : =empty.
(....) ....
(4) ....
(4′) inscc(
Figure kpo00240
) : = 0. connect(
Figure kpo00241
) ; = empty.
(5) ....
(6) BD의 상부로부터
Figure kpo00242
를 취한다. 만일 엠티일 경우,
Figure kpo00243
: = empty 가 되고, 단계(8)로 진행.
(7) ....
(8) ....
(8′) root : = empty (root는 현재의 구성원의 서브 트리의 루트에 포인트된다). 만일
Figure kpo00244
= empty 경우, top : = empty 이 되며, 단계(10)으로 진행.
(.... ) ....
(11) inpath(
Figure kpo00245
) : = 0. 만일 lowlink = dfnumber(
Figure kpo00246
) 일 경우(w^ 가 현재 구성원 서브트리의 루트인), root : =
Figure kpo00247
, root(
Figure kpo00248
) : = 1.
Figure kpo00249
: : = parent(
Figure kpo00250
)이 된다. 만일
Figure kpo00251
= empty 일 경우, 단계(13)로 진행.
(11′)만일 lowlink(
Figure kpo00252
)>lowlink일 경우, lowlink(
Figure kpo00253
) : = lowlink 이 된다. 그렇치 않을 경우, lowlink : = lowlink(
Figure kpo00254
)이 된다.
(12) ....
(13) (백트랙 종결) 만일 root = empty 경우 (적어도 하나이상이 성원), 접속으로부터 루트까지 Ci 의 포함에 대하여 접속 리스트를 검사한다(아래 주해 참조).
Figure kpo00255
: = connect. connect : =connect(root). connect(root) : = last. last : =
Figure kpo00256
(백트랙이 개시하는 꼭지점에 대한 최종 포인트. 이는 접속 리스트에 대한 새로운 시작이다. 그의 새로운 종료점은 이전의 시작점에 링크된다).
(13′) 만일
Figure kpo00257
= empty 일 경우, 정지한다(서치 종결). permanent(
Figure kpo00258
) : = 1. inpath(
Figure kpo00259
) : 1. inscc(
Figure kpo00260
) : = 1, 증가 count. dfnumber(
Figure kpo00261
) : count. lowlink = count. connect(
Figure kpo00262
) : connect.
(....) ....
(16) c(v)로부터 챠일드 꼭지점 w를 취한다. 만일 더 이상 없을 경우 lowlink(
Figure kpo00263
) : = lowlink 이 되고, 단계(6)으로 진행.
(‥‥) ‥‥
(26) (v-w는 백에지 또는 크로스에지이다). 만일 inscc (w^) = 1 및 lowlink dfnumber(w^)일 경우 lowlink : = dfnumber(w^)이 된다(v 에서 시작하고 동일 구성원내로 종료하는 백에지 또는 크로스 에지의 모든 종단 꼭지점에 대하여 루우 링크가 최소 df 수로 되게 갱신한다).
(26′) 만일 inpath(w^) = 1 일 경우, # back 을 증가시킨다. 그렇지 않으면 만일 inscc(w^) = 1 일 경우, # intra (인트라 콤포넌트 크로스 에지)를 증가시킨다. 그렇지 않으면, # inter(인터 콤포넌트 크로스 에지)를 증가시킨다.
(16)으로 진행
주해 : 상기의 단계(13)에서, 접속 리스트 검사가 요구된다.
분해 알고리즘에 관련된 유일한 작용은 리스트내의 모든 엔트리에 대한 inscc 플래그의 소지이다. 상술한 그들 중요성에서, RST 내의 루트 및 셀프 플래그를 사용하는 것을 탐지하는 것을 제외하고 알고리즘을 검사하는 강한 접속 구성원을 여기에서는 상세히 설명하지 않는다.
이론 B : 그래프 발생기(V, C)가 주어지면, V 의 최초의 부분집합 I, V × V의 삭제된 부분집합 P, 알고리즘 B 는 강한 접속 구성원내로(V*, E*-P)의 분해를 산출한다.
상기 이론은 타잔의 원래 알고리즘내에서 반복적으로 행하여진 루우 링크가 서치 백트랙 단계 및 상기와 같은 출력 에지의 등급동안에 행하여 진다는 것을 증명할 경우 취하게 된다.
[4. 전이 검사]
등위를 분석하는데에는, 상태 전이의 유효성의 여러 검사를 한다. 이는 여러 레벨에서 행하여진다. 다음 상태를 크랭킹할시에, 룩업에 대하여 먼저 검사하며, 이는 등위 프로세스의 명세내에서 실제로 결함이 된다. 특성 상태에서는, 구형선택의 구성원의 소정부분을 계산할 수 없으며, 또한 그렇지 않을 경우 소정의 해답을 계산할 수 없게된다. 그후 다양한 정도의 결정론에 대하여 검사한다. 시스템 프로세스는 각각의 주어진 상태에서 프로세스에 대하여 하나의 선택만이 있을경우 결정적이 될 것이다. 비-결정 시스템은 반결정적 해답을 가질 수 있으며(또는 간단하게, 시스템이 반결정적인), 즉 주어진 상태에서 각각의 구형 선택에 대한 오직 하나의 해답을 가진다. 소정의 구성원 프로세스가 중지(pausing)를 비결정적으로 정지케 하여 단일 해답으로 2 개의 가능성을 카운팅한다.
전술한 바와 같이, 룩업 및 결정론은 그래프 발생동안 검사된다. 실제의 서치동안에, 데드록에 대하여 먼저 검사한다. 이들은 꼭지점 자체를 가능하게 제외한 어떠한 췰드런이 없는 즉 셀프 에지를 제외한 어떠한 출력 에지가 없는 G*의 꼭지점이다. 이러한 검사는 새로운 상태(단계(14))를 서치할때 플래그를 세팅하고 소정의 비셀프 출력 에지를 통과할때 이를 소거함으로써 행하여진다. 최종적인 전이검사는 안정성 검사인데, 이후에 설명하고자 한다.
반 결정 시스템의 실제시간 운전상태를 고려할시에, 2 개 형태의 상태에 의해서 그리고 2 개의 형태의 상태 전이들간을 구별할 수 있다. 임계 전이 v→w 는 v및 w가 명목상으로 구별되는 것이다. 그러한 전이는 일시적으로 발생하도록 고려된다. 반대로, 비임계적 전이는 하나이상의 프로세스 정지 중지를 포함하며, 따라서 비결정적 절대적인 기간을 가지게 된다. 비임계적 상태는 그러한 상태로부터의 소정 전이가 비임계적이라는 특성에 기인하여, 시스템이 절대 주기의 시간동안 중지할 수 있는 상태들이다. 소정의 다른 상태는 임계적이라 하며, 그러한 상태에서 임계적 전이내에 해석될 구형선택을 만드는 것이 가능하다. 반결정적 시스템은 2 개의 연속적인 임계전이를 갖지 않을 경우 안정하다고 하며, 즉 동등하게 v 및 w 양자가 임계적이 되도록 등위 그래프 G*내의 어떠한 에지 v→w 가 없게된다. V*내의 꼭지점을 등급화하고 안정성 실패를 감지하기 위하여 기본 서치 알고리즘의 하기 주어지는 변화가 사용된다.
알고리즘 C :
(1) ....
(1′) stable : = 1
(....) .....
(15) ....
(15′) move : = 0
(16) c(v)로부터 챠일드 꼭지점 w를 취한. 만일 더 이상 없을 경우, move(v^) : = move 이 되고, 단계(6)으로 진행한다. 만일 v→w 임계적일 경우, C2 := 1 이 되고, 그렇치 않을 경우, C2:=0 이 된다.
(....) ....
(19) ....
(19′) 만일 C2=0 일 경우, 단계(20)로 진행한다. move : = 1. 만일 permanent(w^) = 0 경우, move(w^) : = 1 이 된다. (19″) 만일 stable = 0 경우, 단계(20)로 진행한다(이전에 실패한 안정성은 다시 검사하지 않는다). 만일 permanent(w^) = 1 및 move(w^) = 1 일 경우, stable : = 0 이다. 그렇지 않으면, 만일 move(v^) = 1 일 경우 stable : =0 이 된다.
(....) ....
이론 C : 알고리즘 C 는 임계 및 비임계 상태내로 V*의 분해를 산출하며 G*의 안정성을 테스트한다.
서치가 끝나게 될시에, V*내의 각각의 v 에 대하여, RST 플래그 move(v^)는 만일 v 가 임계적일 경우 세트된다. 또한 플래그 안정은 G*가 안정일때 세트된다. 이를 위하여, 먼저 관찰하는 것으로, (19′)에 의해 w 가 서치될때까지, move(w^)는 v→w 가 임계적이 되도록 페어런트 v 를 가질 경우 세트된다. 한편, v 가 일단 서치되었으면, move(v^)는 move 가 (19′)내에서 세트되는 경우, 즉, v→w 가 임계적이 되도록 차일드 w 를 가질 경우에만 (16)내에 세트된다. 다른 부분을 증명하기 위하여 , G*의 2 개의 연속적인 임계 에지에 의해 소정의 안정성 실패를 고려하며 , v→w 가 유도된 깊은 제 1 서치내의 이들의 제 2 에지라 하자. 안정성을 실패하도록 임계 전이 v→w 에 대한 주어진 2 개의 대안을 고려하자. w가 임계 출력에지를 가지도록 공지되고 v 가 임계 입력 에지를 가지도록 공지된다. 전자의 대안은 이미 서치되고 (그렇지 않을 경우 그의 출력에지가 알려지지 않은) 임계인, w 에 일치한다. 후자는 u→v 가 임계적이 되도록 페어런트 u 를 가지는 v 에 일치한다. 따라서 상기한 고찰에서, 단계(19″)에서와 같이 move(w^) = 1(그리고 퍼머넌트)또는 move(v^) = 1 중의 어느하나를 가져야만 한다.

Claims (30)

  1. 순서 회로(sequential circuit)를 생성하는 방법에 있어서, 상기 순서 회로에 대한 태스크(task) 및 명세(specification)를 수신하는 단계와, 상기 회로가 상기 명세를 따를 때 상기 태스크가 상기 순서 회로내에서 수행될 수 있는지 여부를 테스트하는 단계와, 상기 명세에 관한 상세한 정보를 추가하고, 수행될 새로운 태스크들을 정의함으로써, 정세한(refined) 명세를 형성하는 단계와, 상기 정세한 명세가 상기 주어진 명세의 행동을 보존함을 형식적으로 증명하되 입력 신호에 대한 상기 회로의 응답이 상기 정세한 명세를 따를 때의 상기 입력 신호에 대한 상기 회로의 응답이 상기 입력 신호에 대한 상기 회로의 응답이 상기 주어진 명세를 따를 때의 상기 입력 신호에 대한 상기 회로의 응답과 일치함을 형식적으로 증명하는 단계와, 상기 태스크를 새로운 태스크로 치환하고, 상기 명세를 상기 정세한 명세로 치환하고, 상기 테스트 단계로 복귀하는 단계와, 상기 순서 회로를 이루도록, 상기 명세에 기초하여 구조 정보를 발생하고 전달하는 단계를 포함하는 순서 회로 제공 방법.
  2. 주어진 태스크를 수행하는 순서 회로를 제공하는 방법에 있어서, 분석기로 상기 순서 회로의 명세를 입력하는 단계와, 상기 명세에는 없는 상세한 정보를 상기 분석기에 추가함으로써 정세한 명세를 형성하는 단계와, 상기 정세한 명세가 상기 주어진 명세의 행동을 보존함을 형식적으로 증명하되, 입력 신호에 대한 상기 회로의 응답이 상기 정세한 명세를 따를 때의 상기 입력 신호에 대한 상기 회로의 응답이 상기 입력 신호에 대한 상기 회로의 응답이 상기 주어진 명세를 따를 때의 상기 입력 신호에 대한 상기 회로의 응답과 일치함을 형식적으로 증명하는 단계와, 상기 명세를 상기 정세한 명세로 치환하고, 상기 테스트 단계로 복귀하는 단계와, 상기 순서 회로를 이루도록, 상기 명세에 기초하여 구조 정보를 발생하고 전달하는 단계를 포함하는 순서 회로 생성 방법.
  3. 제1항에 있어서, 상기 테스트 단계는 정세한 명세를 생성할지 여부를 결정하는 테스트를 포함하는 순서 회로 생성 방법.
  4. 제2항에 있어서, 상기 구조 정보를 집적 회로의 접속 패턴으로 짜넣는 단계를 더 포함하는 순서 회로 생성 방법.
  5. 제2항에 있어서, 상기 구조 정보를 집적 회로의 레이아웃으로 짜넣는 단계를 더 포함하는 순서 회로 생성 방법.
  6. 제2항에 있어서, 상기 구조 정보는 상기 순서 회로를 이루도록 프로세서를 제어하는 제어 신호들의 시이퀀스를 포함하는 순서 회로 생성 방법.
  7. 제6항에 있어서, 상기 제어 신호들은 저장된 프로그램 프로세서를 제어하도록 적응되는 순서 회로 생성 방법.
  8. 제7항에 있어서, 상기 제어 신호는 복수의 모듈들을 형성하고, 각각의 모듈은 상기 저장된 프로그램 프로세서의 입력 및 출력 기능을 제어하는 모듈들을 제외한 다른 모듈과는 무관한 스위치 스테이트먼트 구성(switch statement construct)을 형성하는 순서 회로 생성 방법.
  9. 주어진 명세에 따라 주어진 태스크를 수행하는 순서 회로를 생성하는 방법에 있어서, 각 태스크에 대한 감소된 명세를 형성하도록 각각의 상기 주어진 태스크에 대한 상기 주어진 명세의 감소를 정의하는 단계와, 각 감소된 명세가 상기 태스크에 관한 상기 주어진 명세를 포함하고 상기 각 감소된 명세의 대응 태스크를 불변으로 함을 테스트하는 단계와, 회로내에서 각 태스크가 테스트된 테스크에 대응한 상기 감소된 명세를 따르는 수행이 가능한지를 판정하도록 상기 각 태스크를 테스트하는 단계와, 상기 순서 회로를 이루도록, 상기 주어진 명세에 기초하여 회로 구조 정보를 발생하고 전달하는 단계를 포함하는 순서 회로 생성 방법.
  10. 제9항에 있어서, 상기 구조 정보를 집적 회로의 접속 패턴으로 짜넣는 단계를 더 포함하는 순서 회로 생성 방법.
  11. 제9항에 있어서, 상기 구조 정보를 집적 회로의 레이아웃으로 짜넣는 단계를 더 포함하는 순서 회로 생성 방법.
  12. 제9항에 있어서, 상기 구조 정보는, 상기 순서 회로를 이루도록 프로세서를 제어하기 위해, 상기 주어진 명세에 기초한 제어 신호들의 시이퀀스를 포함하는 순서 회로 생성 방법.
  13. 제12항에 있어서, 상기 제어 신호들은 저장된 프로그램 프로세서를 제어하도록 적응되는 순서 회로 생성 방법.
  14. 제13항에 있어서, 상기 제어 신호들은 복수의 모듈들을 형성하고, 각 모듈은 상기 저장된 프로그램 프로세서의 입력 및 출력 기능을 제어하는 모듈들을 제외한 다른 모듈들과는 무관한 스위치 스테이트먼트 구성(switch statement construct)을 형성하는 순서 회로 생성 방법.
  15. 순서 회로를 생성하는 방법에 있어서, 분석기로 상기 순서 회로의 명세를 입력하는 단계와, 상기 회로가 상기 명세에 따를 때 상기 태스크가 상기 순서 회로내에서 수행될 수 있는지 여부를 테스트하는 단계와, 상기 명세에 관한 상세한 정보를 추가하고, 수행될 새로운 태스크들을 입력함으로써, 정세한 명세를 형성하는 단계와, 상기 정세한 명세가 상기 주어진 명세의 행동을 보존하는 것을 형식적으로 증명하되, 입력 신호에 대한 상기 회로의 응답이 상기 정세한 명세를 따를 때의 상기 입력 신호에 대한 상기 회로의 응답이 상기 입력 신호에 대한 상기 회로의 응답이 상기 주어진 명세를 따를 때의 상기 입력 신호에 대한 상기 회로의 응답과 일치하는 것을 형식적으로 증명하는 단계와, 상기 태스크를 새로운 태스크로 치환하고, 상기 명세를 상기 정세한 명세로 치환하고, 상기 테스트 단계로 복귀하는 단계와, 각 태스크에 대한 감소된 명세를 형성하도록 각각의 상기 주어진 태스크에 대한 상기 주어진 명세의 감소를 정의하는 단계와, 각 감소된 명세가 상기 태스크에 관한 상기 주어진 명세를 포함하고 상기 각 감소된 명세의 대응 태스크를 불변으로 하는 것을 테스트하는 단계와, 회로내에서 각 태스크가 테스트된 태스크에 대응한 상기 감소된 명세를 따르는 수행이 가능한지를 판정하도록 상기 각 태스크를 테스트하는 단계와, 상기 순서 회로를 이루도록, 상기 분석기로부터 상기 주어진 명세에 기초하여 회로 구조 정보를 발생하고 전달하는 단계를 포함하는 순서 회로 생성 방법.
  16. 주어진 명세를 따르는 시이퀀스 장치(sequetial machine)를 제공하는 방법으로서, 상기 기계는 태스크를 수행하는, 상기 시이퀀스 장치 제공 방법에 있어서, 정세한 후보 명세를 형성하도록 상기 시이퀀스 장치의 정세한 명세를 발생하고 상기 시이퀀스 장치에 의해 수행될 태스크를 정의하는 단계와, 상기 정세한 후보 명세가 상기 주어진 명세에 의해 포함되고, 상기 기계가 상기 정세한 후보 명세를 따를 때 상기 태스크가 상기 시이퀀스 장치에 의해 수행될 수 있다는 주장을 테스트하는 단계와, 상기 테스트가 상기 주장의 거부를 표시할 때 상기 정세한 후보 명세 및 상기 태스크를 정정하는 단계와, 상기 테스트가 상기 주장의 인정을 표시할 때 상기 주어진 명세를 상기 정세한 후보 명세로 치환하고 상기 정세(refine)을 발생하는 단계로 복귀하는 시이퀀스 장치 제공 방법.
  17. 제16항에 있어서, 상기 테스트 단계 및 상기 정정 단계는, 상기 정세가 상기 정세한 후보 명세에 의해 포함된다는 주장을 확인하도록 정세 테스트하는 단계와, 상기 정세 테스트가 상기 정세 테스트 주장의 거부를 표시할 때 상기 정세의 에러를 정정하는 단계와, 상기 태스크가 상기 정세에 의해 수행된다는 주장을 확인하도록 태스크 테스트하는 단계와, 상기 태스크 테스트가 상기 태스크 테스트 주장의 거부를 표시할 때 상기 정세 및 상기 태스크의 에러를 정정하는 단계를 포함하는 시이퀀스 장치 제공 방법.
  18. 제17항에 있어서, 상기 태스크가 상기 정세에 의해 수행된다는 주장을 테스트하는 상기 단계는, 상기 태스크가 상기 후보 명세의 감소된 명세에 의해 수행된다는 주장을 테스트하는 단계를 포함하는 시이퀀스 장치 제공 방법.
  19. 제18항에 있어서, 상기 감소된 명세의 행동이 상기 정세한 후보 명세의 행동을 포함하는지를 판정하도록 상기 감소된 명세를 테스트하는 단계를 더 포함하는 시이퀀스 장치 제공 방법.
  20. 제16항에 있어서, 상기 정세를 특정하는 단계는, 가능한 입력 신호들 및 목적 출력 신호들의 주어진 세트에 대해, 상기 후보 명세가 상기 입력 신호들을 프로세스하고 상기 목적 출력 신호들 전부를 발생하는데 충분할 때 종료되는 시이퀀스 장치 제공 방법.
  21. 제16항에 있어서, 상기 시이퀀스 장치를 구현하는 제어 신호들의 세트를 발생하는 단계를 더 포함하는 시이퀀스 장치 제공 방법.
  22. 제21항에 있어서, 상기 제어 신호들의 세트를 발생하는 단계는 저장된 프로그램 제어기를 제어하는 명령들의 시이퀀스를 발생하는 단계를 포함하는 시이퀀스 장치 제공 방법.
  23. 제22항에 있어서, 상기 명령들을 상기 저장된 프로그램 제어기내로 짜넣는 단계를 더 포함하는 시이퀀스 장치 제공 방법.
  24. 주어진 태스크를 수행하는 순서 회로로서, 저장된 프로그램 프로세서 및 메모리를 구비하며, 상기 주어진 태스크를 수행하는데 필수적인 부분을 가진 상기 메모리내에 저장된 신호 세트를 가지고, 상기 부분은 복수의 모듈로 구성되며, 각 모듈은 상기 저장된 프로그램 프로세서의 입력 및 출력 기능들을 제어하는 모듈에만 관련된 스위치 구성을 형성하는 순서 회로.
  25. 입력 포트 및 출력 포트를 구비한 유한 상태 기계를 형성하도록 프로세서와 상호 작용하며, 상기 유한 상태 기계의 상태와 상기 입력 포트에서의 입력 신호에 따라 상기 출력 포트에서 미리 선택된 응답을 발생하는 제어기에 있어서, 상기 미리 선택된 응답을 실행하는 실행 프로그램과, 상기 실행 프로그램을 저장하는 메모리를 포함하며, 상기 실행 프로그램에는 상기 미리 선택된 응답을 실행하는데 필수적인 부분이 있으며, 상기 실행 프로그램은 스위치 구조들을 포함하고, 상기 스위치 구조들 모두의 브랜치들은 상기 입력 포트 및 상기 출력 포트와 상호 작용하는 기능과는 다른 기능에 대한 호출을 배제한 세트로부터 엄밀하게 선택된 명령들을 포함하는 제어기.
  26. 입력 포트 및 출력 포트를 구비한 유한 상태 장치를 형성하며, 상기 유한 상태 장치의 상태와 상기 입력 포트에서의 입력 신호에 따라 상기 출력 포트에서 미리 선택된 응답을 발생하는 유한 상태 기계 형성 장치에 있어서, 상기 미리 선택된 응답을 실행하는 실행 프로그램과, 상기 실행 프로그램을 저장하는 메모리와, 상기 메모리와 상기 입력 포트 및 상기 출력 포트에 접속된 프로세서를 포함하며, 상기 실행 프로그램에는 상기 소정의 웅답을 실행하는데 필수적인 부분이 있으며 상기 실행 프로그램은 스위치 구조들을 포함하고, 상기 스위치 구조들 모두의 브랜치들은 상기 입력 포트 및 상기 출력 포트와 상호 작용하는 기능과는 다른 기능에 대한 호출을 배제한 세트로부터 엄밀하게 선택된 명령들을 포함하는 유한 상태 기계 형성 장치.
  27. 제26항에 있어서, 상기 실행 프로그램은 연결된 스위치 구조들을 포함하며, 상기 일련의 스위치 구조들 각각은 상기 세트로부터 엄밀하게 선택된 명령들을 포함하는 브랜치들을 구비하는 유한 상태 기계 형성 장치.
  28. 상호 작용하는 복수의 유한 상태 장치들로부터 형성되고 입력 포트 및 출력 포트를 구비한 시이퀀스 장치에 있어서, 상기 입력 포트에서의 입력 신호에 대한 상기 출력 포트에서의 상기 장치의 미리 선택된 응답을 실행하는 실행 프로그램과, 상기 실행 프로그램을 저장하는 메모리와, 상기 메모리와 상기 입력 포트 및 상기 출력 포트에 접속된 프로세서를 포함하며 , 상기 실행 프로그램은 상기 상호 작용하는 유한 상태 장치들 각각을 위한 스위칭 구조들을 포함하고, 상기 미리 선택된 응답을 실행하는데 필수적인 상기 스위치 구조들 모두의 브랜치들은 상기 입력 포트 및 상기 출력 포트와 상호 작용하는 기능과는 다른 기능에 대한 호출을 배제한 세트로부터 엄밀하게 선택된 명령들을 포함하는 시이퀀스 장치.
  29. 제28항에 있어서, 상기 스위치 구조들은 연결되는 시이퀀스 장치.
  30. 주어진 태스크를 수행하며 연합 모듈들(coorperating modules)을 포함하는 순서 회로에 있어서, 상기 모듈들 각각의 구조는 반복 적용 방법에 따라 구성되는 스위치 구조를 형성하며, 상기 반복 적용 방법은, 주어진 명세를 형성하도록 회로 명세를 발생하는 단계와, 상기 회로가 상기 주어진 명세를 따를 때 상기 주어진 태스크가 상기 순서 회로내에서 수행 가능한지 여부와, 정세한 명세를 형성하는 단계를 계속할지 여부를 테스트하는 단계와, 상기 명세에 관한 상세한 명세를 부가하고, 수행될 새로운 태스크를 정의함으로써, 정세한 명세를 형성하는 단계와, 상기 정세한 명세가 상기 주어진 명세의 행동을 보존하는 것을 증명하되, 입력 신호에 대한 상기 회로의 응답이 상기 정세한 명세를 따를 때의 상기 입력 신호에 대한 상기 회로의 응답이, 상기 입력 신호에 대한 상기 회로의 응답이 상기 주어진 명세를 따를 때의 상기 입력 신호에 대한 상기 회로의 응답과 일치하는 것을 증명하는 단계와, 상기 주어진 태스크로 치환하고 상기 주어진 명세를 상기 정세한 명세로 치환하고, 상기 테스트 단계로 복귀하며, 상기 주어진 명세로부터의 상기 모듈들의 세트를 발생하는 단계를 포함하는 순서 회로.
KR1019910003509A 1990-03-06 1991-03-05 제어 집중 시스템 KR100237090B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US489,438 1990-03-06
US07/489,438 US5163016A (en) 1990-03-06 1990-03-06 Analytical development and verification of control-intensive systems

Publications (2)

Publication Number Publication Date
KR910017301A KR910017301A (ko) 1991-11-05
KR100237090B1 true KR100237090B1 (ko) 2000-01-15

Family

ID=23943860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910003509A KR100237090B1 (ko) 1990-03-06 1991-03-05 제어 집중 시스템

Country Status (6)

Country Link
US (1) US5163016A (ko)
EP (1) EP0445942A3 (ko)
JP (1) JPH0760324B2 (ko)
KR (1) KR100237090B1 (ko)
CA (1) CA2035844C (ko)
IL (1) IL97177A (ko)

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02234274A (ja) * 1989-03-08 1990-09-17 Hitachi Ltd パイプライン制御論理の自動生成方法及び制御論理
US5483470A (en) * 1990-03-06 1996-01-09 At&T Corp. Timing verification by successive approximation
US6185516B1 (en) * 1990-03-06 2001-02-06 Lucent Technologies Inc. Automata-theoretic verification of systems
FR2679398B1 (fr) * 1991-07-16 1993-10-08 Alcatel Cit Procede d'aide au developpement d'un ensemble d'automates communicants.
US5910958A (en) * 1991-08-14 1999-06-08 Vlsi Technology, Inc. Automatic generation of test vectors for sequential circuits
US5305229A (en) * 1991-09-06 1994-04-19 Bell Communications Research, Inc. Switch-level timing simulation based on two-connected components
US5299206A (en) * 1991-10-24 1994-03-29 Digital Equipment Corporation System and method for analyzing complex sequences in trace arrays using multiple finite automata
FR2685838B1 (fr) * 1991-12-27 1994-02-25 Sgs Thomson Microelectronics Sa Procede pour verifier la conformite a une norme d'une cellule representative d'un circuit dedie a la gestion d'un protocole de communication, et systeme pour sa mise en óoeuvre.
US5491640A (en) * 1992-05-01 1996-02-13 Vlsi Technology, Inc. Method and apparatus for synthesizing datapaths for integrated circuit design and fabrication
US5710711A (en) * 1992-10-21 1998-01-20 Lucent Technologies Inc. Method and integrated circuit adapted for partial scan testability
US5477474A (en) * 1992-10-29 1995-12-19 Altera Corporation Computer logic simulation with dynamic modeling
CA2132194A1 (en) * 1993-01-19 1994-08-04 Robert R. Klevecz Method for control of chaotic systems
JP2994926B2 (ja) * 1993-10-29 1999-12-27 松下電器産業株式会社 有限状態機械作成方法とパターン照合機械作成方法とこれらを変形する方法および駆動方法
US5446652A (en) * 1993-04-27 1995-08-29 Ventana Systems, Inc. Constraint knowledge in simulation modeling
US5465216A (en) * 1993-06-02 1995-11-07 Intel Corporation Automatic design verification
US5394347A (en) * 1993-07-29 1995-02-28 Digital Equipment Corporation Method and apparatus for generating tests for structures expressed as extended finite state machines
US5659555A (en) * 1993-08-19 1997-08-19 Lucent Technologies Inc. Method and apparatus for testing protocols
US5493505A (en) * 1993-10-28 1996-02-20 Nec Usa, Inc. Initializable asynchronous circuit design
US5623419A (en) * 1994-04-28 1997-04-22 Cadence Design Systems, Inc. Modeling of multi-disciplinary signals
US5513122A (en) * 1994-06-06 1996-04-30 At&T Corp. Method and apparatus for determining the reachable states in a hybrid model state machine
US5623499A (en) * 1994-06-27 1997-04-22 Lucent Technologies Inc. Method and apparatus for generating conformance test data sequences
US5600579A (en) * 1994-07-08 1997-02-04 Apple Computer, Inc. Hardware simulation and design verification system and method
US5535145A (en) * 1995-02-03 1996-07-09 International Business Machines Corporation Delay model abstraction
WO1996024101A1 (en) * 1995-02-03 1996-08-08 A T & T Corp. An automata-theoretic verification of systems
US5706473A (en) * 1995-03-31 1998-01-06 Synopsys, Inc. Computer model of a finite state machine having inputs, outputs, delayed inputs and delayed outputs
US5878407A (en) * 1995-04-18 1999-03-02 International Business Machines Corporation Storage of a graph
US5703798A (en) * 1995-04-25 1997-12-30 Mentor Graphics Corporation Switch level simulation employing dynamic short-circuit ratio
US5831853A (en) * 1995-06-07 1998-11-03 Xerox Corporation Automatic construction of digital controllers/device drivers for electro-mechanical systems using component models
US5848393A (en) * 1995-12-15 1998-12-08 Ncr Corporation "What if . . . " function for simulating operations within a task workflow management system
US5854929A (en) * 1996-03-08 1998-12-29 Interuniversitair Micro-Elektronica Centrum (Imec Vzw) Method of generating code for programmable processors, code generator and application thereof
US5905883A (en) * 1996-04-15 1999-05-18 Sun Microsystems, Inc. Verification system for circuit simulator
ATE235715T1 (de) * 1996-05-06 2003-04-15 Siemens Ag Verfahren zur modellierung eines prozessablaufs nach zeitzwangsbedingungen
DE69626964T2 (de) * 1996-05-06 2003-11-06 Siemens Ag Verfahren zur Steuerung eines Prozessablaufs nach von einem Rechner spezifizierten Verhalten
US5754760A (en) * 1996-05-30 1998-05-19 Integrity Qa Software, Inc. Automatic software testing tool
US6178394B1 (en) * 1996-12-09 2001-01-23 Lucent Technologies Inc. Protocol checking for concurrent systems
IL119914A (en) 1996-12-25 2000-06-29 Emultek Ltd Device for implementing hierarchical state charts and methods and apparatus useful therefor
US6049662A (en) * 1997-01-27 2000-04-11 International Business Machines Corporation System and method for model size reduction of an integrated circuit utilizing net invariants
US6233540B1 (en) 1997-03-14 2001-05-15 Interuniversitair Micro-Elektronica Centrum Design environment and a method for generating an implementable description of a digital system
US6606588B1 (en) 1997-03-14 2003-08-12 Interuniversitair Micro-Elecktronica Centrum (Imec Vzw) Design apparatus and a method for generating an implementable description of a digital system
JPH113367A (ja) * 1997-03-14 1999-01-06 Interuniv Micro Electron Centrum Vzw デジタルシステムのインプリメント可能な記述を生成する設計環境および方法
US5937181A (en) * 1997-03-31 1999-08-10 Lucent Technologies, Inc. Simulation of a process of a concurrent system
US5901073A (en) * 1997-06-06 1999-05-04 Lucent Technologies Inc. Method for detecting errors in models through restriction
US6138266A (en) 1997-06-16 2000-10-24 Tharas Systems Inc. Functional verification of integrated circuit designs
US6295515B1 (en) * 1997-11-03 2001-09-25 Lucent Technologies Inc. Static partial order reduction
US6059837A (en) * 1997-12-30 2000-05-09 Synopsys, Inc. Method and system for automata-based approach to state reachability of interacting extended finite state machines
US6324496B1 (en) * 1998-06-18 2001-11-27 Lucent Technologies Inc. Model checking of hierarchical state machines
US6099575A (en) * 1998-06-23 2000-08-08 Lucent Technologies Inc. Constraint validity checking
US6446241B1 (en) 1999-07-15 2002-09-03 Texas Instruments Incorporated Automated method for testing cache
US6625783B2 (en) * 2000-02-16 2003-09-23 Logic Research Co., Ltd. State machine, semiconductor device using state machine, and method of design thereof
US6606674B1 (en) * 2000-02-24 2003-08-12 Intel Corporation Method and apparatus for reducing circular list's thrashing by detecting the queues' status on a circular linked list
US6708143B1 (en) * 2000-05-22 2004-03-16 Lucent Technologies Inc. Verification coverage method
US6564354B1 (en) * 2000-06-01 2003-05-13 Hewlett Packard Development Company, L.P. Method for translating conditional expressions from a non-verilog hardware description language to verilog hardware description language while preserving structure suitable for logic synthesis
DE60130836T2 (de) * 2000-06-12 2008-07-17 Broadcom Corp., Irvine Architektur und Verfahren zur Kontextumschaltung
US20020032551A1 (en) * 2000-08-07 2002-03-14 Jabari Zakiya Systems and methods for implementing hash algorithms
DE60037429T2 (de) * 2000-10-30 2008-11-27 Siemens Ag Verfahren zur Reduzierung von endlichen Steuerautomaten sowie entsprechendes rechnerlesbares Medium
US7283945B2 (en) * 2000-11-03 2007-10-16 Fujitsu Limited High level verification of software and hardware descriptions by symbolic simulation using assume-guarantee relationships with linear arithmetic assumptions
US6629297B2 (en) 2000-12-14 2003-09-30 Tharas Systems Inc. Tracing the change of state of a signal in a functional verification system
US6691287B2 (en) 2000-12-14 2004-02-10 Tharas Systems Inc. Functional verification system
US6625786B2 (en) 2000-12-14 2003-09-23 Tharas Systems, Inc. Run-time controller in a functional verification system
US6470480B2 (en) * 2000-12-14 2002-10-22 Tharas Systems, Inc. Tracing different states reached by a signal in a functional verification system
US6957178B2 (en) * 2001-10-29 2005-10-18 Honeywell International Inc. Incremental automata verification
US7051298B1 (en) * 2002-06-04 2006-05-23 Cadence Design Systems, Inc. Method and apparatus for specifying a distance between an external state and a set of states in space
US7231630B2 (en) * 2002-07-12 2007-06-12 Ensequence Inc. Method and system automatic control of graphical computer application appearance and execution
US7653520B2 (en) * 2002-07-19 2010-01-26 Sri International Method for combining decision procedures with satisfiability solvers
US6778943B2 (en) * 2002-08-13 2004-08-17 Xerox Corporation Systems and methods for distributed fault diagnosis using precompiled finite state automata
US7119577B2 (en) * 2002-08-28 2006-10-10 Cisco Systems, Inc. Method and apparatus for efficient implementation and evaluation of state machines and programmable finite state automata
US7451143B2 (en) * 2002-08-28 2008-11-11 Cisco Technology, Inc. Programmable rule processing apparatus for conducting high speed contextual searches and characterizations of patterns in data
US20040209676A1 (en) * 2002-11-18 2004-10-21 Takahiro Onishi Gaming machine
US7085918B2 (en) * 2003-01-09 2006-08-01 Cisco Systems, Inc. Methods and apparatuses for evaluation of regular expressions of arbitrary size
US7464254B2 (en) * 2003-01-09 2008-12-09 Cisco Technology, Inc. Programmable processor apparatus integrating dedicated search registers and dedicated state machine registers with associated execution hardware to support rapid application of rulesets to data
DE10325513B8 (de) * 2003-06-05 2006-08-03 Onespin Solutions Gmbh Verfahren und Vorrichtung zum Erstellen eines Verhaltensaspekts einer Schaltung zur formalen Verifikation
JP3920308B2 (ja) * 2003-10-31 2007-05-30 富士通株式会社 検証支援装置、検証支援方法、検証支援プログラムおよび記録媒体
US7543274B2 (en) 2003-12-22 2009-06-02 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration System and method for deriving a process-based specification
US7895552B1 (en) * 2004-03-26 2011-02-22 Jasper Design Automation, Inc. Extracting, visualizing, and acting on inconsistencies between a circuit design and its abstraction
JP4691374B2 (ja) * 2004-04-08 2011-06-01 日立オートモティブシステムズ株式会社 設計支援システム
US7581199B1 (en) * 2005-08-08 2009-08-25 National Semiconductor Corporation Use of state nodes for efficient simulation of large digital circuits at the transistor level
US7434183B2 (en) * 2005-08-17 2008-10-07 Cadence Design Systems, Inc. Method and system for validating a hierarchical simulation database
US8495593B2 (en) * 2005-09-09 2013-07-23 International Business Machines Corporation Method and system for state machine translation
JP4496205B2 (ja) * 2006-12-18 2010-07-07 日立オートモティブシステムズ株式会社 制御用マイクロコンピュータの検証装置および車載用制御装置
US9082104B2 (en) * 2007-02-02 2015-07-14 Alcatel Lucent Method and apparatus for managing system specifications
US20090093901A1 (en) * 2007-10-03 2009-04-09 International Business Machines Corporation Method and apparatus for using design specifications and measurements on manufactured products in conceptual design models
US9002899B2 (en) * 2008-07-07 2015-04-07 International Business Machines Corporation Method of merging and incremental construction of minimal finite state machines
US8885510B2 (en) 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
US9009648B2 (en) * 2013-01-18 2015-04-14 Netspeed Systems Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of IP cores using high level specification
US9471726B2 (en) 2013-07-25 2016-10-18 Netspeed Systems System level simulation in network on chip architecture
US9473388B2 (en) 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers
US9473415B2 (en) 2014-02-20 2016-10-18 Netspeed Systems QoS in a system with end-to-end flow control and QoS aware buffer allocation
GB2526052B (en) * 2014-03-31 2016-04-13 Imagination Tech Ltd Deadlock detection using assertions
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US9571341B1 (en) 2014-10-01 2017-02-14 Netspeed Systems Clock gating for system-on-chip elements
US9660942B2 (en) 2015-02-03 2017-05-23 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
US9444702B1 (en) 2015-02-06 2016-09-13 Netspeed Systems System and method for visualization of NoC performance based on simulation output
US9928204B2 (en) 2015-02-12 2018-03-27 Netspeed Systems, Inc. Transaction expansion for NoC simulation and NoC design
US9568970B1 (en) 2015-02-12 2017-02-14 Netspeed Systems, Inc. Hardware and software enabled implementation of power profile management instructions in system on chip
US10050843B2 (en) 2015-02-18 2018-08-14 Netspeed Systems Generation of network-on-chip layout based on user specified topological constraints
US10348563B2 (en) 2015-02-18 2019-07-09 Netspeed Systems, Inc. System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US9864728B2 (en) 2015-05-29 2018-01-09 Netspeed Systems, Inc. Automatic generation of physically aware aggregation/distribution networks
US9825809B2 (en) 2015-05-29 2017-11-21 Netspeed Systems Dynamically configuring store-and-forward channels and cut-through channels in a network-on-chip
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US20180159786A1 (en) 2016-12-02 2018-06-07 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10313269B2 (en) 2016-12-26 2019-06-04 Netspeed Systems, Inc. System and method for network on chip construction through machine learning
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10084725B2 (en) 2017-01-11 2018-09-25 Netspeed Systems, Inc. Extracting features from a NoC for machine learning construction
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10298485B2 (en) 2017-02-06 2019-05-21 Netspeed Systems, Inc. Systems and methods for NoC construction
US10896476B2 (en) 2018-02-22 2021-01-19 Netspeed Systems, Inc. Repository of integration description of hardware intellectual property for NoC construction and SoC integration
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder
US11023377B2 (en) 2018-02-23 2021-06-01 Netspeed Systems, Inc. Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)
JP7273176B2 (ja) * 2019-05-05 2023-05-12 長江存儲科技有限責任公司 シーケンス処理ユニットを備えたメモリ制御システム
GB2588134B (en) 2019-10-08 2021-12-01 Imagination Tech Ltd Verification of hardware design for data transformation component
US11669613B2 (en) * 2020-05-29 2023-06-06 EnSoft Corp. Method for analyzing and verifying software for safety and security
US11914993B1 (en) * 2021-06-30 2024-02-27 Amazon Technologies, Inc. Example-based synthesis of rules for detecting violations of software coding practices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4587625A (en) * 1983-07-05 1986-05-06 Motorola Inc. Processor for simulating digital structures
US4694411A (en) * 1985-02-04 1987-09-15 Sanders Associates, Inc. Simulation apparatus and method
US4862347A (en) * 1986-04-22 1989-08-29 International Business Machine Corporation System for simulating memory arrays in a logic simulation machine
US4907180A (en) * 1987-05-04 1990-03-06 Hewlett-Packard Company Hardware switch level simulator for MOS circuits
US4965758A (en) * 1988-03-01 1990-10-23 Digital Equipment Corporation Aiding the design of an operation having timing interactions by operating a computer system

Also Published As

Publication number Publication date
IL97177A (en) 1995-12-31
EP0445942A2 (en) 1991-09-11
JPH04219804A (ja) 1992-08-10
EP0445942A3 (en) 1994-09-21
JPH0760324B2 (ja) 1995-06-28
US5163016A (en) 1992-11-10
KR910017301A (ko) 1991-11-05
IL97177A0 (en) 1992-05-25
CA2035844C (en) 1995-05-16

Similar Documents

Publication Publication Date Title
KR100237090B1 (ko) 제어 집중 시스템
Hensel et al. The probabilistic model checker Storm
Katoen Concepts, algorithms, and tools for model checking
US5483470A (en) Timing verification by successive approximation
Alur et al. Predicate abstraction for reachability analysis of hybrid systems
Agerwala Special feature: Putting petri nets to work
Rich et al. Initial report on a LISP programmer's apprentice
US9672065B2 (en) Parallel simulation using multiple co-simulators
Bouajjani et al. Bounded phase analysis of message-passing programs
Hahn et al. Constraint-based monitoring of hyperproperties
Ben-Ari A primer on model checking
Avanzini et al. On probabilistic term rewriting
Abel et al. MeMin: SAT-based exact minimization of incompletely specified Mealy machines
van Beusekom et al. Formalising the Dezyne modelling language in mCRL2
Wachter et al. Probabilistic model checking modulo theories
Touati et al. Testing language containment for ω-automata using BDDs
Bodeveix et al. Towards a verified transformation from AADL to the formal component-based language FIACRE
Codish et al. Efficient analysis of concurrent constraint logic programs
Belluomini et al. Efficient timing analysis algorithms for timed state space exploration
Young et al. Coding for a believable specification to implementation mapping
Butterfield et al. prialt in Handel-C: an operational semantics
Collavizza et al. Constraint-based BMC: a backjumping strategy
Rueb From simulation to verification (and back)
Olcoz A formal model of VHDL using coloured petri nets
Bauer et al. Analyzing program behavior through active automata learning

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee