KR100935000B1 - 상이한 버스 프로토콜을 표현하기 위한 적응적 접근법 - Google Patents

상이한 버스 프로토콜을 표현하기 위한 적응적 접근법 Download PDF

Info

Publication number
KR100935000B1
KR100935000B1 KR1020057001892A KR20057001892A KR100935000B1 KR 100935000 B1 KR100935000 B1 KR 100935000B1 KR 1020057001892 A KR1020057001892 A KR 1020057001892A KR 20057001892 A KR20057001892 A KR 20057001892A KR 100935000 B1 KR100935000 B1 KR 100935000B1
Authority
KR
South Korea
Prior art keywords
communication element
types
message
element types
protocol
Prior art date
Application number
KR1020057001892A
Other languages
English (en)
Other versions
KR20050038613A (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 KR20050038613A publication Critical patent/KR20050038613A/ko
Application granted granted Critical
Publication of KR100935000B1 publication Critical patent/KR100935000B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/328Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the presentation layer [OSI layer 6]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Abstract

통신 구성을 적응적으로 정의하기 위한 방법은 버스 모델과 같은 범용 통신 모델의 적어도 하나의 레이어를 위한 적어도 하나의 통신 요소 타입을 제공하는 것을 포함한다. 각 통신 요소 타입은 타겟 통신 매체의 상응하는 프로토콜 레이어를 표현하기 위해 적용 가능한 사용자정의 구조를 포함한다. 사용자는 상기 타겟 프로토콜을 실질적으로 표현하기 위해서 특정 통신 요소 타입들을 정의할 수 있다. 사용자는 또한 세밀하게 정의된 방식의 상기 프로토콜로부터 벗어나서 상기 통신 요소 타입들을 정의할 수 있다.

Description

상이한 버스 프로토콜을 표현하기 위한 적응적 접근법{FLEXIBLE APPROACH FOR REPRESENTING DIFFERENT BUS PROTOCOLS}
본 발명은 전자 통신 기술에 관한 것으로서, 보다 구체적으로는 통신 프로토콜을 표현하고 조절하기 위한 데이터 구성에 관한 것이다.
일반적인 버스 테스트 장치는 상이한 인터페이스 규격과 프로토콜을 가지고 작동하는 광범위한 종류의 시리얼 버스들을 실행시키기 위해서 최근까지 발전되어 왔다.
미합중국 특허 출원 제 10/325,070호(발명의 명칭 "다양한 시리얼 버스 타입의 시뮬레이팅, 에뮬레이팅 및 테스팅을 위한 일반적인 접근법")는 본 장치의 특정 측면에 대해 언급하고 있다.
상기 미합중국 특허 출원 제 10/325,070호 및 본 출원은 모두 동일한 날짜에 출원된 임시출원에 기초한 것이며, 상기 출원들은 다른 출원서들에 대해 종래기술로 될 수 없다.
상기 미합중국 특허 출원 제 10/325,070호는 "버스 모델"의 사용을 통해 범용적인 시리얼 버스의 프로토콜 및 동작을 정의한다.
상기한 바와 같이, 상기 버스 모델은 시리얼 버스 프로토콜을 모든 버스들에 공통 되는 개별적인 범용 레이어들(universial layers)로 분류된다. 어떤 특정 타겟 버스를 위해, 상기 버스 모델은 상기 타겟 버스 프로토콜을 범용 레이어들에 의해 표현하고, 각각의 범용 레이어에 버스 특유의 속성을 할당한다.
따라서, 상기 버스 모델은 상기 범용 레이어들에 의해 상기 타겟 버스 프로토콜의 추상적인 표현을 구성한다.
도 1은 버스모델(100)의 블록도를 나타낸다.
상기 버스 모델의 레이어들은 예를 들면, 프레임(frames, 112 및 132), 메시지(messages,114 및 134), 워드(words, 116 및 136), 필드(fields, 118 및 138), 심볼(symbols, 120 및 140), 시퀀스(sequences, 122 및142) 인코딩(endoding, 124 및 144) 및 타이밍(timing, 126 및 146)을 포함한다.
종래의 버스 테스트 장치들은 주로 버스-종속적(bus-specific)이었다. 버스 테스트 장치들은 하나 또는 그 이상의 특정 타입을 가진 버스들을 실행시키도록 설계되어왔으나, 다른 타입의 버스들을 실행시키는 것은 불가능했다.
따라서, 이러한 버스 테스트 장치들은 상기 특정하게 지원되는 버스와 통신하기 위해 필요한 구조만을 포함하는 통신 구성들을 사용했다. 그러나, 상기 통신 구성들은 다른 타입의 버스들에 대해 적용하는 것이 불가능했다.
도 2는 종래의 버스-종속적(bus-specific)인 테스트 장치에 의해 사용되는 일반적인 통신 구성을 나타낸다. 도 2는 MIL-STD-1553 버스 테스트 장치를 위한 통신 구성을 나타낸다. 상기 장치는 버스-종속적(bus-specific)인 메시지 타입(210) 의 한 세트를 지원한다.
상기 메시지 타입(210)은 상기 타겟 버스상에서 수행될 수 있는 하이 레벨의 동작들을 규정한다. 이러한 메시지 타입들은 상기 1553 버스를 위해서 다른 메시지 타입들 중에, 버스 제어기-원격 터미널 메시지 타입(BC-RT; a Bus Controller to Remote Terminal message type), 원격 터미널-버스 제어기 메시지 타입(RT-BC; a Remote Terminal to Bus Controller message type) 및 원격 터미널-원격 터미널 메시지 타입(RT-RT; a Remote Terminal to Remote Terminal message type)을 포함한다.
상기 메시지 타입(210)들 각각은 워드들로 구성된다. 일반적으로, 상기 타겟 버스 규격은 다양한 버스 동작들을 수행하기 위한 워드 타입들의 한 세트를 규정한다.
상기 1553 버스를 위해서, 커맨드 워드, 데이터 워드 및 상태 워드들로 구성되는 세가지 구별되는 워드 타입들(212)이 제공된다.
워드들은 필드들로 구성된다. 워드들 안에 있는 필드들의 본질(identities)과 위치들은 상기 타겟 버스의 정의에 의해 결정된다. 도 2에서 도시한 바와 같이, 1553 커맨드 워드(216)는 6개의 필드들(214)로 구성된다. 이러한 필드들은 상기 1553 표준에 의해 정의된 바와 같이, 싱크(Sync), 원격 터미널 주소(RT Address), 송신/수신(Transmit/Receive), 하위주소 모드(SubAddress Mode), 데이터 워드 카운트(Data word count) 및 패리티(Parity)를 포함한다.
상기 종래의 버스-종속적(bus-specific) 구성은 특정 타겟 버스를 실행하기 위해 필요한 메시지 타입 및 워드 타입들을 각각 지원하며, 일반적으로 상기 각각의 타겟 버스들의 상기 프로토콜들에 한정된다.
또한, 상기 종래의 버스-종속적(bus-specific) 구성은 다른 타입의 버스들을 위한 메시지 타입 또는 워드 타입들의 상이한 세트들을 정의하는 방법을 사용자들에게 제공하지 않는다. 따라서, 버스통신을 정의할 수 있는 좀더 적응성 있는 방법이 요구된다.
본 발명의 목적은 사용자들에게 타겟 버스들 또는 다른 통신 매체들과 상호작용하기 위한 통신 구성을 적응적으로 정의할 수 있도록 하는 것이다.
상기 목적을 달성하기 위하여, 통신 구성을 적응적으로 정의하기 위한 방법은 버스 모델과 같이 일반화된 통신 모델의 적어도 하나의 레이어를 위한 적어도 하나의 통신 요소 타입을 제공하는 것을 포함한다.
각 통신 요소 타입은 타겟 통신 매체의 상응하는 프로토콜 레이어를 표현하기 위해 적용 가능한 사용자정의 구조를 포함한다. 사용자들은 상기 타겟 프로토콜을 실질적으로 표현하기 위해 특정 통신 요소 타입들을 정의할 수 있다. 사용자들은 또한 세밀하게 정의된 방법의 상기 타겟 프로토콜과 벗어나서 상기 통신 요소 타입들을 정의할 수 있다.
복수의 상이한 타겟 매체를 통해 통신하기 위한 방법은 복수의 상이한 타겟 버스들의 각각을 위해 각 타겟 통신 매체의 특정한 프로토콜 레이어를 표현하기 위해 구조화된 각 통신 요소 타입들인 복수의 통신 요소 타입들을 제공하는 단계를 포함하는 것을 특징으로 한다.
알려진 프로토콜을 포함하는 통신 매체를 통해 통신을 구조화 하는 방법은 범용 통신 모델의 적어도 하나의 레이어를 위한 적어도 하나의 사용자 정의가능한 통신 요소 타입을 제공하는 단계를 포함하며, 각 통신 요소 타입은 상기 프로토콜에 상응하는 레이어를 표현하기 위해 적용 가능한 사용자 정의 가능한 구조를 포함하는 것을 특징으로 하는 한다.
프로토콜을 포함하는 통신 매체와의 인터페이스를 생성하는 방법은 일반화된 통신 모델의 적어도 하나의 레이어를 위한 적어도 하나의 사용자-정의 통신 요소 타입을 생성하는 단계;
상기 일반화된 통신 모델의 각 레이어에 상기 매체의 상기 프로토콜을 실질적으로 표현하기 위해 적어도 하나의 사용자-정의 통신 요소 타입을 구조화하는 단계; 및
상기 매체를 통해 통신하기 위해 액세스될 수 있는 컴퓨터 가독 포맷 안에 적어도 하나의 사용자-정의 통신 요소 타입을 저장하는 것을 특징으로 한다.
도 1은 범용 버스 모델의 개념적인 블록도이다.
도 2는 종래의 MIL-STD-1553 버스의 통신 구성의 일부들을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 적응적인(flexible) 통신 구성의 일부들을 도시한 블록도이다.
도 4는 본 발명의 일실시예에 따른 버스 모델 내의 버스 통신을 위한 특정 데이터 타입을 정의하기 위한 과정을 나타낸 순서도이다.

본 발명에 따른 범용 통신 구성은 사용자들에게 그들 자신이 선택한 통신 요소 타입들을 정의하는 것을 가능하게 함으로써 종래 기술의 버스-종속적(bus-specific) 구성과 구별된다. 상기 통신 요소 타입들은 상기 버스 모델의 상이한 레이어들을 표현한다. 이러한 통신 요소 타입들은 예를 들면, 메시지 타입, 워드 타입 및 필드 타입을 포함한다. 또한, 다른 통신 요소 타입들이 상기 버스 모델의 다른 레이어들을 표현하기 위해서 생성될 수 있다. 사용자들은 현존하는 버스들 또는 미래에 존재할 버스들을 위한 이러한 통신 요소 타입들을 정의할 수 있다.
도 3은 본 발명의 일실시예에 따른 적응적인(flexible) 통신 구성의 일부들을 도시한 블록도이다.
종래 기술과 마찬가지로, 도 3의 구성은 메시지 타입들(310), 워드 타입들 (312) 및 필드 타입들(314)을 포함한다.
각 메시지 타입은 적어도 하나의 워드 타입을 포함하며 각 워드 타입은 적어도 하나의 필드 타입을 포함한다.
도 3의 구성은 그것의 적응성의 정도에 있어서 종래 기술과 상당히 구별된다. 상기 버스 모델(300)은 이러한 적응성을 달성하기 위한 특수한 의미를 가진다.
상기한 바와 같이, 상기 버스 모델은 어떤 시리얼 버스 규격을 표현하기 위한 범용의 계층화된 구조를 갖는다. 상이한 버스 타입들과 통신하기 위해 상기 버스 모델의 상이한 인스턴스들(instances)이 생성될 수 있다.
각 버스 모델 인스턴스는 특정 버스 타입에 맞추어지는 통신 요소 타입들을 정의한다.
상기 버스 모델(300) 또는 버스 모델의 어떤 인스턴스는 메시지 타입들(310)의 한 세트를 포함한다. 고정된 정의들을 가졌던 종래의 메시지 타입들과 달리, 본 발명의 메시지 타입들은 사용자가 정의 가능한 사용자 정의 구조들을 가진다.
각 메시지 타입을 위해, 사용자들은 상기 타겟 버스를 통해 어떤 의미있는 통신을 구성하는 명칭 및 워드 타입들의 순서화된 그룹을 정의할 수 있다. 예를 들면, 사용자는 워드 타입 A, B 및 C로 구성된 메시지 타입 N(316)을 생성할 수 있다. 워드 타입들 A, B 및 C는 상기 버스 모델에서 정의된 워드 타입들(1 내지 M) 중 어떤 것이라도 될 수 있으며, 워드 타입들 A, B 및 C의 시퀀스는 어떤 유용한 기능들을 수행한다. 사용자들은 그들이 원하는 만큼 수많은 메시지 타입들을 정의할 수 있다.
버스를 위한 상기 메시지 타입들은 일반적으로 상기 버스의 상기 프로토콜에 의해 정의된 메시지들, 즉, 상기 버스 타입의 표준 메시지 타입들과 상응한다. 그러나, 메시지 타입들은 더 넓은 응용들을 가질 수 있다. 사용자들은 특정한 테스팅 시나리오들을 수행하기 위해 맞춤 메시지 타입들을 개발할 수 있다. 따라서, 비록 메시지 타입들이 일반적으로 상기 타겟 버스 프로토콜과 일치한다 할지라도, 사용자들은 상기 프로토콜이 정의한 특정 메시지들에 한정시킬 필요는 없다.
사용자 정의 메시지 타입들은 또한 상기 타겟 버스의 상기 프로토콜에서 정의된 상기 메시지 타입들과 상이하게 구조화 될 수 있다. 예를 들면, 상기 프로토콜은 복잡한 메시지를 정의할 수 있으며, 이것은 단순한 또는 상이한 메시지들의 시퀀스로서 상기 버스 모델 내에 더욱 쉽게 표현된다. 따라서, 상기 버스 프로토콜 내에 정의된 상기 메시지들과 상기 버스 모델의 상기 메시지들 사이에 직접적인 1:1 관계를 가질 필요가 없다.
상기 버스 모델 (300)은 사용자 정의된 워드 타입들(312)의 한 세트를 포함한다. 각 워드 타입은 명칭 및 필드 타입들의 한 그룹으로써 정의된다. 예를 들면, 워드 타입 C(메시지 타입 N의 일부분)는 필드 타입들 A, B, C 및 D를 포함하기 위해 정의될 수 있다. 사용자들은 그들이 원하는 만큼 수많은 워드 타입들을 정의할 수 있다.
필드 타입들은 또한 상기 버스 모델(300) 안에 포함된다. 필드 타입들은 메시지 타입들 또는 워드 타입들보다 버스 통신의 보다 구체적인 측면들을 정의한다. 종래에는 필드 타입들이 제한된 개수로 사용되었다. 즉, 사용자들에게 필드 타입들의 특성을 정의하는 무한한 적응성을 제공할 필요가 없다. 대신에, 사용자들은 필드 지정(field designation)을 함으로써, 필드 타입 특성들을 정의한다. 바람직한 실시 예에서, 사용자들은 하기와 같은 필드 지정들의 한 가지에 각 필드 타입들을 배정 할 수 있다.
[표 1]필드 지정들(field designations)의 예
필드 지정 설 명
사용자-지정된 데이터(User-specified data) 상기 사용자는 상기 테스트 정의 시간동안 또는 런타임 시에 이러한 필드들을 위한 상기 값을 지정한다. 이러한 필드들의 예들은 상기 데이터 부분(예를 들면, 1553 데이터 워드를 위한)뿐만 아니라 주소, 하위 주소(예를 들면, 1553 커맨드 워드를 위한)를 포함한다.
상수데이터(Constant data) 상기 사용자는 상기 버스 모델을 정의할 때 이러한 필드들을 위한 상기 값을 지정한다. 사용자-지정된 데이터 필드들처럼, 이러한 필드들은 상기 워드의 "값"의 부분으로 간주되거나, 상기 워드에 의해 전달되는 상기 데이터로 간주된다. 그러나 상기 사용자는 테스트 정의 시간 또는 런타임시에 그들을 변경할 수 없다. 이러한 필드들의 예들은 1553 커맨드 워드들의 상기 송신/수신 비트를 포함한다. 또는 상기 1553 모드 코드 커맨드 워드들을 위한 상기 하위주소/모드 코드 필드(모두 1 또는 모두 0이 되도록 수정되는)를 포함한다.
특수기호(Special symbol) 이러한 필드들은 상기 워드 안에 포함된다, 그러나 상기 워드 페이로드의 부분으로 간주되지 않는다. 이들은 일반적으로 1또는 0이 아니며, 어떤 특수한 레벨 또는 조건이다. 예를 들면, 이것은 1553 커맨드나 데이터 싱크가 될 수 있다. 상기 사용자는 버스 모델 정의 동안 이러한 필드들을 위한 상기 값을 지정하며, 테스트 정의 시간 또는 런타임 시 모두 이 값을 변경할 수 없다.
Constant non-data 이러한 필드들은 상기 워드 안에 포함되나 상기 워드 페이로드의 부분으로 간주되지 않는다. 이러한 필드들은 그들의 목적에 있어 특수기호 필드들과 유사하나 그들의 값은 특수한 것이 아닌 1이나 0과 같은 보통의 기호들로 구성될 수 있다. 예를 들면, 시작 비트들 및 정지 비트들을 포함한다.
패리티 (Parity) 하나의 비트 필드 지정은 패리티를 표현한다. 패리티는 홀수 또는 짝수가 될 수 있다. 패리티는 상기 워드의 상기 데이터 부분의 일부로 간주되지 않는다. 패리티는 바람직하게 계산되고(송신단에 대해) 런타임시에 확인된다.(수신단에 대해)
CRC 이 필드 지정은 cyclic redundancy checking을 표현한다. 사용자들은 CRC 다항식을 지정할 수 있다. CRC는 상기 워드의 상기 데이터 부분의 일부로 간주되지 않는다. CRC는 바람직하게 계산되고(송신단에 대해) 런타임시에 확인된다. (수신단에 대해)
표 1을 참조하면, 상수 데이터(Constant Data)와 같이 지정된 어떤 필드 타입들은 고정된 값을 갖는 반면, 패리티(Parity) 또는 CRC와 같이 지정된 다른 필드 타입들은 가변적 값들을 가진다. 고정된 필드의 특정 값은 바람직하게는 상기 각각의 버스 모델 내에 지정된다. (하기의 표 2에서 셋팅된 "값"을 참조)
필드 타입, 워드 타입 및 메시지 타입은 본질적으로 상위 레벨의 구조를 구성하기 위해 조합될 수 있는 구별되는 구조들을 형성한다. 예를 들면, 상기 동일한 필드 타입들은 상이한 워드 타입을 구성하기 위해서 상이한 조합들에 사용될 수 있으며, 상기 동일한 워드 타입들은 상이한 메시지 타입들을 구성하기 위해서 상이한 조합들에서 사용될 수 있다. 메시지 타입조차도 상위 레벨의 구조들(예를 들면, 1553 커맨드-응답 트랜잭션들과 같은 트랜잭션들)을 구성하기 위해서 조합될 수 있다.
상기 통신 요소(communication element) 타입들의 정의는 수많은 방법들로 구현될 수 있다. 예를 들면, 그들은 하나의 컴퓨터 파일 안에 구현될 수 있고, 상이한 컴퓨터 파일들 안에 구현될 수 있고, 하드웨어 또는 이들의 어떤 결합 안에서 구현될 수 있다. 바람직한 실시 예에서, 상기 통신 요소 타입들은 XML 포맷의 버스 파일들의 형태로 제공된다. 상기 버스 파일은 "태그"로 통신 요소 타입들을 식별한다. 예를 들면, 각 필드 타입, 각 워드 타입 및 각 메시지 타입을 위해서 상이한 태그가 사용된다. 하기의 코드부분은 버스 파일 안에서 필드 타입 정의들의 일반화된 예제들을 보여준다:
<Fields [fields atributes]>
<Field Name = "Field 1"[field type settings]/>
<Field Name = "Field 2"[field type settings]/>
...
<Field Name = "Field L"[field type settings]/>
</Fields>
어떤 버스 파일 안에서, 워드 타입들은 또한 XML 태그들을 이용하여 표현된다. 버스 파일들은 바람직하게는 하기의 포맷을 사용하여 워드 타입들을 정의한다:
<Words [Words attributes]>
<Word Name="Word1"/>
<Word Name="Word2"/>
...
<Word Name="WordM"/>
</Words>
각 워드 타입은 필드 타입들의 한 그룹으로 구성된다. 알려진 바와 같이, XML은 태그들의 계층적인 배열을 지원한다. 여기서 특정 태그들은 다른 태그들에 종속적일 수 있다. 따라서, 종속적인 태그들은 특정 워드 타입에 "속하는" 필드 타입들을 지시하기 위해 사용될 수 있다. 예를 들면, 버스 파일은 하기의 사용자 정의된 워드 타입, "UserWord"을 구성하는 필드 타입을 표현할 수 있다:
<Word Name="UserWord">
<WordField FieldName="Field Type A"/>
<WordField FieldName="Field Type B"/>
<WordField FieldName="Field Type C"/>
</Word>
워드 타입 "UserWord"를 구성하는 필드 타입 A, B 및 C는 바람직하게는, 상 기 버스 파일과 다른 장소에 정의된다.
버스 파일들은 또한 메시지 타입들을 표현하기 위해 태그들을 사용한다. 메시지 타입들은 하기와 같이 표현될 수 있다:
<Messages>
<Message Name="Message Type1"[message type settings]/>
<Message Name="Message Type2"[message type settings]/>
...
<Message Name="Message TypeN"[message type settings]/>
</Messages>
종속적인 태그들은 메시지 타입을 구성하는 워드 타입들을 정의하기 위해 사용될 수 있다. 예를 들면, "MyMessage"를 구성하는 상기 워드 타입들은 하기와 같이 정의될 수 있다:
<Message Name="MyMessage"[message type settings]>
<MessageWord WordName="Word Type A">
<MessageWord WordName="Word Type A">
...
<MessageWord WordName="Word Type A">
</Message>
워드 타입들 A, B 및 C는 "MyMessage"를 구성하는 특정한 워드들이며, 바람직하게는 상기 버스 파일들과 다른 장소에 정의된다.
메시지 타입, 워드 타입 및 필드 타입은 각각 버스 특성들과 동작들을 추가로 정의하기 위한 세팅들(settings)을 제공한다. XML은 사용자들에게 태그 속성들을 지정할 수 있도록 지원한다. 버스 파일들은 상기 데이터 타입의 상기 세팅들을 정의하기 위해 이러한 태그 속성들을 사용한다.
메시지 타입들은 메시지가 고정된 개수의 워드들로 구성되는지 또는 가변적 개수의 워드들로 구성되는지 사용자들이 지정할 수 있도록 "가변길이(Variable Length)" 세팅을 제공한다. 또한, 가변 길이의 메시지를 위해 최대길이 및 최소길이 세팅들이 제공된다. 워드 타입 및 필드 타입 또한 가변 길이 세팅들을 제공할 수 있다.
사용자들은 필드 타입들을 위한 다양한 세팅들을 정할 수 있다. 하기의 세팅들은 바람직한 실시 예에서 제공된다:
[표 2] 필드 세팅의 예들
필드 세팅 설명
Name(명칭) 상기 명칭은 워드 타입 정의 및 테스트 정의 동안에 참조된다.
Width(폭) 비트 타임들에 지정된 필드 폭으로 가변적일 수 있다.
Type(종류) 표 1의 필드 지정들 중의 하나
Transmit Order(송신순서) MSB 또는 LSB가 첫 번째인지를 결정하는 세팅
Bit Stuffed(채워진 비트) 채워진 비트가 이 필드에 적용가능한지를 결정하는 불린
Include in Error Check (에러체크에 포함) 이 필드가 상기 기계가 패리티 또는 CRC를 계산할 때 에러 체킹에 포함되야 하는지를 결정하는 불린
Special Symbol(특수기호) 만약 이 필드가 특수기호라면, 실질적인 특수 기호가 사용되도록 하기 위해 지정된다.
Value(값) 만약 이 필드가 constant data 이거나 constant non-data일 경우, 상기 필드의 실질적인 값이 지정된다.
메시지 타입, 워드 타입 및 필드 타입들의 정의를 위해, 통신 요소 타입들을 사용하는 것은 사용자들에게 버스를 통해 통신을 구조화하는데 있어 상당한 적응성을 제공한다. 사용자들은 버스를 위해 필드들을 정의할 수 있고, 특정 필드들에서 벗어나 워드들을 구성할 수 있으며, 특정 워드들을 벗어나 메시지들을 구성할 수 있다.
주어진 이러한 적응성은 테스팅의 질을 향상시키기 위한 많은 기회들을 제공한다. 예를 들면, 사용자들은 버스 장치들을 테스트하는데 있어 오류 삽입(fault injection)을 수행하는 광범위한 능력들을 가질 수 있다. 사용자들은 버스의 상기 프로토콜이나 규격을 고의로 위반하는 방법으로 필드 타입들, 워드 타입들 및 메시지 타입들을 정의할 수 있다. 테스팅 목적을 위해, 필드는 너무 많은 비트들 혹은 너무 적은 비트들을 가짐으로써 정의될 수 있다. 워드는 너무 많은 필드들 혹은 너무 적은 필드들을 가짐으로써 혹은 워드내에 잘못된 위치에 있는 필드들을 가짐으로써 정의될 수 있다.
상기 적응성은 장치의 응답을 인식하기 위해 제어된 방법으로, 사용자-정의된 메시지들, 워드들 및 필드들의 구조가 버스 프로토콜로부터 벗어나기 위한 수많은 가능성들을 제공한다.
이러한 적응성은 또한 사용자들이 맞춤 버스들을 포함하는 새로운 버스들의 타입을 위한 새로운 버스 모델들을 생성하는 것을 가능하게 한다.
도 4는 새로운 버스 모델을 생성하기 위한 단계를 보여준다.
단계 410에서, 사용자는 상기 타겟 버스의 상기 규격을 검사한다. 단계 412내지 단계 416에서, 상기 사용자는 상기 타겟 버스의 상기 규격에 기초하여 그리고 사용자의 특정 테스팅 조건들을 위해 지원되야 할 상기 특정 필드 타입들, 워드 타입들 및 메시지 타입들을 검사한다. 단계 418에서, 상기 사용자는 상기 타겟 버스 를 위한 버스 파일 내에 원하는 필드 타입들, 워드 타입들 및 메시지 타입들을 위한 정의를 생성한다. 상기 사용자는 상기 장치와 상호 작용할 수 있도록 접근가능한 곳에 상기 버스 파일(단계 418)을 저장한다.
사용자들은 일반적으로 필요할 때마다 스크래치(scratch)로부터 새로운 버스 파일을 생성할 필요가 없다. 상이한 버스들은 수많은 유사 특성들을 공유한다. 상기 버스 파일(즉, XML 파일과 같이)의 단순성으로 인해, 사용자들은 기존의 것들을 복사하거나 몇 가지 세팅들을 수정함으로써, 용이하게 새로운 버스 파일들을 자주 생성할 수 있다.
여기서, 언급된 데이터 타입들, 즉, 메시지 타입, 워드 타입 및 필드 타입은 본질적으로 버스 파일 내에 정의들로써 존재한다. 이러한 정의들은 "인스턴스들"의 개념을 통해 물리적인 버스를 실질적으로 실행시키는 액션을 수행할 수 있다. 알려진 바와 같이, 인스턴스는 특정한 타입의 구체적인 표현이다. 따라서, "메시지 인스턴스"는 메시지 타입의 구체적 표현이다. 이와 유사하게, "워드 인스턴스"는 워드 타입의 구체적인 표현이며, "필드 인스턴스"는 필드 타입의 구체적인 표현이다. 이러한 인스턴스들은 좀더 일반적으로 "통신 요소 인스턴스들"로서 간주될 수 있다.
버스 파일의 상기 통신 요소 타입들과 특정 컴퓨터 언어들로써 제공된 사용자-정의된 데이터 타입들은 동시에 비교될 수 있다.
예를 들면, "C" 컴퓨터 언어는 특정한 데이터 타입들을 생성하기 위한 명령어로서 "typedef"를 제공한다. 데이터 타입의 인스턴스들은 그 타입의 변수들을 선언함으로써 컴퓨터 프로그램 안에서 생성될 수 있다. 상기 컴퓨터 프로그램은 실행시간(runtime)동안에 상기 타입의 상기 인스턴스들을 액세스하여 조절할 수 있다.
버스 파일의 통신 요소 타입들은 동일한 방법으로 작동한다. 사용자들은 이러한 타입들을 지정하여 프로그램의 컨텍스트 안에서 사용되고 조절되어질 그들의 인스턴스들을 생성할 수 있다. 예를 들면, 컴퓨터 소프트웨어는 MyMessage의 인스턴스를 생성하기 위해 사용될 수 있다. 상기 프로그램은 그것의 세팅들을 정하고, 그것의 데이터 등을 지정함으로써 MyMessage의 인스턴스를 조절할 수 있다. 상기 조절된 MyMessage의 인스턴스는 그것의 워드 및 필드들에 의해 정의된 특정 전송들을 수행하기 위해 전달되고 수신될 수 있다. 메시지 타입은 워드 타입 및 필드 타입들을 구성하는 그들의 정의들을 포함하는 계층적인 구성들이기 때문에, "message instances"는 그들 자신의 메시지 인스턴스일뿐만 아니라 그들의 워드 타입 및 필드 타입을 구성하는 인스턴스이다.
바람직한 실시 예에서, 상기 버스 테스트 장치는 사용자들에게 메시지 인스턴스들을 생성할 수 있도록 하는 소프트웨어 API(applications program interface)를 포함한다. 각 메시지 인스턴스는 소프트웨어 "핸들"을 포함하며, 메모리 안에 존재한다. 상기 API는 그것의 데이터를 조절하거나 상기 메시지 인스턴스를 실행하기 위해 그것의 핸들을 통해 상기 메시지 인스턴스를 액세스할 수 있다.
사용자는 바람직하게는 함수 호출(function calls)을 사용하여 상기 API와 통신한다. 바람직한 실시 예에서, 상기 버스 테스트 장치는 VXI 장치이고, 상기 API는 VXI 플러그앤플레이 드라이버(plug-and-plug driver)로 구현된다.
전달 메시지 인스턴스 및 기대 메시지 인스턴스의 두 가지 타입의 메시지 인스턴스들은 메시지 타입들을 위해 생성될 수 있다.
전달 메시지 인스턴스들은 상기 버스를 통해 정보를 전송하기 위해 사용된다. 기대 메시지 인스턴스들은 상기 버스를 통해 정보를 수신하기 위해 사용된다. 기대 메시지 인스턴스들은 버스 혹은 다른 통신 매체상에 나타난 정보 블록들의 구조를 정의하는 점에 있어서 전달 메시지 인스턴스와 유사하다. 그러나 전달 메시지 인스턴스가 전달되어야 할 상기 데이터를 사용자들에게 제공하는 것을 요구하는 동안, 기대 메시지 인스턴스는 사용자가 상기 데이터 자체가 아닌 상기 기대되는 데이터(예를 들면, 워드 타입 및 타이밍)의 구조만을 지정하는 것을 요구한다. 그러나, 테스팅 목적을 위해, 사용자는 기대 메시지 인스턴스, 즉, 상기 버스를 통해 기대되는 데이터를 위한 기대 데이터를 지정할 수 있다. 기대 데이터는 기대되는 결과들이 획득되는지의 여부를 결정하기 위해 실제로 수신되는 데이터와 함께 비교될 수 있다.
전달 및 기대 메시지 인스턴스들 모두를 위해, 사용자들에게 메시지들의 타이밍을 통한 관리/제어를 제공하는 것은 바람직하다. 바람직하게는, 버스 모델에서 발견되는 메시지 타입 정의들은 디폴트 타이밍 값들을 포함한다. 메시지 인스턴스들은 그것의 기본값(defaults)을 사용할 수도 그것의 기본값을 변경할 수도 있다.
바람직한 실시 예에서, 사용자는 메시지 타입들 또는 메시지 인스턴스들을 위한 다음의 타이밍 특성들을 지정할 수 있다:
● 상기 메시지 인스턴스가 전달될 수 있기 전에 실행되어야 할 딜레이(delay)는 프리메시지 갭(premessage gap)으로 정의함. 프리메시지 갭 정의는 상기 딜레이가 실행되어야 할 시점의 지정을 포함하며, 최종 전송된 워드의 끝, 최종 수신된 워드의 끝 혹은 시스템의 어떤 다른 이벤트를 포함한다.
● 상기 전송되는 메시지의 워드들 사이에 실행되어야 할 딜레이는 프리워드 갭으로 정의함.
● 기대되는 메시지의 시작을 수신하기 위한 타임아웃은 시작 메시지 타임아웃으로 정의함. 프리메시지 갭과 유사한 이 규격은 이 기간이 시작할 때 시점의 적응적(flexible) 정의를 포함한다.
● 상기 기대되는 메시지의 어떤 워드를 수신하기 위한 타임아웃은 워드 갭 타임아웃으로 정의함.
● 상기 기대되는 메시지를 적절하게 종료될 메시지를 보장하도록 체크할 시점은 트레일링(trailing) 갭으로 정의함.
복수의 메시지 타입에 영향을 미치는 전체 버스 프로토콜을 위한 공통된 타이밍 디폴트들이 제공될 수 있다. 이러한 디폴트들은 최소값 및 최대값 뿐만 아니라 메시지간 갭, 워드간 갭, 응답 타임, 무응답 타임아웃 및 무워드 타임아웃을 포함한다. 바람직하게는, 이러한 디폴트들은 상기한 메시지 타이밍 세팅을 위해 사용될 수 있다.
상기한 일 실시예에서, 다양한 선택적인 실시예들 또는 변경들이 사용될 수 있다. 예를 들면, 상기한 바와 같이, 메시지 타입들, 워드 타입들 및 필드 타입들이 참조될 수 있다. 그러나, 다른 통신 요소 타입들이 통신 프로토콜의 추가적인 레이어들을 표현하기 위해 사용될 수 있다. 예를 들면, 어떤 사용자는 메시지 타입들의 한 그룹을 포함하는 "트랜잭션 타입"을 구현하기를 원할 수도 있다. 따라서, 본 발명은 개시한 세가지 통신 요소 타입들에 한정하지 아니한다.
또한, 어떤 통신 프로토콜들은 상기 버스 모델의 모든 레이어들을 정의하지 않을 수 있다. 예를 들면, RS-232는 메시지 타입들을 정의하지 않을 수 있다. 본 발명은 상기 프로토콜을 지원하는 다른 레이어들을 위한 사용자-정의 요소들을 지원함으로써, 이러한 버스들에 적용 가능하다. 따라서, 본 발명은 본 명세서에 개시한 모든 통신 요소 타입들을 지원하지 않는 버스들에도 적용 가능함을 알 수 있다.
버스들의 개념은 광범위한 정의를 가진다. 그럼에도 불구하고, 그것이 정식으로 "버스"로서 간주될 수 있을지의 여부에 관계없이, 전술한 사용자-정의 통신 요소 타입들은 어떤 통신 매체에도 적용이 가능한 것은 명백하다. 따라서, 본 발명은 버스들에 대해 엄격하게 한정하지 아니한다.
게다가, 상기 통신 요소 타입은 범용 버스 모델의 특정 레이어들에 상응하여 본 명세서에서 설명되었다. 그러나, 본 발명은 개시된 상기 특정 버스 모델과 함께 사용되는 것으로 한정하지 아니한다. 오히려, 본 발명은 어떤 범용에도 적용가능할 수 있으며, 그것의 형태에 관계없이 통신을 위한 계층화된 모델이 설명될 수 있다.
상기에서 통신 요소 타입들의 사용은 버스 테스팅과 연관지어 설명되었다. 본 발명은 다양한 컨텍스트들에 적용되며, 어떤 특정한 장치와 함께 사용하는 것 또는 일반적인 장치와 함께 사용되는 것으로 한정하지 아니한다. 사용자-정의 통신 요소 타입들의 개념은 통신 매체를 시뮬레이팅, 에뮬레이팅 또는 테스팅하기 위해 적용될 수 있다. 그것은 버스를 통해 통신하기 위해 사용될 수 있으며, 예를 들면, 원하는 어떤 버스의 프로토콜을 추측할 수 있는 일반적인 입출력 회로를 통해서 사용될 수 있다. 또한, 버스 구조 및 동작을 표현하고 설명하기 위해서 용이하게 사용될 수 있다.
바람직한 실시예들이 도시되고 기술되었지만, 다양한 수정과 대안들이 본 발명의 정신과 범주를 벗어남이 없이 실시될 수 있다. 따라서, 본 발명은 제한없이 예시적으로 설명되었다는 것을 이해할 수 있을 것이다.

Claims (38)

  1. 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법으로서,
    상기 프로토콜의 서로 다른 통신 요소들을 계층적으로 나타내는, 각각이 상기 프로토콜의 특정 레이어에 관한 사용자 정의된 인스턴스가능한 소프트웨어 데이터 타입인, 복수의 통신 요소 타입들을 제공하는 단계;
    상기 타겟 매체를 통하여 상기 장비에 연결하기 위한 전자 장치를 제공하는 단계;
    상기 전자 장치를 제어하기 위한 소프트웨어 프로그램을 제공하는 단계;
    상기 소프트웨어 프로그램에 의하여 상기 복수의 통신 요소 타입들 중 하나를 인스턴시에이팅하여 상기 소프트웨어 프로그램 내에서 상기 각각의 통신 요소 타입을 구체적으로 나타내는 전송 메시지 인스턴스를 생성하는 단계;
    상기 소프트웨어 프로그램에 의하여 상기 복수의 통신 요소 타입들 중 하나를 인스턴시에이팅하여 상기 소프트웨어 프로그램 내에서 상기 각각의 통신 요소 타입을 구체적으로 나타내는 기대 메시지 인스턴스를 생성하는 단계;
    상기 소프트웨어 프로그램 내에서 상기 전송 메시지 인스턴스를 조절하는 단계;
    상기 소프트웨어 프로그램 내에서 상기 기대 메시지 인스턴스를 조절하는 단계;
    상기 소프트웨어 프로그램에 의하여 상기 조절된 전송 메시지 인스턴스에 따라서 상기 장비에 메시지를 전송하도록 하고, 상기 조절된 기대 메시지 인스턴스에 따라서 상기 장비로부터 메시지를 수신하도록 상기 전자 장치를 지시하는 단계; 및
    상기 장비로부터 수신된 메시지를 기대 결과들과 비교하여 상기 기대 결과들이 획득되었는지 여부를 판단하는 단계를 포함하고,
    상기 프로토콜의 상위 레이어들에 관계되는 적어도 일부의 통신 요소 타입들은 상기 프로토콜의 하위 레이어들에 관계되는 하나 이상의 통신 타입들에 대한 참조를 포함하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  2. 삭제
  3. 제 1항에 있어서, 상기 복수의 통신 요소 타입들을 제공하는 단계는 상기 타겟 매체의 상기 프로토콜에 의하여 허용된 교환들에 응답하는 상기 복수의 통신 요소 타입들 중 하나 이상을 정의하는 단계를 포함하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  4. 삭제
  5. 제 1항에 있어서, 상기 복수의 통신 요소 타입들 중 적어도 하나는 상기 타겟 매체를 통해 데이터를 전송하기 위한 데이터 구조를 정의하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  6. 제 1항에 있어서, 상기 복수의 통신 요소 타입들 중 적어도 하나는 상기 타겟 매체를 통해 데이터를 수신하기 위한 구조를 정의하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  7. 제 1항에 있어서, 상기 복수의 통신 요소 타입들 중 적어도 하나는 메시지 타입이고, 상기 메시지 타입은 각 메시지 타입의 인스턴스들과 연관된 메시지 데이터를 유지하기 위한 부분을 포함하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  8. 제 7항에 있어서, 상기 메시지 데이터는 고정된 길이를 갖는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  9. 제 7항에 있어서, 상기 메시지 데이터는 가변 길이를 갖는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  10. 제 1항에 있어서, 상기 복수의 통신 요소 타입들 중 적어도 하나는 상기 통신 요소 타입의 모든 인스턴스들을 위한 동일한 고정된 일부분을 포함하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  11. 삭제
  12. 제 1항에 있어서, 상기 복수의 통신 요소 타입들은 적어도 하나의 메시지 타입을 포함하며, 상기 메시지 타입의 각 인스턴스는 타이밍을 규정하기 위한 부분을 포함하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  13. 제 12항에 있어서, 상기 타이밍은 프리-메시지 갭을 지정하기 위한 세팅을 포함하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  14. 제 12항에 있어서, 상기 타이밍은 프리-워드 갭을 지정하기 위한 세팅을 포함하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  15. 제 12항에 있어서, 상기 타이밍은 시작하는 메시지 타임아웃을 지정하기 위한 세팅을 포함하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  16. 제 12항에 있어서, 상기 타이밍은 트레일링 갭(trailing gap)을 지정하기 위한 세팅을 포함하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  17. 제 1항에 있어서, 상기 전송 메시지 인스턴스를 조절하는 단계는,
    상기 소프트웨어 프로그램에 의하여 상기 전송 메시지 인스턴스의 특성의 적어도 하나의 특성을 확립하는 단계를 포함하는 것을 특징으로 하는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  18. 제 17항에 있어서, 상기 적어도 하나의 특성은 타이밍 특성을 포함하는 것을 특징으로 하는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  19. 제 1항에 있어서, 컴퓨터가 판독 가능한 포맷으로 상기 복수의 통신 요소 타입들을 세이브하는 단계를 더 포함하는 것을 특징으로 하는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  20. 제 1항에 있어서, 상기 복수의 사용자 정의된 통신 요소 타입들은 메시지 타입들, 워드 타입들, 및 필드 타입들을 포함하고,
    상기 메시지 타입들 중 적어도 하나는 상기 워드 타입들 중 적어도 하나에 대한 참조를 포함하고,
    상기 워드 타입들 중 적어도 하나는 상기 필드 타입들 중 적어도 하나에 대한 참조를 포함하는 것을 특징으로 하는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  21. 제 14항에 있어서, 상기 복수의 통신 요소 타입들 중 하나에 대한 다중 인스턴스들을 생성하는 단계를 더 포함하는 것을 특징으로 하는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  22. 제 21항에 있어서, 상기 타겟 매체 상의 정보를 교환하기 위해 상기 인스턴스들 각각을 처리하는 단계를 더 포함하는 것을 특징으로 하는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  23. 제 17항에 있어서, 상기 소프트웨어 프로그램에서 상기 복수의 통신 요소 타입들 중 하나의 다중 인스턴스들을 생성하는 단계를 더 포함하는 것을 특징으로 하는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  24. 제 23항에 있어서, 상기 소프트웨어 프로그램 내에 생성된 상기 다중 인스턴스들 각각의 특성들을 다른 방법들로 변화시키는 단계를 더 포함하는 것을 특징으로 하는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  25. 삭제
  26. 메시지들과 워드들의 사용을 지원하는 프로토콜을 가지는 타겟 매체를 통해 통신하는 방법에 있어서,
    상기 프로토콜을 사용하는 통신을 나타내기 위하여 각각이 소프트웨어에서 표현되는 사용자 정의가능한 데이터 구조인 복수의 메시지 타입들과 복수의 워드 타입들을 제공하는 단계;
    상기 타겟 매체를 통하여 통신하기 위하여 상기 타겟 매체와 연결되는 전자 장치를 제공하는 단계;
    상기 전자 장치를 제어하기 위한 소프트웨어 프로그램을 제공하는 단계;
    적어도 하나의 메시지 타입은 적어도 하나의 워드 타입에 대한 참조를 포함하는 상기 복수의 메시지 타입들과 상기 복수의 워드 타입들을 계층적으로 배치하는 단계;
    상기 소프트웨어 프로그램에 의하여 상기 적어도 하나의 메시지 타입을 인스턴시에이팅하여 적어도 하나의 메시지 인스턴스를 생성하는 단계(각 메시지 인스턴스는 상기 각 메시지 타입의 구체적 표현이고, 상기 각 메시지 타입에 참조로서 포함되는 각 워드 타입의 인스턴스를 포함하고, 상기 포함되는 각 워드 타입의 인스턴스는 상기 각 워드 타입의 구체적 표현임); 및
    상기 소프트웨어 프로그램을 운용하여 상기 전자 장치가 상기 적어도 하나의 메시지 인스턴스에 응답하여 상기 타겟 매체를 통하여 통신을 지시하도록 하는 단계를 포함하는 것을 특징으로 하는 메시지들과 워드들의 사용을 지원하는 프로토콜을 가지는 타겟 매체를 통해 통신하는 방법.
  27. 제 1항에 있어서, 상기 복수의 통신 요소 타입들 중 하나를 인스턴시에이팅하여 전송 메시지 인스턴스를 생성하는 단계는,
    상기 소프트웨어 프로그램이 소프트웨어 응용 프로그램 인터페이스(appications program interface)를 액세스하는 단계를 포함하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  28. 제 1항에 있어서, 상기 복수의 통신 요소 타입들 중 하나를 인스턴시에이팅하여 전송 메시지 인스턴스를 생성하는 단계는, VXI 플러그-앤-플레이 드라이버를 액세스하는 단계를 포함하는 것을 특징으로 하는 프로토콜을 갖는 타겟 매체에 연결된 장비를 테스트하기 위한 방법.
  29. 다중-레이어드된 프로토콜을 갖는 타겟 매체를 통하여 통신하는 방법으로서,
    소프트웨어 프로그램을 제공하는 단계;
    상기 소프트웨어 프로그램에 의하여 접근가능하고, 상기 프로토콜의 제1 레이어에 대한 서로 다른 통신 요소들을 나타내는 복수의 제1 통신 요소 타입들을 정의하는 단계;
    상기 소프트웨어 프로그램에 의하여 접근가능하고, 상기 제1 레이어보다 하위인, 상기 프로토콜의 제2 레이어에 대한 서로 다른 통신 요소들을 나타내는 복수의 제2 통신 요소 타입들을 정의하는 단계;
    상기 복수의 제1 통신 요소 타입들의 적어도 하나의 상기 정의내에서 상기 복수의 제2 통신 요소 타입들의 적어도 하나에 대한 참조를 포함하는 단계;
    상기 복수의 제1 통신 요소 타입들 중 적어도 하나를 인스턴시에이팅하여 상기 소프트웨어프로그램 내에서 통신 요소 인스턴스를 생성하는 단계(상기 통신 요소 인스턴스는 상기 복수의 제1 통신 요소 타입들 중 하나에 의하여 참조된 상기 복수의 제2 통신 요소 타입들 각각의 인스턴스를 포함하고, 각 인스턴스는 상기 복수의 제1 통신 요소 타입들 또는 상기 복수의 제2 통신 요소 타입들 각각의 구체적 표현임);
    상기 소프트웨어 프로그램 내에서 상기 통신 요소 인스턴스들 중 적어도 하나를 조절하는 단계; 및
    상기 소프트웨어 프로그램을 실행하여 상기 조절된 통신 요소 인스턴스에 따라서 상기 타겟 매체를 통하여 통신하는 단계를 포함하는 다중-레이어드된 프로토콜을 갖는 타겟 매체를 통하여 통신하는 방법.
  30. 제 29항에 있어서, 상기 프로토콜의 상기 제1 레이어는 메시지들에 해당하고, 상기 프로토콜의 상기 제2 레이어는 워드들에 해당하는 것을 특징으로 하는 다중-레이어드된 프로토콜을 갖는 타겟 매체를 통하여 통신하는 방법.
  31. 제 29항에 있어서,
    상기 소프트웨어 프로그램에 의하여 접근가능하고, 상기 제2 레이어보다 하위인, 상기 프로토콜의 제3 레이어에 대한 서로 다른 통신 요소들을 나타내는 복수의 제3 통신 요소 타입들을 정의하는 단계; 및
    상기 복수의 제2 통신 요소 타입들의 적어도 하나의 상기 정의내에서 상기 복수의 제3 통신 요소 타입들의 적어도 하나에 대한 참조를 포함하는 단계를 더 포함하는 것을 특징으로 하는 다중-레이어드된 프로토콜을 갖는 타겟 매체를 통하여 통신하는 방법.
  32. 제 31항에 있어서, 상기 프로토콜의 상기 제1 레이어는 메시지들에 해당하고, 상기 프로토콜의 상기 제2 레이어는 워드들에 해당하고, 상기 프로토콜의 상기 제3 레이어는 필드들에 해당하는 것을 특징으로 하는 다중-레이어드된 프로토콜을 갖는 타겟 매체를 통하여 통신하는 방법.
  33. 제 29항에 있어서, 상기 복수의 제1 통신 요소 타입들과 상기 복수의 제2 통신 요소 타입들은 컴퓨터가 판독 가능한 파일로 저장되는 것을 특징으로 하는 다중-레이어드된 프로토콜을 갖는 타겟 매체를 통하여 통신하는 방법.
  34. 제 29항에 있어서, 상기 복수의 제1 통신 요소 타입들과 상기 복수의 제2 통신 요소 타입들은 XML(Extensible Markedup Language) 코드로 구현되는 것을 특징으로 하는 다중-레이어드된 프로토콜을 갖는 타겟 매체를 통하여 통신하는 방법.
  35. 다중-레이어드된 프로토콜을 갖는 타겟 매체를 통하여 통신하기 위한 컴퓨터로 구현된 시스템으로서,
    상기 타겟 매체에 연결된 전자 장치를 제어하기 위한 소프트웨어 프로그램;
    상기 프로토콜의 제1 레이어에 대한 서로 다른 통신 요소들을 나타내는 복수의 제1 통신 요소 타입들 및 상기 제1 레이어보다 하위인, 상기 프로토콜의 제2 레이어에 대한 서로 다른 통신 요소들을 나타내는 복수의 제2 통신 요소 타입들을 포함하는, 상기 소프트웨어 프로그램에 의하여 액세스가능한 버스 모델 파일(상기 복수의 제1 통신 요소 타입들 및 상기 복수의 제2 통신 요소 타입들은 각각 인스턴스가능한 소프트웨어 데이터 타입이고, 상기 복수의 제1 통신 요소 타입들 중 적어도 하나는 상기 복수의 제2 통신 요소 타입들 중 적어도 하나에 대한 참조를 포함함); 및
    상기 복수의 제1 통신 요소 타입들 및 상기 복수의 제2 통신 요소 타입들에 기초하여 통신 요소 인스턴스들을 생성하기 위하여 상기 소프트웨어 프로그램에 의하여 접근 가능한 소프트웨어 API(appications program interface)를 포함하고,
    상기 통신 요소 인스턴스들은,
    각각이 상기 복수의 제1 통신 요소 타입들 각각의 구체적 표현인 상기 소프트웨어 프로그램 내의 적어도 하나의 제1 통신 요소 인스턴스; 및
    각각이 상기 복수의 제1 통신 요소 타입들 각각에 참조로서 포함되고, 상기 복수의 제2 통신 요소 타입들 각각의 구체적 표현인 상기 소프트웨어 프로그램 내의 적어도 하나의 제2 통신 요소 인스턴스를 포함하는 것을 특징으로 하는 다중-레이어드된 프로토콜을 갖는 타겟 매체를 통하여 통신하기 위한 컴퓨터로 구현된 시스템.
  36. 제 35항에 있어서, 상기 복수의 제1 통신 요소 타입들 및 상기 복수의 제2 통신 요소 타입들은 네스티드(nested) 소프트웨어 태그들(tags)을 이용하여 구현되는 것을 특징으로 하는 다중-레이어드된 프로토콜을 갖는 타겟 매체를 통하여 통신하기 위한 컴퓨터로 구현된 시스템.
  37. 제 36항에 있어서, 상기 버스 모델 파일은 XML(Extensible Markedup Language) 파일인 것을 특징으로 하는 다중-레이어드된 프로토콜을 갖는 타겟 매체를 통하여 통신하기 위한 컴퓨터로 구현된 시스템.
  38. 제 35항에 있어서, 상기 버스 모델 파일은 상기 소프트웨어 프로그램에 의하여 접근가능하고, 상기 제2 레이어보다 하위인, 상기 프로토콜의 제3 레이어에 대한 서로 다른 통신 요소들을 나타내는 복수의 제3 통신 요소 타입들을 더 포함하고, 상기 복수의 제2 통신 요소 타입들 중 적어도 하나는 상기 복수의 제3 통신 요소 타입들 중 적어도 하나에 대한 참조를 포함하는 것을 특징으로 하는 다중-레이어드된 프로토콜을 갖는 타겟 매체를 통하여 통신하기 위한 컴퓨터로 구현된 시스템.
KR1020057001892A 2002-08-01 2003-07-25 상이한 버스 프로토콜을 표현하기 위한 적응적 접근법 KR100935000B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US40014002P 2002-08-01 2002-08-01
US60/400,140 2002-08-01
US10/608,588 US7428218B2 (en) 2002-08-01 2003-06-27 Flexible approach for representing different bus protocols
US10/608,588 2003-06-27
PCT/US2003/023348 WO2004014044A1 (en) 2002-08-01 2003-07-25 Flexible approach for representing different bus protocols

Publications (2)

Publication Number Publication Date
KR20050038613A KR20050038613A (ko) 2005-04-27
KR100935000B1 true KR100935000B1 (ko) 2009-12-31

Family

ID=31498608

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057001892A KR100935000B1 (ko) 2002-08-01 2003-07-25 상이한 버스 프로토콜을 표현하기 위한 적응적 접근법

Country Status (9)

Country Link
US (1) US7428218B2 (ko)
EP (1) EP1540919B1 (ko)
JP (2) JP2006516834A (ko)
KR (1) KR100935000B1 (ko)
AU (1) AU2003252166A1 (ko)
BR (1) BR0313359A (ko)
CA (1) CA2494101A1 (ko)
IL (1) IL166606A0 (ko)
WO (1) WO2004014044A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100451784C (zh) * 2004-01-29 2009-01-14 夏普株式会社 显示装置
JP4276965B2 (ja) * 2004-02-04 2009-06-10 シャープ株式会社 表示装置
US8412826B2 (en) 2005-03-21 2013-04-02 Hewlett-Packard Development Company, L.P. Message exchange between software components
US20080070196A1 (en) * 2006-08-23 2008-03-20 United Space Alliance, Llc Docked emulation system
EP3617723B1 (en) * 2018-08-29 2023-03-22 Nxp B.V. Integrated circuit device with integrated fault monitoring system
CN113238936B (zh) * 2021-05-11 2022-08-12 中国船舶重工集团公司第七0九研究所 一种可扩展的通用嵌入式软件通信接口测试方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001028060A1 (en) * 1999-10-11 2001-04-19 Comlog Telecommunications Engineering Ltd. Digital testing device
US6266700B1 (en) * 1995-12-20 2001-07-24 Peter D. Baker Network filtering system

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5056060A (en) 1987-03-13 1991-10-08 Apple Computer, Inc. Printed circuit card with self-configuring memory system for non-contentious allocation of reserved memory space among expansion cards
US5038317A (en) 1988-07-25 1991-08-06 Allen-Bradley Company, Inc. Programmable controller module rack with a relative rack slot addressing mechanism
US5257393A (en) 1989-04-19 1993-10-26 Jrm Consultants, Inc. Serially controlled programmable test network
US5111450A (en) * 1989-11-01 1992-05-05 The Boeing Company Data bus tester for autonomous data communications system
EP0445454B1 (en) 1990-03-08 1997-06-18 International Business Machines Corporation Hardware simulator
US5175536A (en) 1990-08-01 1992-12-29 Westinghouse Electric Corp. Apparatus and method for adapting cards designed for a VME bus for use in a VXI bus system
US5243273A (en) 1990-09-12 1993-09-07 Hewlett-Packard Company General purpose, reconfigurable system for processing serial bit streams
US5410717A (en) 1991-03-22 1995-04-25 Allen-Bradley Company, Inc. Removable function card for a programmable controller processor
JPH05216712A (ja) 1991-10-23 1993-08-27 Internatl Business Mach Corp <Ibm> コンピュータシステムおよびこのコンピュータシステム上で内観的タスクを遂行する方法並びにi/oプロセッサアセンブリ
US5349685A (en) 1992-05-05 1994-09-20 The United States Of America As Represented By The Secretary Of The Navy Multipurpose bus interface utilizing a digital signal processor
US6006343A (en) 1993-07-30 1999-12-21 Texas Instruments Incorporated Method and apparatus for streamlined testing of electrical circuits
FR2712998B1 (fr) 1993-11-22 1996-02-09 Aerospatiale Simulateur de bus numériques intégré dans un système de test automatique de boîtiers électroniques embarqués sur avion.
JPH08180006A (ja) * 1994-12-22 1996-07-12 Hitachi Ltd ネットワークインタフェースおよび計算機ネットワークシステム
US5826030A (en) * 1995-11-30 1998-10-20 Excel Switching Corporation Telecommunication switch having a universal API with a single call processing message including user-definable data and response message each having a generic format
US5970430A (en) 1996-10-04 1999-10-19 Fisher Controls International, Inc. Local device and process diagnostics in a process control network having distributed control functions
US7333484B2 (en) * 1998-08-07 2008-02-19 Intel Corporation Services processor having a packet editing unit
US6560235B1 (en) * 1998-11-16 2003-05-06 Woodhead Industries, Inc. Universal communication system
GB2350039B (en) 1999-03-17 2004-06-23 Adder Tech Ltd Computer signal transmission system
CN1088218C (zh) 1999-11-14 2002-07-24 邓国顺 用于数据处理系统的快闪电子式外存储方法及其装置
EP1137218A1 (de) * 2000-03-24 2001-09-26 Tektronix, Inc. Verfahren und System zum Testen von Telekommunikationseinrichtungen
US6968307B1 (en) 2000-04-28 2005-11-22 Microsoft Corporation Creation and use of virtual device drivers on a serial bus
JP4512929B2 (ja) 2000-05-19 2010-07-28 富士通セミコンダクター株式会社 シリアルバスインターフェース装置
US6601196B1 (en) * 2000-06-29 2003-07-29 Intel Corporation Method and apparatus for debugging ternary and high speed busses
US7215781B2 (en) 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
US20030056036A1 (en) * 2001-09-14 2003-03-20 Carlton Gary Don Apparatus and method for testing universal serial bus communication
US7343279B2 (en) * 2002-08-01 2008-03-11 Teradyne, Inc. Universal approach for simulating, emulating, and testing a variety of serial bus types

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266700B1 (en) * 1995-12-20 2001-07-24 Peter D. Baker Network filtering system
WO2001028060A1 (en) * 1999-10-11 2001-04-19 Comlog Telecommunications Engineering Ltd. Digital testing device

Also Published As

Publication number Publication date
JP5361564B2 (ja) 2013-12-04
KR20050038613A (ko) 2005-04-27
EP1540919A1 (en) 2005-06-15
CA2494101A1 (en) 2004-02-12
BR0313359A (pt) 2007-12-11
JP2009273138A (ja) 2009-11-19
US7428218B2 (en) 2008-09-23
IL166606A0 (en) 2006-01-15
WO2004014044A1 (en) 2004-02-12
AU2003252166A1 (en) 2004-02-23
JP2006516834A (ja) 2006-07-06
EP1540919B1 (en) 2013-07-10
US20040057391A1 (en) 2004-03-25

Similar Documents

Publication Publication Date Title
US6182130B1 (en) Method for enhancing the performance of a network
CN102739654B (zh) 一种实现应用程序访问数据库的方法
US7200641B1 (en) Method and system for encoding SCSI requests for transmission using TCP/IP
US20040210665A1 (en) Protocol testing system and protocol testing method
EP0576549A4 (ko)
CN1675621A (zh) 利用远程配置数据进行引导的方法和装置
CN112527709B (zh) 一种PCIe扩展交换系统、方法及电子设备和存储介质
CN113238936B (zh) 一种可扩展的通用嵌入式软件通信接口测试方法及装置
EP2746963A1 (en) Method and system for identifying file type
JP5361564B2 (ja) 異なるバスプロトコルを示す柔軟なアプローチ
US20060187960A1 (en) Network interface and computing system including the same
US8005886B2 (en) Systems and methods for generating network messages
JP4246405B2 (ja) 秘密機構を使用して各ハードウェア・レジスタに一括アクセスするハードウェア装置上で付加価値特性を使用可能にする方法
US20030055930A1 (en) Communication processing apparatus, management apparatus, computer-readable medium storing a program and communication system
CN110750478A (zh) 一种多串口通信方法及系统
JP4006444B2 (ja) ネットワーク上の状態情報の通信
CN111104075B (zh) Usb设备模拟装置及方法
CN111464398A (zh) 自组织无中心的网络高层协议测试方法、设备及存储介质
US7548965B2 (en) System and method for organizing network management information
JP2009130614A (ja) 通信制御装置、通信制御方法および通信制御プログラム
CN109213673A (zh) 一种基于串口仿真软件的开发方法和装置
US6757773B1 (en) System and method for determining support capability of a device coupled to a bus system
CN1291028A (zh) 自动数据传输率控制设备及防止在以太网转接器产生溢出的方法
JP2004213110A (ja) ネットワーク管理装置、ネットワーク管理プログラム及び記録媒体
JP2002163165A (ja) ネットワークデバイスの管理方法及びネットワークデバイス

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121130

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141201

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee