KR19990009715A - 시스템 설계 스펙 정의 장치 및 방법 - Google Patents

시스템 설계 스펙 정의 장치 및 방법 Download PDF

Info

Publication number
KR19990009715A
KR19990009715A KR1019970032207A KR19970032207A KR19990009715A KR 19990009715 A KR19990009715 A KR 19990009715A KR 1019970032207 A KR1019970032207 A KR 1019970032207A KR 19970032207 A KR19970032207 A KR 19970032207A KR 19990009715 A KR19990009715 A KR 19990009715A
Authority
KR
South Korea
Prior art keywords
template
qualifier
input space
condition
input
Prior art date
Application number
KR1019970032207A
Other languages
English (en)
Inventor
플래머 게리 에프 드
아더 배리 글래서
로버트 폴 커르샨
글렌 알 웨슬리
Original Assignee
디죠오지오 제이
루슨트 테크놀로지스인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 디죠오지오 제이, 루슨트 테크놀로지스인코포레이티드 filed Critical 디죠오지오 제이
Priority to KR1019970032207A priority Critical patent/KR19990009715A/ko
Publication of KR19990009715A publication Critical patent/KR19990009715A/ko

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

본 발명에 따른 시스템 설계 스펙을 정의하는 방법 및 장치는 선택된 템플레이트가 시스템 표현으로 채워졌을 때 시스템의 기대되는 동작 속성을 정의하도록 시스템 표현 세트를 수용하기 위한 포맷을 갖는 유한 템플레이트 세트를 사용한다. 한가지 예시적인 실시예에서, 각각의 템플레이트는 입력 공간과 제각기 연관된 한정자 세트 및 입력 공간 세트를 갖는다. 이러한 실시예에서, 입력 공간 세트는 시스템 모델의 요구되는 또는 가정되는 조건을 정의하는 시스템 표현을 수용하기 위한 수행 조건 입력 공간과, 요구된 또는 가정된 사건의 체크를 개시하기 위한 사전조건을 정의하는 시스템 표현을 수용하기 위한 인에이블 조건 입력 공간과, 시스템 모델에 의해 상기 수행 조건이 더 이상 요구되거나 가정되지 않는 조건을 정의하는 시스템 표현을 수용하기 위한 해제 조건 입력 공간을 포함할 수 있다. 선택된 템플레이트의 입력 공간을 적절한 시스템 표현으로 채움으로써 시스템 모델의 기대되는 동작을 정의하는 표현을 형성할 수 있다. 이와 같이 하여, 채워진 템플레이트 세트는 시스템 모델의 기대되는 동작 세트(즉, 시스템 설계 스펙)를 정의할 수 있다. 그리고 나서, 이 시스템 설계 스펙은 시스템의 기대되는 동작 속성을 테스트하기 위해 컴퓨터에 의해 실행가능한 코드(예를 들면, 자동장치)를 발생하는데 사용될 수 있다. 예를 들어, 시스템 설계 스펙의 각 채워진 템플레이트는 주어진 서브루틴에 의해 자동장치로 변환될 수 있다.

Description

시스템 설계 스펙 정의 장치 및 방법
본 발명은 컴퓨터 지원 검증 또는 시뮬레이션에 관한 것으로, 보다 구체적으로는, 검증 또는 시뮬레이션 시스템에서 사용되는 특성의 스펙(specifications)에 관한 것이다.
대규모 고 복합 시스템에서 오랜기간 지속되온 문제는 시스템이 설계자에 의해 의도된 대로 동작할 것인가를 검증하는 것이다. 이러한 문제에 대한 한가지 접근법은 시스템 자체를 구축 및 테스트하므로써 또는 시스템 모델을 구축 및 테스트하므로써 간단히 시스템을 시험하는 것이다. 최신 시스템은 그들이 시스템 설계자에 의해 의도된 대로 동작하기까지 다수의 정정 및 설계를 요구하므로, 많은 시스템 설계자는 우선 시스템 모델을 구축하여 테스트하는 것을 선택한다. 이러한 시스템 모델은 설계자로 하여금 시스템 자체를 구축하는 것과 관련된 비용 소모를 초래하기 전에 시스템 재설계에 대한 있을 수 있는 요인이 식별될 수 있도록 시스템 모델의 동작을 테스트하므로써 시스템 설계를 체크할 수 있게 한다.
시스템 모델을 구축 및 테스트하는 한가지 방법, 소위 컴퓨터 시뮬레이션에서, 프로그래머는 시스템의 의도된 특성(즉, 기능 및 특징)을 모방하는 컴퓨터 프로그램을 작성하므로써 시스템 모델을 구축(build)한다. 이 컴퓨터 프로그램 또는 시스템 모델은 실제의 시스템과 동일하게 입력을 수신하여 기능을 수행한 후 출력을 발생하도록 설계된다. 컴퓨터 시뮬레이션시에, 시스템 모델은 다양한 입력에 응답하여 시스템 모델이 어떻게 동작하는가를 체크하는 체킹 프로그램을 실행시키므로써 테스트된다. 기본적으로, 체킹 프로그램은 시스템 모델로의 입력을 제어하며, 주어진 입력 세트에 대한 모델의 동작이 시스템 설계자에 의해 기대 또는 의도된 동작인지의 여부를 체크한다. 예를 들면, 전화 모델의 체킹시에 체킹 프로그램은 다양한 전화 모델 입력(예를 들어, AC 파워 레벨, 제어 신호 및 다이얼된 번호)을 제어하여 이러한 입력에 응답한 전화 모델의 동작을 모니터하도록 동작하게 된다.
그러나 컴퓨터 시뮬레이션에서의 중요한 문제는 설계자에 의해 인식된 동작만이 체크될 수 있다는 것이다. 즉, 설계자는 단지 체킹 프로그램이 체크하도록 설계된 동작만을 체크할 수 있다. 이것은 프로그래머가 모든 기대되는 시스템 동작을 예측하거나 체킹 프로그램내에 포함시킬 필요가 있는 시스템 지식을 소유하지 못할 수도 있기 때문에 문제가 된다. 더욱이, 시스템 설계에 대한 지식을 가질 수도 있는 설계자조차도 복잡한 시스템의 어떤 동작 속성을 충분히 예상하기가 어려움을 알 수 있다. 결과적으로, 컴퓨터 시뮬레이션은 항상 시스템 설계의 특성(즉, 의도된 기능 및 특징)을 테스트하는 신뢰성있는 방법이 되지는 못한다.
시뮬레이션의 한계가 드러남에 따라 시스템 모델을 구축 및 테스트하는 다른 방법, 즉, 정규 검증에 대한 관심이 증가되었다. 정규 검증에서, 시스템 모델을 테스트하기 위해 프로그래머는 시뮬레이션에 사용된 것과 동일한 모델일 수 있는 시스템 모델과 시스템 설계 스펙을 구축하도록 요구된다. 프로그래머는 컴퓨터 프로그램 또는 시스템의 구현을 정의하는 논리적 표현 세트를 작성하므로써 시스템 모델을 구축할 수 있고, 시스템의 의도된 또는 기대된 동작 속성을 정의하는 논리적 표현 세트를 작성하므로써 시스템 설계 스펙을 구축할 수 있다. 기본적으로, 시스템 모델은 구축되었을 경우의 실제 시스템과 동일하게 입력을 수신하여 기능을 수행하고 출력을 발생하도록 설계되며, 시스템 설계 스펙은 각각의 논리적 표현이 시스템 또는 시스템 모델의 의도되는 또는 기대되는 동작 속성을 정의하도록 설계된다.
시스템 모델 및 시스템 설계 스펙의 경우 시스템 모델의 동작이 설계 스펙에 의해 정의된 의도되는 또는 기대되는 동작과 일치하는지의 여부를 테스트하기 위해 검증 툴이 사용될 수 있다. 종종, 이것은 시스템 모델 및 시스템 설계 스펙을 상태 머신으로 변환하므로써 수행된다. 시스템 모델 상태 머신은 임의의 주어진 입력 세트에 응답하여 시스템 모델이 어떻게 동작하게 될 것인가를 반영 또는 모방하는 시스템 또는 상태 및 천이 세트로서 설명될 수 있다. 시스템 설계 스펙 상태 머신은 설계자가 주어진 입력 세트에 응답한 시스템 모델이 어떻게 동작할 것으로 기대 또는 의도하는가를 정의하는 시스템 또는 상태 및 천이 세트로서 설명된다. 예를 들면, 설계 스펙 상태 머신은 특정의 입력 세트가 주어졌을 때 시스템 모델이 동작중에 들어갈 수 있는 상태(즉, 양호(good) 상태) 및 시스템 모델이 들어갈 수 없는 상태(즉, 불량(bad) 상태)를 정의할 수 있다. 따라서, 시스템 모델이 설계 스펙에 정의된 기대되는 동작에 따라 동작하는지의 여부를 테스트하려면, 검증 툴은 시스템 모델 상태 모신으로의 입력을 제어 및/또는 변경하여 시스템 모델 상태 머신이 설계 스펙 상태 머신에 의해 불량 상태로서 정의된 임의의 상태로 들어갈 수도 있는지의 여부를 체크한다. 불량 상태로서 정의된 상태로 들어갈 수도 있는 것으로 판정되면, 시스템 설계는 시스템 설계 스펙을 따르지 않았다고 말하여지며, 시스템 재설계가 제대로 이루어질 수 있다.
따라서, 정규 검증 시스템의 정확도 및 신뢰도는 시스템 설계 스펙을 정의하는 논리적 표현을 작성하는데 있어서 프로그래머의 정확도에 직접 의존한다. 논리적 표현이 시스템의 의도된 또는 기대된 동작을 정확하게 정의하지 않으면, 설계 스펙 상태 머신은 특정의 입력 세트가 주어졌을 때 시스템 모델 상태 머신이 들어갈 수 있는 상태 및 들어갈 수 없는 상태를 정확하게 정의하지 못한다. 더욱이, 설계 스펙 상태 머신이 불량 상태를 정확하게 정의하지 못하면, 어떤 정규 검증 테스트도 적절한 또는 의도된 동작에 대해 시스템 모델을 체크하지 못한다. 따라서, 정규 검증의 신뢰도는 결국 시스템 설계 스펙을 정의하는 논리적 표현의 작성시 프로그래머의 정확도에 의존한다.
지금까지, 시스템 설계 스펙을 정의하는 논리적 표현을 작성할 때, 프로그래머는 사실상 블랭크 페이지로부터 작업하는 태스크와 직면했다. 즉, 설계자는 블랭크 페이지 및 논리적 연산자 세트로 시작하는 각각의 기대되는 동작 속성을 표현하는 방법을 결정해야 한다. 예시적으로, 가장 최근의 경우 프로그래머는 요구된 논리적 표현을 작성하기 위해 시간 논리(temporal logic)를 사용한다. 이 시간 논리 표현은, 모든 상태에서를 의미하는 G, 결과(eventually)를 의미하는 F, 모든 상태 천이 실행을 따라를 의미하는 A, 부정을 의미하는 ∼, 또는(or)을 의미하는 ∨ 및 포함(imply)을 의미하는 →을 포함할 수도 있는 시간 논리 연산자 세트를 사용하므로써 발생될 수 있다. 따라서, 시스템의 주어진 기대되는 동작 속성을 정의하는 논리적 표현을 생성하려면, 프로그래머는 각 연산자의 논리적 의미를 이해하고, 사용할 연산자를 결정하며, 궁극적으로 정의된 동작 표현을 형성하기 위해 적절한 시스템 변수 또는 시스템 파라미터를 선택된 연산자와 연관시키는 방법을 결정해야 한다.
예를 들어, 현세 로직은 온도가 특정치 이하로 내려갔을 때 오븐을 턴온시키는 것과 같은 동작 속성을 표현하는데 사용될 수 있다. 한 현세 논리 프로그래머는 이러한 동작을 AG(t→AF(∼p∨w))로서 표현할 수 있으며, 여기서 파라미터 t는 온도가 지정된 값 이하로 내려감을 의미하고, p는 오븐에 전원이 공급되었음을 의미하며, w는 오븐이 턴온되었음을 의미한다. 그러나 다른 프로그래머는 이러한 동작이 현세 논리로 G(t→F(w))로서 표현될 수 있다고 결정할 수도 있으며, 여기서 파라미터 t 및 w는 앞서 설명된 것과 동일하다. 각 표현은 제각기의 프로그래머에게는 시스템 동작을 정확하게 정의하고 있는 것으로 보일 수도 있지만, 이들 표현은 동일한 논리적 의미를 갖지 않고, 따라서 동일한 시스템 동작을 정의하지 않는다. 결과적으로, 상이한 프로그래머가 동일한 시스템 특성을 정의하기 위해 완전히 다른 논리적 표현을 작성할 수 있고, 하나의 논리적 표현이 다른 논리적 표현과 동일하게 의도된 동작을 정확히 정의하지 못한다는 것은 매우 중요하다. 따라서, 프로그래머가 시스템 설계의 상세한 지식 및 설계 스펙을 정의하는데 사용되는 논리에 있어서의 고급 기술을 소유하지 않는 한, 종래의 정규 검증 툴을 사용하여 시스템 설계를 테스트하는 것은 매우 어렵고 신뢰성이 없을 수 있다.
본 발명에 따르면, 설계자가 유한 템플레이트 세트를 이용하여 시스템 설계 스펙을 정확히 정의할 수 있다. 이 유한 템플레이트 세트는 굉장히 단순화하고 명확화한 비교적 소수의 이해하기 쉬운 표현들을 제공하여 설계 스펙을 정의하는 임무를 더욱 신뢰성있게 한다. 전반적으로, 각각의 템플레이트는 시스템 표현 세트(a set of system expressions)를 수용하는 입력 공간 세트(a set of entry spaces)를 갖는다. 시스템 모델 변수의 용어로 작성된 각각의 시스템 표현은 시스템 모델의 조건 또는 실제 값을 정의한다. 이러한 시스템 표현 세트가 템플레이트의 파라미터화된 입력 공간내에 수용되면, 이 채워진(filled) 템플레이트는 시스템의 기대되는 동작 속성을 정의하는 논리 표현을 형성한다. 따라서, 시스템의 각 기대되는 동작에 대해 적절한 템플레이트를 선택하고 선택된 템플레이트의 입력 공간내에 관련된 시스템 표현을 입력하므로써 설계 스펙이 용이하게 정의될 수 있다.
한가지 예시적인 실시예에서, 각 템플레이트의 각 입력 공간은 논리 연산자로서 작용하는 연관된 한정자(an associated qualifier)를 갖는다. 따라서, 시스템의 의도된 동작 속성을 정의하기 위해, 프로그래머는 우선 유한 템플레이트 세트로부터, 의도된 동작 속성을 가장 잘 정의하는 논리적 표현을 형성하는데 사용될 수 있다고 프로그래머가 확신하는 한정자 세트 및 연관된 파라미터화된 입력 공간을 갖는 템플레이트를 선택하여야 한다. 일단 적절한 템플레이트가 선택되면, 프로그래머는 템플레이트를 채우기 위해 시스템 표현을 입력 공간내에 입력시킬 수 있다. 이와 같이 하여 채워진 템플레이트는 의도된 동작 속성을 정의하는 논리적 표현을 형성한다.
고정된 한정자 세트 및 입력 공간을 갖는 템플레이트의 예가 AFTER()EVENTUALLY()이다. 이 템플레이트는 AFTER와 EVENTUALLY라는 한정자 세트와 괄호 ()로 표시되는 입력 공간 세트를 갖는다. 이 템플레이트는 온도가 섭씨 30도 이하로 내려갈 때 오븐을 턴온시키는 것과 같은 의도되는 시스템 동작을 정의하는데 사용될 수 있다. 이를 수행하기 위해 프로그래머는 단지 시스템 모델 변수의 용어로 관련된 시스템 표현을 파라미터화된 입력 공간내로 입력하게 된다. 예를 들면, 표현 t가 온도가 섭씨 30도 보다 낮음를 의미하고, 표현 w가 오븐을 온시킴을 의미하는 시스템 모델에서, 프로그래머는 단지 한정자 AFTER와 연관된 입력 공간내에 표현 t를 입력하고 한정자 EVENTUALLY와 연관된 입력 공간내에 표현 w를 입력하게 된다. 이 결과 채워진 템플레이트, 즉, AFTER(t)EVENTUALLY(w)는 온도가 섭씨 30도 보다 낮아지면, 오븐을 온시킨다라고 하는 동작을 정의하는 논리적 표현을 형성한다. 알 수 있는 바와 같이, 한정자 AFTER와 EVENTUALLY는 영어로 그들의 직관적인 의미를 가지며, 따라서 앞서 설명된 시간 논리 표현보다 각 템플레이트의 의미를 이해하기 쉽게 한다.
예시적인 실시예에서, 프로그래머는 적절한 템플레이트를 선택할 수 있고, 질의 스크린을 통해 관련된 파라미터를 입력할 수 있다. 이 질의 스크린은, 프로그래머에게 주어진 동작 속성을 정의하기 위해 유한 템플레이트 세트를 숙독하여 적절한 템플레이트를 선택하는 수단 및 관련된 파라미터로 선택된 템플레이트를 채우기 위한 수단을 제공하는 스크린 세트의 형식으로 그래픽 인터페이스를 통해 프로그래머에게 제공될 수 있다.
유리하게도, 본 발명은 종래의 검증 및 시뮬레이션 툴에서 사용하기 위한 시스템 설계 스펙을 정의하는데 요구되는 다수의 및/또는 복잡한 논리 표현을 작성하는데 고도의 숙련된 프로그래머에 대한 필요를 제거한다. 따라서, 본 발명은 어느 정도까지 종래 기술의 한계를 극복한다. 이들 및 다른 본 발명의 특징은 도면을 참조한 예시적인 실시예의 상세한 설명으로부터 더욱 명백하게 된다. 그러나 본 발명의 범주는 단지 첨부된 청구범위에 의해서만 제한된다.
도 1은 본 발명에 따라 시스템의 설계 스펙을 정의하는 장치의 예시적인 실시예의 블록도.
도 2는 도 1에 도시된 그래픽 인터페이스를 통해 표시된 템플레이트의 예시적인 실시예의 도면.
도 3은 본 발명에 따라 시스템의 설계 스펙을 정의하는 방법의 예시적인 실시예의 블록도.
도 4는 본 발명에 따라 모델의 동작을 검증하기 위한 시스템의 예시적인 실시예의 블럭도.
도면의 주요부분에 대한 부호의 설명
11 : 라이브러리 12 : 인터페이스
13 : 프로세서 20 : 질의 스크린
21 : 입력 공간 22 : 동작 형태 선택 바
23, 24 : 연관된 입력 공간 25, 26 : 템플레이트 한정자
도 1을 참조하면, 본 발명에 따라 시스템의 설계 스펙을 정의하는 장치(10)의 예시적인 실시예의 블록도가 도시된다. 도시된 바와 같이, 장치(10)은 인터페이스(12) 및 라이브러리(11)에 전기적으로 결합된 프로세서(13)를 구비한다. 인터페이스(12)는 모니터 및 키보드를 포함하는 표준 그래픽 인터페이스일 수 있다. 라이브러리(11)는 판독 전용 메모리와 같은 전자 기억장치 매체일 수 있으며, 유한 템플레이트 세트를 포함한다.
이 유한 템플레이트 세트는 굉장히 간단하고 명확한 이해하기 쉬운 비교적 소수의 표현을 제공하며, 설계 스펙을 정의하는 임무를 더욱 신뢰성있게 한다. 각 템플레이트는 기대되는 또는 의도되는 동작 속성이 정의되고 있는 시스템에 관련된 시스템 표현 세트를 수용하기 위한 입력 공간 세트를 갖는다. 이러한 시스템 표현 세트가 선택된 템플레이트내로 입력되면, 채워진 템플레이트는 시스템의 기대되는 동작 속성을 정의하는 논리 표현을 형성한다. 따라서, 설계 스펙은 시스템의 각각의 기대되는 동작에 대해 적절한 템플레이트를 선택하고 이 템플레이트 입력 공간내에 관련된 시스템 표현을 입력하므로써 용이하게 정의될 수 있다.
이제 도 2를 참조하면, 프로그래머에게 시스템 동작 속성을 정의하기 위해 템플레이트를 선택하여 템플레이트를 채우기 위한 수단을 제공하는 하나의 예시적인 질의 스크린의 실시예가 도시되며, 이후 본 명세서에서 질의 스크린(20)으로서 참조된다. 도시된 바와 같이, 질의 스크린(20)은 정의되는 동작을 명명하기 위한 입력 공간(21)과 프로그래머에게 정의되는 임의의 동작의 형태를 선택하기 위한 수단을 제공하는 선택 바(22)를 제공한다. 입력 공간(21)내에 입력된 명칭은 프로그래머가 시스템의 기대되는 동작을 정의할 때 사용하기를 원하는 임의의 명칭일 수 있다.그러나 선택된 동작 형태(22)는 기대되는 동작 속성을 표현하는데 요구된다고 프로그래머가 판정하는 한정자 세트에 의존한다. 도시된 바와 같이, 프로그래머가 정의되는 시스템 동작 속성이 다수의 한정자중 하나로서 EVENTUALLY를 갖는 템플레이트를 요구한다고 판정하면, 프로그래머는 EVENTUALLY 동작 형태를 선택할 수 있다.
일단 프로그래머가 동작 명칭(예를 들어, 오븐)을 입력하고 동작 형태(예를 들어, EVENTUALLY)를 선택하면, 유한 템플레이트 세트를 리스트하는 윈도우(도시되지 않음)가 스크린(20)을 통해 프로그래머에게 나타내어진다. 이 때, 프로그래머는 유한 템플레이트 세트로부터 의도된 동작을 정의하기 위해 적절한 포맷을 갖는 템플레이트를 선택할 수 있다. 일단 적절한 템플레이트가 선택되면, 질의 스크린(20)은 도시된 바와 같이 템플레이트 한정자(26, 27) 및 그들의 연관된 입력 공간(23, 24)을 나타낸다. 이 때, 프로그래머는 입력 공간내에 시스템 모델 변수(예를 들어, t 및 w)로 작성된 적절한 시스템 표현을 입력하여 템플레이트를 채울 수 있다.
도시된 바와 같이, 수학적 표현 temp30(temp는 온도에 대한 시스템 모델 변수임)을 나타내는 시스템 표현 t는 입력 공간(23)내로 입력되며, 수학적 표현 오븐을 온시킴을 나타내는 시스템 표현 w는 입력 공간(24)내로 입력된다. 채워진 템플레이트는 AFTER(t)EVENTUALLY(w) 형식을 갖는다. 앞서 설명된 심볼 정의를 사용하는데 있어 이러한 표현은 온도가 섭씨 30도 이하로 떨어지면, 시스템은 오븐을 턴온시켜야 한다.를 의미한다. 이와 같이, 질의 스크린(20)을 통해 프로그래머는 기대되는 시스템 동작을 용이하게 정의할 수 있다.
마찬가지로, 시스템 모델의 동작 속성 세트에 대해 방금 설명된 프로세스를 반복하므로써, 질의 스크린(20)은 시스템 모델 설계 스펙을 정의하는데 사용될 수 있다. 시스템 모델 설계 스펙은 시스템의 기대되는 동작 속성을 테스트하기 위해 컴퓨터에 의해 실행가능한 코드를 발생하는데 사용될 수 잇따. 예를 들면, 채워진 템플레이트 세트는 서브루틴에 의해 자동장치(automata), 즉, 허용가능한 동작과 허용불가능한 동작간을 구별하도록 작용하는 어떤 순차적 상태를 갖는 상태 천이 시스템으로 변환될 수 있다. 이와 같은 본 발명의 측면은 이후 보다 상세히 설명된다.
질의 스크린(20)의 포맷은 프로그래머가 동작 속성을 정의하기 위해 템플레이트를 선택하여 채울수 있게 하기 위한 한 방법의 예시적인 실시예일 뿐이다. 본 발명의 다른 실시예에서는, 다른 포맷을 갖는 질의 스크린이 사용될 수도 있다. 예를 들어, 질의 스크린은 프로그래머가 동작 형태(22)를 입력할 필요없이 완전한 유한 템플레이트 세트를 탐색할 수 있게 하는 포맷을 가질 수도 있다. 그리고 질의 스크린은 프로그래머로 하여금 전자 저장 매체로부터 시스템 표현의 검색을 개시하여 선택된 템플레이트의 입력 공간을 채우도록 하는 선택사양을 선택하도록 할 수도 있다.
다음으로, 장치(10)의 동작을 보다 상세히 고찰하면, 장치(10)는 시스템에 대해 기대되는 동작 속성 세트를 갖는 설계 스펙을 정의하는데 사용될 수 있음을 알게 된다. 설명하면, 프로세서(13)는 인터페이스(12)를 통해 프로그래머 또는 설계자에게 라이브러리(11)로 부터의 유한 템플레이트 세트를 나타낼 수 있다. 이 때 프로그래머는 각각의 시스템 동작 속성에 대해, 시스템 동작 속성을 최상으로 표현하기 위한 수단을 제공하는 한정자 세트 및 연관된 입력 공간을 갖는 템플레이트를 선택할 수 있다. 일단 주어진 시스템 동작 속성을 표현하기 위한 템플레이트가 선택되면, 프로세서(13)는 프로그래머에게 템플레이트의 입력 공간내로 적절한 시스템 표현을 입력하도록 질의할 수 있다. 그 결과 채워진 템플레이트는, 주어진 시스템 동작 속성을 정의하는 한정자 세트 및 연관된 시스템 표현으로 구성된 논리적 표현이 된다. 결과적으로, 프로그래머는 시스템 동작 속성 세트에 대해 이상의 프로세스를 반복하여 궁극적으로 시스템 설계 스펙을 정의할 수 있다.
설명하면, 시스템(10)은, 예를 들어, 온도가 섭씨 30도 이하로 내려갔을 때 오븐을 턴온시키는 시스템의 기대되는 동작 속성을 정의하는데 사용될 수 있다. 이러한 기대되는 동작 속성을 정의하기 위해 프로그래머는 유한 템플레이트 세트를 숙독하여 프로그래머가 믿기에 기대되는 동작 속성을 최상으로 표현 또는 정의할 수 있는 한정자 세트 및 연관된 입력 공간(즉, 템플레이트 포맷)을 갖는 템플레이트를 판정할 수 있다. 이러한 템플레이트를 판정하기 위해 프로그래머는 우선, 상술된 조건하에 오븐을 턴온시키는 동작을 표현 또는 정의하는데 사용될 수 있는 전반적인 템플레이트 포맷(즉, 한정자 세트 및 연관된 입력 공간)을 결정할 수 있다. 즉, 프로그래머는 동작 속성의 간결한 영어 문장을 간단히 작성할 수 있고, 이 간결한 문장으로부터 동작을 정의하는데 사용될 수 있는 전반적인 템플레이트 포맷을 추출할 수 있다.
예를 들면, 앞서 설명된 동작을 표현 또는 정의하기 위해 템플레이트를 선정하는데 있어, 프로그래머는 우선 문장 온도가 섭씨 30도 이하로 떨어지면, 오븐을 턴온시킨다.을 작성할 수 있다. 이 간단한 문장으로부터 프로그래머는 이 동작을 표현하기 위한 전반적인 템플레이트 형태가 AFTER(온도가 섭씨 30도 이하로 내려가면)EVENTUALLY(오븐을 턴온시킴)임을 결정할 수 있으며, 여기서 AFTER와 EVENTUALLY는 제각기 연관된 조건, 즉, 온도가 섭씨 30도 이하로 내려감과 오븐을 턴온시킴을 한정한다. 이러한 전반적인 템플레이트 포맷을 이용하여 프로그래머는 유한 템플레이트 세트를 숙독하여 정합하는 포맷을 갖는 템플레이트를 판정할 수 있다. 일단 적절한 템플레이트가 선택되면, 프로그래머는 템플레이트에 정의되는 시스템 동작 속성에 특정하는 적절한 세부사항(즉, 시스템 표현들)을 입력하거나 채울 수 있다.
물론, 영어 프로토타입을 공식화할 시에 프로그래머는 이용가능한 템플레이트 세트를 기억할 필요가 있다. 이러한 이유로, 유한 템플레이트 세트는 작은 세트이어야 할 것이 중요하다. 다른 한편, 프로그래머는 주어진 템플레이트 세트가 이러한 세트로 표현될 수 있는 모든 특성을 표현하는데 충분하다는 것을 아는 것이 유용하다. 그러므로 필수적이지는 않지만, 유한 템플레이트 세트내에 세트내의 기존의 템플레이트로는 아직 표현할 수 없는 특성을 표현할 수 있는 부가의 템플레이트는 존재하지 않는다는 의미에서 완전한(complete) 유한 템플레이트 세트를 갖는 것이 유용하다.
본 실시예에서, 프로그래머는 라이브러리(11)를 숙독하여 포맷 AFTER(인에이블 조건)EVENTUALLY(수행 조건)을 갖는 템플레이트를 발견할 수도 있다. 이러한 템플레이트가 발견되어 선택되면, 프로그래머는 앞서 언급된 적절한 시스템 표현으로 선택된 템플레이트의 입력 공간을 채우기 위해 인터페이스(12)를 사용할 수 잇다. 이와 같이 하여 채워진 템플레이트는 이 때 AFTER(t)EVENTUALLY(w)가 되며, 여기서 t는 온도가 섭씨 30도 이하임을 의미하는 시스템 표현(예를 들면, 불함수 표현(Boolean expression))이고, w는 오븐이 턴온됨을 의미하는 시스템 표현(예를 들면, 불함수 표현)이다. 선택된 템플레이트의 한정자 AFTER 및 EVENTUALLY의 직관적인 의미를 취하는데 있어서, 채워진 템플레이트는 온도가 섭씨 30도 이하로 내려가면 결과적으로 오븐을 턴온해야 한다라는 동작을 정의하기 위해 쉽게 이해된다. 이러한 예로부터, 본 발명이 시스템 동작 속성들의 세트를 정의하는데 사용될 수 있고, 따라서 시스템 설계 스펙을 정의하는데 사용될 수 있음을 알 수 있다. 즉, 시스템의 각 동작 속성은 유한 템플레이트 세트로부터 적절한 템플레이트를 선택하고, 적절한 시스템 표현(예를 들면, 불함수 표현)을 입력하여 시스템 설계 스펙을 정의하는 채워진 템플레이트 세트를 형성하므로써 정의될 수 있다.
본 발명의 예시적인 실시예에서, 시스템의 동작 속성은 특성 및/또는 제한으로서 표현될 수 있음을 주목해야 하며, 여기서 특성은 시스템의 기능 또는 특징이고, 제한은 시스템 환경으로 인한 시스템의 동작에 대한 가정이다. 즉, 몇몇 테스트 조건하에 이들 특성 및 제한은 기대되는 동작을 정의하는데 사용되어야 할 것이 요구될 수 있다. 예를 들면, 앞서 설명된 시스템에서, 오븐을 턴온하는 동작 속성은, 설계가 충분히 긴 시간동안 파워를 유지하는 요건에 대해 예측될 수 있다.
이러한 시스템의 설계 스펙을 정의할 때, 프로그래머는 주어진 조건하에 오븐을 턴온하는 기능을 정의하기 위한 제 1 템플레이트와, 오븐이 항상 충분히 파워공급되는 것으로 가정되는 조건을 정의하기 위한 제 2 템플레이트를 선택할 수도 있다. 제 1 및 제 2 템플레이트를 조합하므로써, 시스템 모델이 충분히 오랜 시간동안 파워공급되지 않았다는 이유만으로 오븐의 동작이 실패한 것으로 간주될 가능성을 제거하면서, 오븐을 턴온하는 시스템 모델 기능을 테스트하는데 사용될 수 있다. 이러한 실시예에서, 제 1 템플레이트는 시스템의 기능 또는 특징(즉, 시스템 특성)을 정의하는데 사용되므로 특성 템플레이트로 불리워질 수 있고, 제 2 템플레이트는 시스템의 테스트 환경에 대한 제한(즉, 시스템 제한)을 두는데 사용되므로 제한 템플레이트로 불리워질 수 있다. 특성 템플레이트 및 제한 템플레이트는 앞서 설명된 바와 같이 선정되어 채워질 수 있다.
예시를 위해, 프로그래머는 우선 오븐을 턴온시키는 의도된 특성을 정의하기 위해 적절한 시스템 표현으로 포맷 AFTER(인에이블 조건)EVENTUALLY(수행 조건)을 갖는 템플레이트를 선택하여 채울 수 있다. 이와 같이 하여 얻어지는 특성 템플레이트는 앞서 설명된 바와 같이 AFTER(t)EVENTUALLY(w)가 된다. 그리고 나서, 프로그래머는 유한 템플레이트 세트로부터 앞서 설명된 시스템 제한을 정의하기 위한 제 2 템플레이트를 선택할 수 있다. 예를 들면, 프로그래머는 포맷 ASSUME ALWAYS(수행 조건)을 갖는 템플레이트를 선택할 수 있으며, 여기서 수행 조건은 시스템이 충분히 파워공급되었다는 조건이다. 일단 이러한 포맷을 갖는 템플레이트가 선정되면, 프로그래머는 간단히 수행 조건을 묘사하는, 시스템 변수의 용어로 작성된 시스템 표현을 수행 조건에 대한 입력 공간내에 채운다.
일실시예에서, p는, 참(true)인 경우 시스템이 충분히 파워공급된 조건을 표시하는 시스템 표현이며, 결과적인 제한 템플레이트는 ASSUMEALWAYS(p)가 된다. 이러한 실시예에서, 채워진 특성 템플레이트, AFTER(t)EVENTUALLY(w)와 채워진 제한 템플레이트, ASSUMEALWAYS(p)의 조합은, 시스템 모델이 충분한 시간동안 파워공급되었음을 가정하면서 온도가 섭씨 30도 이하로 내려갔을 때 오븐을 턴온하는 기대되는 동작 속성을 정의한다. 따라서, 방금 설명된 특성 템플레이트와 제한 템플레이트를 설계 스펙으로 조합함에 의해 프로그래머는 오븐의 기능성에 대한 시스템 모델의 테스트가 불충분한 시스템 파워로 인해 실패를 보고하게 될 가능성을 제거한다. 따라서, 템플레이트 라이브러리를 특성 템플레이트와 제한 템플레이트로 분리하므로써 시스템 설계 스펙은 표현 및 이해가 훨씬 더 용이해짐을 알 수 있다.
이러한 예로부터, 본 발명의 예시적인 일실시예에서 유한 특성 템플레이트 세트와 유한 제한 템플레이트 세트를 갖는 라이브러리를 포함할 수 있음을 알 수 있다. 이러한 라이브러리로부터, 프로그래머는 시스템의 특성 및 제한을 정의하여 시스템 설계 스펙을 정의할 수 있다. 또한, 이러한 라이브러리는 시스템 동작 속성을 정의하기 위한 동일한 일반적 구조 또는 포맷(즉, 시스템 파라미터 또는 조건을 위한 한정자 및 연관된 입력 공간 세트)을 갖는 특성 템플레이트 및 제한 템플레이트를 포함할 수 있다. 본 발명에 따라 이러한 유사한 구조의 템플레이트를 사용하여 시스템 설계 스펙을 정의하므로써 프로그래머에 대한 템플레이트의 모양이 간략화되며, 검증 및 시뮬레이션 툴을 사용하여 시스템 동작 속성을 테스트하기 위해 채워진 템플레이트로부터 컴퓨터 코드를 발생하는 것을 간략화시킬 수 있다.
더욱이, 본 발명의 또 다른 실시예에서, 프로그래머는 질의 스크린을 이용하지 않는 방법으로 템플레이트를 선택하고 채우는 기능을 수행할 수도 있다. 따라서, 당분야에 숙련된 자라면 유한 템플레이트 세트로부터 템플레이트를 선택하고 적절한 시스템 정보로 선택된 템플레이트를 채우기 위한 어떤 바람직한 수단을 이용할 수 있음이 이해된다.
몇몇 실시예에서, 각각의 템플레이트는 동일한 수의 파라미터화된 입력 공간을 가질 수도 있으며, 여기서 각각의 입력 공간은 한정자와 연관된다. 예시적으로, 각각의 템플레이트는 3개의 한정자, 즉, 인에이블 한정자, 수행 한정자 및 해제 한정자를 가질 수도 있다. 각각의 이러한 한정자는, 한정자가 입력 공간내로 입력되는 특정 시스템 표현(즉, 시스템 조건)을 한정할 수 있도록 템플레이트의 파라미터화된 입력 공간과 연관될 수 있다. 수행 한정자와 연관된 파라미터화된 입력 공간내로 입력되는 시스템 표현은 시스템의 수행 조건을 표시하는 것으로 언급될 수 있으며, 여기서 수행 조건은 시스템 동작 속성에 의해 요구되는 사건을 정의한다. 인에이블 한정자와 연관된 파라미터화된 입력 공간내로 입력되는 시스템 표현은 시스템의 인에이블 조건을 표시하는 것으로 언급될 수 있으며, 여기서 인에이블 조건은 수행 조건의 체크를 시작하기 위한 사전조건을 정의한다. 해제 한정자와 연관된 파라미터화된 입력 공간내로 입력되는 시스템 표현은 시스템의 해제 조건을 표시하는 것으로 언급될 수 있으며, 여기서 해제 조건은 상기 수행 조건이 더 이상 요구되지 않게 되는 조건을 표시한다. 따라서, 선택된 템플레이트의 파라미터화된 입력 공간을 채우기 위해 프로그래머는 적절한 시스템 표현을 작성할 수 있을 것만이 필요하며, 여기서 각각의 시스템 표현은 적절한 조건 또는 파라미터를 묘사하기 위해 시스템 모델의 프로그램 변수를 사용한다. 하나의 예시적인 실시예에서, 몇몇 파라미터화된 입력 공간은 비워 둘수도 있다. 이러한 실시예는 프로그래머에게 더욱 큰 시스템 특성 및 시스템 제한 세트를 정의할 수 있는 능력을 제공한다. 예시적으로, 템플레이트 AFTER()ASSUMEALWAYS()UNLESS()의 세번째 파라미터화된 입력 공간, 즉, 해제 조건을 비워두면, 그 결과 얻어지는 템플레이트는 상이한 템플레이트, 즉, AFTER()ASSUMEALWAYS()를 정의한다.
템플레이트는 앞서 언급된 바와 같은 3개-한정자 포맷에 한정되지 않음에 유의해야 한다. 오히려, 본 발명에 따른 템플레이트 라이브러리는 전혀 한정자를 갖지 않고, 단지 입력 공간 세트만을 갖는 템플레이트를 포함할 수도 있다. 또는 템플레이트는 적어도 하나의 한정자 및 적어도 하나의 연관된 입력 공간을 가질 수도 있다. 예를 들면, 라이브러리는 포맷 EVENTUALLY(수행 조건)을 갖는 템플레이트를 포함할 수도 있다. 또는, 라이브러리는 연관된 입력 공간을 갖는 하나의 한정자와, 연관된 입력 공간을 갖는 두 개의 선택사양적 한정자를 갖는 템플레이트를 포함할 수도 있다. 예를 들어, 템플레이트는 포맷 Enabling Qualifier(인에이블 조건)Fulfilling Qualifier(수행 조건)Discharging Qualifier(해제 조건)을 가질 수 있으며, 여기서 단지 수행 조건은 템플레이트가 채워지도록 시스템 표현을 입력할 것을 요구한다. 또 다른 가능성은 바람직한 템플레이트 포맷을 형성하기 위해 프로그래머가 가능한 한정자 리스트로부터 몇 개의 한정자중 어느 하나를 선정하도록 하기 위한 수단을 제공하는 것이다. 임의의 이러한 템플레이트는 앞서 설명된 바와 같이 설계 스펙을 정의하는데 사용될 수도 있다.
또한, 특성 템플레이트 세트와 제한 템플레이트 세트로 구성된 라이브러리 템플레이트는 인에이블 한정자를 갖는 특성 템플레이트 서브세트를 가질 수 있으며, 여기서 선택된 특성 템플레이트의 인에이블 한정자는 AFTER, 또는 IF REPEATEDLY일 수 있음을 주목해야 한다. 또한, 각각의 특성 템플레이트는 수행 한정자를 가질 수도 있으며, 여기서 선택된 특성 템플레이트의 수행 한정자는 ALWAYS, NEVER, EVENTUALLY, 또는 EVENTUALLY ALWAYS일 수 있다. 또한, 각각의 특성 템플레이트는 해제 한정자를 가질 수도 있으며, 여기서 선택된 템플레이트의 해제 한정자는 UNLESS, UNTIL, UNLESS AFTER 또는 UNTIL AFTER일 수 있다. 각각의 선택된 특성 템플레이트에서, 한정자에는 앞서 설명된 바와 같이 그들의 직관적인 영어적 의미가 제공될 수 있다.
더욱이, 방금 설명된 바와 같은 라이브러리는 제한 템플레이트 세트를 포함할 수도 있으며, 여기서 각각의 제한 템플레이트는 인에이블 한정자를 갖되, 선택된 제한 템플레이트의 인에이블 한정자는 AFTER, 또는 IF REPEATEDLY일 수 있음에 주목해야 한다. 또한, 각각의 제한 템플레이트는 수행 한정자를 가질 수도 있으며, 여기서 선택된 제한 템플레이트의 수행 한정자는 ASSUME ALWAYS, ASSUME NEVER, ASSUME EVENTUALLY 또는 ASSUME EVENTUALLY ALWAYS일 수 있다. 또한, 각각의 제한 템플레이트는 해제 한정자를 가질 수도 있으며, 여기서 선택된 제한 템플레이트의 해제 한정자는 UNLESS, UNTIL, UNLESS AFTER, 또는 UNTIL AFTER일 수 있다. 각각의 선택된 제한 템플레이트에서 한정자에는 앞서 설명된 바와 같은 그들의 직관적인 영어적 의미가 제공될 수 있다.
또 다른 예시적인 실시예에서, 템플레이트는 시스템 모델의 순차적인 클럭을 참조하는 순차적 구성요소를 가질 수도 있다. 예를 들면, 템플레이트 AFTER(인에이블 조건)ByCLOCK(N)(수행 조건)UNLESS(해제 조건)에서 순차적 구성요소 ByCLOCK(N)이 지정된 인에이블 조건이 N개의 클럭 똑딱임내에 발생하도록 요구되는 수행 조건을 표시하는 파라미터화된 입력 공간을 정의하는데 사용될 수 있다.
유한 템플레이트 세트의 예시적인 실시예가 본 명세서에 첨부된 부록 A에 도시되고 정의된다. 도시된 바와 같이, 부록 A는 실질적으로 완전한 유한 템플레이트 세트를 수록한다. 즉, 부록 A에 수록된 템플레이트 세트는 프로그래머로 하여금 이러한 템플레이트를 통해 표현될 수 있는, 시스템의 모든 기대되는 동작 속성을 표현할 수 있게 하기에 충분하다. 또는, 다르게 말해서, 여기에 수록된 템플레이트에 의해 여전히 표현할 수 없는 시스템 동작을 표현하는데 사용될 수 있는, 부록 A에 수록된 유한 템플레이트 세트에 추가될 수 있는 템플레이트는 없다.
본 발명을 구현하는 장치는 프로그래머에 의한 수동 입력에 의해 템플레이트를 채우기 위해 조건 또는 시스템 표현을 획득해야 할 필요가 없음에 유의해야 한다. 이러한 입력은 소망하는 어떤 수단에 의해서 이루어질 수 있다. 예를 들어, 본 발명에 따른 장치는 다른 시스템 또는 머신으로부터 입력을 수신할 수도 있고 또는 시스템 표현이 저장된 컴퓨터 디스크로부터 정보를 획득할 수도 있다. 또한, 본 발명에 따른 장치는, 프로그래머 또는 시스템에게 적절한 템플레이트를 선택하고 앞서 설명된 바와 같이 선택된 템플레이트를 채우기 위해 시스템 표현을 입력하는 수단을 제공하는 질의 스크린 세트를 제공할 수 있다.
제 3 도를 참조하면, 이후 방법(30)으로 언급되는, 본 발명에 따라 시스템의 설계 스펙을 정의하기 위한 방법의 한가지 예시적인 실시예의 도면이 도시된다. 도시된 바와 같이, 방법(30)은 프로그래머가 유한 템플레이트 세트로부터 시스템의 기대되는 동작 속성을 정의하기에 적절한 포맷을 갖는 템플레이트를 선택할 수 있도록 질의 스크린을 통해 유한 템플레이트 세트를 제공하는 단계(31)를 포함한다. 주어진 기대되는 동작 속성에 대해 일단 템플레이트가 선정되면, 단계(32)에서 필요한 시스템 표현이 프로그래머로부터 수신된다. 그리고 나서, 단계(33)에서 선택된 템플레이트를 채우기 위해 수신된 시스템 표현이 입력되어, 기대되는 동작 속성의 표현을 형성한다. 이러한 처리는 시스템 설계 스펙을 형성하기 위해 기대되는 동작 속성이 정의되는 동안 반복된다. 그리고 나서, 시스템 설계 스펙은 단계(34)에서, 시스템 모델이 기대되는 대로(즉, 시스템 설계 스펙에 정의된 대로) 동작하는지의 여부를 테스트하기 위해 검증 툴에 의해 사용될 수 있는 자동장치로 변환될 수 있다. 이러한 변환은 서브루틴 세트에 의해 수행될 수 있다.
이러한 서브루틴 세트의 한가지 예시적인 실시예가 부록 A에 도시된다. 부록 A에, 각각의 템플레이트가 채워졌을 때 템플레이트를 자동장치로 변환하기 위한 연관된 서브루틴을 제각기 갖는 템플레이트 세트가 도시되며, 상태 천이 시스템에 대한 자동장치 세트, 즉, 자동화는 시스템 모델의 허용가능한 동작과 허용불가능한 동작간을 분별하도록 동작하는 특정의 순차적 상태를 갖는다. 결과적으로, 시스템 설계 스펙을 포함하는 모든 채워진 템플레이트를 부록 A에 수록된 서브루틴 세트에 의해 변환함으로써, 시스템 설계 스펙은 시스템 모델의 동작이 시스템 설계 스펙에 정의된 의도된 동작인지의 여부를 테스트하기 위해 검증 툴에 의해 사용될 수 있는 자동장치로 변환될 수 있다. 그러나 본 발명은 부록 A에 도시된 특정의 서브루틴 세트에 국한되지 않는다. 서브루틴 세트는 당분야에 숙련된 자가 본 명세서에 설명된 바와 같이 채워진 템플레이트 세트를 변환하는 방법/장치/시스템을 성취하기 위해 소망하는 어떤 형태로도 설계될 수 있다.
본 발명에 따라, 시스템 모델 설계 스펙을 정의하고, 시스템 모델 설계 스펙을 자동장치로 변환하고 이 자동장치에 의해 시스템 모델의 동작을 체크하기 위한 시스템의 기능적 블럭도가 도 4에 도시된다. 도시된 바와 같이, 프로그래머(41)는 단계(42)에서 모델의 기대되는 동작에 의한 정의를 확립한다. 단계(43)에서 유한 템플레이트 세트로부터 특성 템플레이트 및 제한 템플레이트 세트가 선정된다. 그리고 나서, 프로그래머는 시스템 설계 스펙을 정의하기 위해 시스템 모델 변수의 용어로 작성된 시스템 표현으로 선택된 템플레이트를 채울 수 있다. 다음으로, 모델이 설계 스펙에 정의된 대로 동작하는지의 여부를 체크하기 위해, 단계(44)에서, 시스템 설계 스펙은 모델에 대한 정의와 함께 검증 툴(44)에 공급되는 논리적 표현 세트(즉, 자동장치)를 발생하는데 사용될 수 있다. 단계(45)에서 이러한 검증의 결과가 보고된다.
이상 본 발명이 다양한 실시예를 참조하여 특별히 도시되고 설명되었지만, 당분야에 숙련된 자라면 본 발명의 사상 및 범주로부터 벗어나지 않고 변경 및 수정이 이루어질 수 있음을 알 것이다. 그러므로 본 발명은 더욱 넓은 측면에서 여기에 도시되고 설명된 특정의 세부사항에 한정되지 않는다. 따라서, 첨부된 청구범위 및 그의 등가물에 의해 정의된 전반적인 독창적인 개념의 사상 또는 범주로부터 벗어나지 않고 다양한 수정이 이루어질 수 있다.
본 발명에 의하면, 설계자가 유한 템플레이트 세트를 이용하여 시스템 설계 스펙을 정확히 정의할 수 있다. 이 유한 템플레이트 세트는 굉장히 단순화하고 명확화한 비교적 소수의 이해하기 쉬운 표현들을 제공하여 설계 스펙을 정의하는 임무를 더욱 신뢰성있게 한다. 전반적으로, 각각의 템플레이트는 시스템 표현 세트(a set of system expressions)를 수용하는 입력 공간 세트(a set of entry spaces)를 갖는다. 시스템 모델 변수의 용어로 작성된 각각의 시스템 표현은 시스템 모델의 조건 또는 실제 값을 정의한다. 이러한 시스템 표현 세트가 템플레이트의 파라미터화된 입력 공간내에 수용되면, 이 채워진(filled) 템플레이트는 시스템의 기대되는 동작 속성을 정의하는 논리 표현을 형성한다. 따라서, 시스템의 각 기대되는 동작에 대해 적절한 템플레이트를 선택하고 선택된 템플레이트의 입력 공간내에 관련된 시스템 표현을 입력하므로써 설계 스펙이 용이하게 정의될 수 있다.

Claims (55)

  1. 시스템 설계 스펙을 정의하는 장치에 있어서,
    적어도 하나의 입력 공간을 제각기 갖는 유한 템플레이트 세트를 구비한 라이브러리와;
    시스템 모델의 의도된 동작 속성을 정의하는 채워진 템플레이트를 형성하기 위해 시스템 표현 세트로 선택된 템플레이트의 상기 입력 공간을 채우는 수단
    을 포함하는 시스템 설계 스펙 정의 장치.
  2. 제 1 항에 있어서,
    상기 각 입력 공간은 파라미터화된 입력 공간이고, 따라서, 상기 각 템플레이트가 파라미터화된 템플레이트인 장치.
  3. 제 2 항에 있어서,
    상기 각 파라미터화된 템플레이트는 상기 유한 템플레이트 세트내에서 모든 다른 파라미터화된 템플레이트와 유사한 구조를 갖는 장치.
  4. 제 3 항에 있어서,
    상기 파라미터화된 유한 템플레이트 세트는 특성 템플레이트 세트와 제한 템플레이트 세트를 포함하는 장치.
  5. 제 1 항에 있어서,
    상기 입력 공간 세트는 수행 조건을 위한 입력 공간(X), 인에이블 조건을 위한 선택사양적 입력 공간(Y) 및 해제 조건을 위한 선택사양적 입력 공간(Z)을 포함하되, 상기 수행 조건 입력 공간(X)은 소정 시간에 참(true)이어야 하는 수행 조건을 정의하는 시스템 표현을 수용하기 위한 것이고, 상기 선택사양적 인에이블 조건 입력 공간(Y)은 상기 수행 조건이 수행되어야 하는 인에이블 조건을 정의하는 시스템 표현을 수용하기 위한 것이며, 상기 선택사양적 해제 조건 입력 공간(Z)은 상기 수행 조건이 더이상 수행될 필요가 없는 해제 조건을 정의하는 시스템 표현을 수용하기 위한 것인 장치.
  6. 제 5 항에 있어서,
    상기 각 입력 공간은 연관된 한정자를 갖는 장치.
  7. 제 6 항에 있어서,
    상기 수행 조건 입력 공간(X)은 상기 수행 조건을 일시적으로 한정하기 위한 연관된 수행 한정자(B)를 갖고, 상기 인에이블 조건 입력 공간(Y)은 상기 인에이블 조건을 일시적으로 한정하기 위한 연관된 인에이블 한정자(A)를 갖고, 상기 해제 조건 입력 공간(Z)은 상기 해제 조건을 일시적으로 한정하기 위한 연관된 해제 한정자(C)를 갖는 장치.
  8. 제 7 항에 있어서,
    상기 각 선택된 템플레이트는 AYBXCZ을 포함하는 포맷을 갖는 장치.
  9. 제 7 항에 있어서,
    상기 인에이블 한정자(A)는 AFTER, 및 IF REPEATEDLY를 포함하는 그룹으로부터 선택된 한정자인 장치.
  10. 제 7 항에 있어서,
    상기 수행 한정자(B)는 ALWAYS, NEVER, EVENTUALLY 및 EVENTUALLY ALWAYS를 포함하는 그룹으로부터 선택된 한정자인 장치.
  11. 제 7 항에 있어서,
    상기 해제 한정자(C)는 UNLESS, UNTIL, UNLESS AFTER 및 UNTIL AFTER를 포함하는 그룹으로부터 선택된 한정자인 장치.
  12. 제 1 항에 있어서,
    상기 입력 공간 세트의 서브세트는 적어도 하나의 연관된 한정자를 갖는 장치.
  13. 제 12 항에 있어서,
    상기 연관된 한정자는 고정된 한정자 세트로부터 선택되는 장치.
  14. 제 13 항에 있어서,
    상기 고정된 한정자 세트는 AFTER, IF REPEATEDLY, ALWAYS, NEVER, EVENTUALLY, EVENTUALLY ALWAYS, UNLESS, UNTIL, UNLESS AFTER, UNTIL AFTER 및 CLOCK을 포함하는 장치.
  15. 제 1 항에 있어서,
    상기 유한 템플레이트 세트는 부록 A에 도시된 템플레이트 세트를 포함하는 장치.
  16. 제 1 항에 있어서,
    상기 입력 공간 세트를 채우는 수단은 인터페이스를 통해 프로그래머에게 질의 스크린 세트를 제공하는 프로세서를 포함하는 장치.
  17. 제 16 항에 있어서,
    상기 질의 스크린 세트는 상기 프로그래머로부터 상기 시스템 표현을 수신하도록 동작하는 장치.
  18. 제 17 항에 있어서,
    상기 유한 템플레이트 세트는 메모리에 저장되는 장치.
  19. 제 1 항에 있어서,
    상기 유한 템플레이트 세트로부터 상기 선택된 템플레이트를 선택하는 수단을 더 포함하는 장치.
  20. 시스템 설계 스펙을 정의하는 장치에 있어서,
    유한 템플레이트 세트를 포함하는 라이브러리로부터 템플레이트를 선택하는 수단으로서, 상기 선택된 템플레이트는 입력 공간과 제각기 연관된 한정자 세트 및 입력 공간 세트를 갖는, 상기 수단과;
    상기 선택된 템플레이트의 상기 입력 공간내로 시스템 표현을 입력하는 수단으로서, 상기 시스템 표현과 상기 연관된 한정자는 조합으로 시스템 동작 속성을 정의하는, 상기 수단
    을 포함하는 시스템 설계 스펙 정의 장치.
  21. 제 20 항에 있어서,
    상기 유한 템플레이트 세트는 특성 템플레이트 세트와 제한 템플레이트 세트를 포함하는 장치.
  22. 제 20 항에 있어서,
    상기 유한 템플레이트 세트는 부록 A에 수록된 템플레이트 세트를 포함하는 장치.
  23. 제 20 항에 있어서,
    상기 각 템플레이트는 수행 한정자(B), 인에이블 한정자(A) 및 해제 한정자(C)를 포함하는 한정자 세트를 갖는 장치.
  24. 제 20 항에 있어서,
    상기 수행 한정자(B)와 연관된 상기 파라미터는 시스템 동작 속성에 의해 요구되는 사건을 정의하는 수행 조건(X)을 표시하고, 상기 인에이블 한정자(A)와 연관된 상기 파라미터는 상기 수행 조건(X)의 체크를 개시하기 위한 사전조건을 정의하는 인에이블 조건(Y)을 표시하며, 상기 해제 한정자(C)와 연관된 상기 파라미터는 상기 수행 조건(X)이 더이상 요구되지 않는 조건을 나타내는 해제 조건(Z)을 표시하는 장치.
  25. 제 24 항에 있어서,
    상기 각 선택된 템플레이트는 AYBXCZ 형식을 포함하는 포맷을 갖되, AY 및 CZ은 선택사양적인 장치.
  26. 제 25 항에 있어서,
    상기 입력 세트를 수신하는 수단은 프로그래머에게 상기 수행 조건(X), 상기 인에이블 조건(Y) 및 상기 해제 조건(Z)을 표시하는 상기 파라미터를 요구하기 위해 질의 세트를 제공하도록 동작하는 장치.
  27. 제 26 항에 있어서,
    상기 질의 세트는 메모리에 저장되는 장치.
  28. 제 27 항에 있어서,
    상기 선택된 템플레이트는 시스템 특성 템플레이트인 장치.
  29. 제 28 항에 있어서,
    상기 선택된 템플레이트의 상기 인에이블 한정자는 AFTER, 및 IF REPEATEDLY를 포함하는 그룹으로부터 선택된 한정자인 장치.
  30. 제 28 항에 있어서,
    상기 선택된 템플레이트의 수행 한정자는 ALWAYS, NEVER, EVENTUALLY 및 EVENTUALLY ALWAYS를 포함하는 그룹으로부터 선택된 한정자인 장치.
  31. 제 28 항에 있어서,
    상기 선택된 템플레이트의 상기 해제 한정자는 UNLESS, UNTIL, UNLESS AFTER 및 UNTIL AFTER을 포함하는 그룹으로부터 선택된 한정자인 장치.
  32. 제 27 항에 있어서,
    상기 선택된 템플레이트는 시스템 제한 템플레이트인 장치.
  33. 제 32 항에 있어서,
    상기 선택된 템플레이트의 상기 인에이블 한정자는 AFTER, 및 IF REPEATEDLY를 포함하는 그룹으로부터 선택된 한정자인 장치.
  34. 제 32 항에 있어서,
    상기 선택된 템플레이트의 상기 수행 한정자는 ASSUME ALWAYS, ASSUME NEVER, ASSUME EVENTUALLY, ASSUME EVENTUALLY ALWAYS, ALWAYS, NEVER, EVENTUALLY 및 EVENTUALLY ALWAYS를 포함하는 그룹으로부터 선택된 한정자인 장치.
  35. 제 32 항에 있어서,
    선택된 템플레이트의 상기 해제 한정자는 UNLESS, UNTIL, UNLESS AFTER 및 UNTIL AFTER를 포함하는 그룹으로부터 선택된 한정자인 장치.
  36. 임의의 모델에 대한 설계 스펙을 생성하기 위한 시스템에 있어서,
    연관된 입력 공간을 제각기 갖는 한정자 세트를 제각기 구비하는 유한 템플레이트 세트를 포함하는 라이브러리와;
    시스템 동작 속성을 정의하는 채워진 템플레이트를 형성하기 위해 상기 연관된 입력 공간내로 파라미터를 수신하는 수단과;
    상기 채워진 템플레이트로부터, 상기 시스템 동작 속성을 모델로 테스트하기 위한 테스팅 툴에 의해 사용가능한 컴퓨터에 의해 실행가능한 코드 바디를 발생하는 수단
    을 포함하는 모델의 설계 스펙 생성 시스템.
  37. 제 36 항에 있어서,
    상기 테스팅 툴은 검증 툴인 시스템.
  38. 제 36 항에 있어서,
    상기 테스팅 툴은 시뮬레이션 툴인 시스템.
  39. 제 36 항에 있어서,
    상기 컴퓨터에 의해 실행가능한 코드 바디는 정식 검증 툴로 상기 시스템 모델 동작을 테스팅하는데 사용하기 위한 자동장치를 정의하는 시스템.
  40. 시스템의 설계 스펙을 정의하는 장치로서, 상기 장치는 파라미터화된 입력 세트를 수용하기 위한 포맷을 제각기 갖는 유한 템플레이트 세트를 포함하여, 상기 템플레이트가 상기 파라미터화된 입력으로 채워졌을 때 시스템 모델의 기대되는 동작 속성을 정의하는 시스템의 설계 스펙 정의 장치.
  41. 제 40 항에 있어서,
    상기 유한 템플레이트 세트는 특성 템플레이트 세트 및 제한 템플레이트 세트를 포함하는 장치.
  42. 제 41 항에 있어서,
    상기 특성 템플레이트는 상기 제한 템플레이트와 동일한 포맷을 갖는 장치.
  43. 제 42 항에 있어서,
    상기 각 파라미터는 시스템 변수 및 시스템 입력의 용어로 표현되는 장치.
  44. 제 43 항에 있어서,
    상기 각 템플레이트에 대한 상기 포맷은 고정된 입력 공간 세트를 포함하는 장치.
  45. 제 44 항에 있어서,
    상기 고정된 입력 공간 세트는 시스템 모델의 요구되는 사건을 정의하는 파라미터화된 입력을 수용하기 위한 수행 조건 입력 공간(X)과, 상기 요구된 사건의 체크를 개시하기 위한 사전조건을 정의하는 파라미터화된 입력을 수용하기 위한 인에이블 조건 입력 공간(Y)과, 상기 요구된 사건이 더이상 요구되지 않는 조건을 나타내는 파라미터화된 입력을 수용하기 위한 해제 조건 입력 공간(Z)을 포함하는 장치.
  46. 제 45 항에 있어서,
    상기 각 입력 공간은 한정자에 의해 한정되는 장치.
  47. 제 46 항에 있어서,
    상기 수행 조건 입력 공간(X)은 제 1 한정자(A)에 의해 한정되고, 상기 인에이블 조건 입력 공간(Y)은 제 2 한정자(B)에 의해 한정되며, 상기 해제 조건 입력 공간(Z)은 제 3 한정자(C)에 의해 한정되는 장치.
  48. 제 44 항에 있어서,
    상기 각 템플레이트에 대한 상기 포맷은 BXAYCZ 형식을 포함하는 장치.
  49. 제 48 항에 있어서,
    상기 수행 조건 입력 공간, 상기 인에이블 조건 입력 공간 및 상기 해제 조건 입력 공간내에 수용되는 상기 파라미터화된 입력은 질의 스크린 세트를 통해 획득되는 장치.
  50. 제 46 항에 있어서,
    상기 유한 템플레이트 세트는 메모리에 저장되는 장치.
  51. 제 50 항에 있어서,
    상기 한정자는 AFTER, IF REPEATEDLY, EVENTUALLY, ASSUME EVENTUALLY, EVENTUALLY ALWAYS, ASSUME EVENTUALLY ALWAYS, UNLESS, UNTIL, UNLESS AFTER, UNTIL AFTER, NEVER 및 ALWAYS를 포함하는 한정자 세트로부터 선택되는 장치.
  52. 제 40 항에 있어서,
    상기 템플레이트 세트는 부록 A에 수록된 템플레이트 세트를 포함하는 장치.
  53. 시스템의 설계 스펙을 정의하는 방법에 있어서,
    시스템 속성을 묘사하는 파라미터를 제각기 표시하는 입력 세트를 수신하는 단계와;
    상기 입력 세트에 기초한 정보로 유한 템플레이트 세트로부터 선택된 템플레이트 세트를 채우는 단계로서, 상기 유한 템플레이트 세트의 각 템플레이트는 상기 각 채워진 템플레이트가 시스템 동작 속성을 정의하도록 상기 시스템 속성을 묘사하는 상기 파라미터를 수용하기 위한 포맷을 갖는, 상기 단계
    를 포함하는 시스템 설계 스펙 정의 방법.
  54. 시스템 모델의 동작 속성을 정의하는 논리 표현 세트의 자동장치로의 변환을 최적화하는 방법에 있어서,
    표현 목록내에 포함된 각 논리 표현을 식별하는 단계로서, 상기 목록상의 각 표현은 논리 표현을 자동장치로 변환하기 위한 연관된 알고리즘을 갖는, 상기 단계와;
    상기 식별된 논리 표현을 자동장치로 변환하기 위해 상기 각 식별된 논리 표현에 대해 상기 연관된 알고리즘을 사용하는 단계
    를 포함하는 논리 표현 세트의 변환을 최적화하는 방법.
  55. 제 54 항에 있어서,
    상기 연관된 알고리즘은 부록 A에 수록된 알고리즘 세트를 포함하는 방법.
KR1019970032207A 1997-07-11 1997-07-11 시스템 설계 스펙 정의 장치 및 방법 KR19990009715A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970032207A KR19990009715A (ko) 1997-07-11 1997-07-11 시스템 설계 스펙 정의 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970032207A KR19990009715A (ko) 1997-07-11 1997-07-11 시스템 설계 스펙 정의 장치 및 방법

Publications (1)

Publication Number Publication Date
KR19990009715A true KR19990009715A (ko) 1999-02-05

Family

ID=66039264

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970032207A KR19990009715A (ko) 1997-07-11 1997-07-11 시스템 설계 스펙 정의 장치 및 방법

Country Status (1)

Country Link
KR (1) KR19990009715A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100764588B1 (ko) * 2006-01-31 2007-10-09 가부시끼가이샤 도시바 디지털 회로의 자동 설계 장치, 자동 설계 방법, 및 자동설계 프로그램

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100764588B1 (ko) * 2006-01-31 2007-10-09 가부시끼가이샤 도시바 디지털 회로의 자동 설계 장치, 자동 설계 방법, 및 자동설계 프로그램

Similar Documents

Publication Publication Date Title
US6385765B1 (en) Specification and verification for concurrent systems with graphical and textual editors
Seger et al. Formal verification by symbolic evaluation of partially-ordered trajectories
US7299155B2 (en) Method and apparatus for decomposing and verifying configurable hardware
US5907698A (en) Method and apparatus for characterizing static and dynamic operation of an architectural system
US7275231B2 (en) High level validation of designs and products
JP3825572B2 (ja) 半導体集積回路の設計検証装置、方法及び記憶媒体
US5966516A (en) Apparatus for defining properties in finite-state machines
US20020188916A1 (en) Integrated circuit, integrated circuit design method and hardware description generation method to generate hardware behavior description of integrated circuit
US5761079A (en) Engineering change management system employing a smart editor
EP1376413A1 (en) Test bench generator for integrated circuits, particularly memories
US20050234708A1 (en) Notation enabling all activity between a system and a user to be defined, and methods for using the same
Amelunxen et al. Checking and enforcement of modeling guidelines with graph transformations
CN114880975A (zh) 一种硬件木马的生成方法、系统、设备以及介质
US11593076B2 (en) Method for merging architecture data
CN114091383A (zh) 测试序列生成方法、装置、系统及相关设备
CN117744548A (zh) 一种芯片验证方法、装置和存储介质
KR19990009715A (ko) 시스템 설계 스펙 정의 장치 및 방법
US5661733A (en) Automatic test insertion
Kress-Gazit et al. The challenges in specifying and explaining synthesized implementations of reactive systems
JPWO2006025412A1 (ja) 論理検証方法、論理モジュールデータ、デバイスデータおよび論理検証装置
Gogolla et al. Development of UML Descriptions with USE
JPH1139378A (ja) システム設計仕様を規定する装置
EP0884689A1 (en) Apparatus for defining properties in finite-state machines
US20110088017A1 (en) Offline formal verification of executable models
GB2397905A (en) Method for automatically generating and ordering test scripts

Legal Events

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