KR101125365B1 - Integrated design method of communication protocols with sdl-opnet co-simmulation technique - Google Patents

Integrated design method of communication protocols with sdl-opnet co-simmulation technique Download PDF

Info

Publication number
KR101125365B1
KR101125365B1 KR1020100080463A KR20100080463A KR101125365B1 KR 101125365 B1 KR101125365 B1 KR 101125365B1 KR 1020100080463 A KR1020100080463 A KR 1020100080463A KR 20100080463 A KR20100080463 A KR 20100080463A KR 101125365 B1 KR101125365 B1 KR 101125365B1
Authority
KR
South Korea
Prior art keywords
sdl
opnet
message
model
external system
Prior art date
Application number
KR1020100080463A
Other languages
Korean (ko)
Other versions
KR20120021855A (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 KR1020100080463A priority Critical patent/KR101125365B1/en
Publication of KR20120021855A publication Critical patent/KR20120021855A/en
Application granted granted Critical
Publication of KR101125365B1 publication Critical patent/KR101125365B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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/26Special purpose or proprietary protocols or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

SDL-OPNET 코-시뮬레이션 기법을 적용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법이 개시된다. 상기 통신 프로토콜의 단일 모델 기반 통합 설계 방법은, SDL(Specification and Description Language)을 이용하여 프로토콜 요구사항을 충족하는 프로토콜 모델을 설계하는 단계; 상기 프로토콜 모델에 대해 기능 검증을 수행하여 검증된 SDL 설계 모델을 생성하는 단계; OPNET을 이용하여 성능평가 환경모델을 구축하는 단계; SDL 환경 함수와 OPNET 외부 시스템 인터페이스 코드를 설계하는 단계; 및 상기 SDL 환경 함수 및 상기 OPNET 외부 시스템 인터페이스 코드를 이용하여, 상기 검증된 SDL 설계 모델에 대한 성능 평가를 수행하는 단계를 포함한다.Disclosed is a single model based integrated design method of a communication protocol using the SDL-OPNET co-simulation technique. The single model-based integrated design method of the communication protocol may include: designing a protocol model that satisfies protocol requirements by using a specification and description language (SDL); Performing functional verification on the protocol model to generate a verified SDL design model; Building a performance evaluation environment model using OPNET; Designing SDL environment functions and OPNET external system interface code; And performing a performance evaluation on the verified SDL design model using the SDL environment function and the OPNET external system interface code.

Description

SDL?OPNET 코-시뮬레이션 기법을 이용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법 {INTEGRATED DESIGN METHOD OF COMMUNICATION PROTOCOLS WITH SDL-OPNET CO-SIMMULATION TECHNIQUE}Single-model-based integrated design method of communication protocol using SDL-OPEN co-simulation technique {INTEGRATED DESIGN METHOD OF COMMUNICATION PROTOCOLS WITH SDL-OPNET CO-SIMMULATION TECHNIQUE}

본 발명은 통신 프로토콜의 설계 방법에 관한 것으로, 더욱 상세하게는, 표준 형식 언어인 SDL(Specification and Description Language)을 사용하는 설계 및 검증 도구로 가장 널리 사용되고 있는 Tau와 가장 우수한 네트워크 성능 평가 도구로 알려진 OPNET 간의 도구 연결을 이용한SDL-OPNET 코-시뮬레이션 기법을 적용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법에 관한 것이다.
The present invention relates to a method of designing a communication protocol, and more particularly, known as Tau, which is widely used as a design and verification tool using a specification and description language (SDL), and a best network performance evaluation tool. A single model-based integrated design method for communication protocols using SDL-OPNET co-simulation technique using tool connection between OPNETs.

최근 초고속, 멀티미디어, 이동 통신 등 통신 서비스 요구사항이 다양하고 복잡해짐에 따라 끊임없이 새로운 통신 시스템이 등장하고, 이에 따른 통신 시스템 구현제품이 개발되고 있다. 일반적으로 새로운 통신 시스템을 설계할 경우 혹은 기존 시스템의 성능을 개선할 경우, 설계된 시스템의 성능을 평가하기 위해 성능 분석을 수행하게 된다. 성능 분석 방법은 수학적 해석이나 구현제품의 실제 성능측정을 사용할 수도 있으나, 설계의 정확도 및 기능 동작의 복잡도가 증가함에 따라 시뮬레이션 방법이 현실적이고 신뢰성 있는 방법으로 인정받고 있다.Recently, as communication service requirements such as high speed, multimedia, and mobile communication are diversified and complicated, new communication systems are constantly emerging, and communication system implementation products are being developed accordingly. In general, when designing a new communication system or improving the performance of an existing system, performance analysis is performed to evaluate the performance of the designed system. The performance analysis method may use mathematical analysis or actual performance measurement of the implemented product, but as the accuracy of the design and the complexity of the functional operation increase, the simulation method is recognized as a realistic and reliable method.

다른 한편으로 다양하고 복잡한 서비스 요구사항을 만족시키는 통신 시스템을 설계하기 위해서는 통신 시스템의 구조나 기능 동작, 서비스 간의 관계 등에 대한 명확한 기술이 필수적이다. 이러한 필요성에 따라 SDL(Specification and Description Language)과 같은 형식 기술 언어(formal description languages)가 개발되어 현재 ITU-T에서는 새로운 통신 프로토콜의 표준화시 프로토콜 동작에 대한 SDL 명세를 제공하도록 권고하고 있다. IBM 사의 Rational Tau SDL Suite(이하, Tau)와 같은 SDL 설계 도구를 이용할 경우 설계된 형식모델 동작의 손쉬운 검증 뿐 아니라 구현을 위한 코드를 자동으로 생성할 수 있다.On the other hand, in order to design a communication system that satisfies various complex service requirements, a clear description of the structure, functional operation, and the relationship between services is essential. To meet this need, formal description languages, such as Specification and Description Language (SDL), have been developed. Currently, ITU-T recommends that SDL specifications for protocol operation be standardized when standardizing new communication protocols. SDL design tools, such as IBM's Rational Tau SDL Suite (Tau), allow you to automatically generate code for implementation as well as easy validation of designed model behavior.

이렇듯 새로운 통신 시스템의 설계에 있어서 시스템의 성능 평가와 형식적 설계를 통한 기능 검증이 모두 중요한데, 실제로는 이 두 과정을 모두 충실히 수행하여 통신 시스템을 설계하는 경우가 흔하지 않다. 즉, 시스템의 기능 검증과 성능 평가 중 보다 중요하다고 판단되는 한 부분에 치중하여 설계를 수행하고 다른 한 부분은 생략되거나 추후로 미루어지게 된다. 기능 검증과 성능 평가를 모두 수행하기 위해서는 자연히 비용이 많이 들게 되지만, 한 프로토콜에 대한 기능 검증과 성능 평가가 서로 다른 설계 환경에서 수행되고 있는 실정이 문제를 가중시키고 있다. 이는 지금까지 기능 검증과 성능 평가가 개별적으로 연구되어 왔다는 사실에 기인한 것으로, 현실적으로 기능 검증과 성능 평가를 모두 수행하기 위해서는 중복하여 개별적인 모델링을 수행하고, 중복 설계된 모델 간의 동일성을 보장해야 한다.In designing a new communication system, performance evaluation of the system and functional verification through formal design are both important. In reality, it is not uncommon to design a communication system by faithfully performing both processes. That is, the design is carried out by focusing on one part which is considered more important during the functional verification and performance evaluation of the system, and the other part is omitted or postponed later. It is naturally expensive to perform both functional verification and performance evaluation, but the problem is that functional verification and performance evaluation for one protocol are performed in different design environments. This is due to the fact that functional verification and performance evaluation have been studied separately until now, in order to perform both functional verification and performance evaluation, it is necessary to perform individual modeling in duplicate and ensure the sameness between the overlapped models.

종래에, 이러한 문제를 해결하기 위해 기능 검증과 성능 평가를 통합하고자 하는 다양한 연구가 수행되어 왔다. 통합 설계 기법을 이용하여 신뢰성 있고 우수한 성능의 프로토콜을 개발하는 과정은 대략 다음과 같다. 먼저 형식 모델링 언어를 지원하는 설계도구로 프로토콜 모델을 설계하고 기능상의 정확성을 검증한 다음, 검증된 모델에 대해 성능 평가 도구를 이용하여 시뮬레이션 환경을 구성하고 성능평가를 통해 최종 모델을 얻게 된다. 이러한 통합 설계 기법이 실제 통신 프로토콜 설계와 개발에 적극적으로 활용되기 위해서는 통합 설계 기법의 신뢰성과 효용성이 입증되어야 한다. 그런데, 통합 설계 기법이 표준 형식언어가 아닌 비표준 확장언어를 사용한다거나 기존 성능평가 도구가 아닌 자제 개발 성능평가도구를 사용하는 경우, 제안 기법의 확장성이나 신뢰성을 검증받기 어렵다. 따라서 통합 설계 기법의 효용성과 신뢰성 확보를 위해서는 표준 형식기술 언어와 검증된 설계 및 평가 도구를 이용하는 것이 필요하다.In the past, various studies have been conducted to integrate functional verification and performance evaluation to solve this problem. The process of developing a reliable and high performance protocol using integrated design techniques is roughly as follows. First, a protocol model is designed with a design tool that supports formal modeling language, and the functional accuracy is verified. Then, a simulation environment is constructed using a performance evaluation tool, and a final model is obtained through performance evaluation. In order for these integrated design techniques to be actively used in the design and development of actual communication protocols, the reliability and effectiveness of the integrated design techniques must be demonstrated. However, when the integrated design technique uses a non-standard extension language other than the standard formal language or a self-developed performance evaluation tool instead of the existing performance evaluation tool, it is difficult to verify the scalability or reliability of the proposed technique. It is therefore necessary to use standard formal description languages and proven design and evaluation tools to ensure the effectiveness and reliability of integrated design techniques.

기존의 검증된 평가 도구를 사용하는 통합 설계 기법은 기능 모델을 성능 모델로 변환하는 모델 매핑 방식과 기능 검증 도구와 성능 평가 도구를 연계하는 도구 연결 방식으로 분류될 수 있다. 최근 도구 연결 방식으로 SDL 설계 도구 Tau와 공개 성능 평가 도구 ns-2를 연계하는 통합 설계 기법이 제안되었지만, 성능 평가 도구로 가장 높은 신뢰성을 인정받고 있는 OPNET Modeler(이하 OPNET)는 상용 도구라는 문제로 인해 아직 통합 설계 기법에 잘 사용되지 못하고 있는 실정이다.
Integrated design techniques using existing validated evaluation tools can be categorized into a model mapping method for converting a functional model into a performance model and a tool connection method for linking functional verification tools with performance evaluation tools. Recently, an integrated design technique that links the SDL design tool Tau with the open performance evaluation tool ns-2 has been proposed.However, OPNET Modeler (OPNET), which is recognized as the most reliable performance evaluation tool, is a commercial tool. As a result, it is not well used in integrated design techniques.

본 발명은 전술한 통합 설계 기법들의 문제점들을 극복하기 위하여 제안된 것으로, 표준 형식 언어인 SDL을 사용하는 설계 및 검증 도구로 가장 널리 사용되고 있는 Tau와 가장 우수한 네트워크 성능 평가 도구로 알려진 OPNET 간의 도구 연결을 이용하여, SDL-OPNET 코-시뮬레이션 기법을 적용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법을 제공하는 것을 해결하고자 하는 기술적 과제로 한다.
The present invention is proposed to overcome the problems of the integrated design techniques described above. It is a technical problem to solve to provide a single model-based integrated design method of a communication protocol using the SDL-OPNET co-simulation technique.

상기 기술적 과제를 해결하기 위한 수단으로서, 본 발명은 SDL을 이용하여 프로토콜 요구사항을 충족하는 프로토콜 모델을 설계하는 단계; 상기 프로토콜 모델에 대해 기능 검증을 수행하여 검증된 SDL 설계 모델을 생성하는 단계; OPNET을 이용하여 성능평가 환경모델을 설계하는 단계; SDL 환경 함수와 OPNET 외부 시스템 인터페이스 코드를 설계하는 단계; 및 상기 SDL 환경 함수 및 상기 OPNET 외부 시스템 인터페이스 코드를 이용하여, 상기 검증된 SDL 설계 모델에 대한 성능 평가를 수행하는 단계;를 포함하는 통신 프로토콜의 단일 모델 기반 통합 설계 방법을 제공한다.As a means for solving the technical problem, the present invention comprises the steps of designing a protocol model to meet the protocol requirements using SDL; Performing functional verification on the protocol model to generate a verified SDL design model; Designing a performance evaluation environment model using OPNET; Designing SDL environment functions and OPNET external system interface code; And performing a performance evaluation on the verified SDL design model by using the SDL environment function and the OPNET external system interface code.

본 발명의 일실시형태에서, 상기 성능평가 환경 모델을 설계하는 단계는, 성능평가 대상 모듈을 비어 있는 더미 모듈으로 설계하는 단계이며, 상기 SDL 환경 함수와 OPNET 외부 시스템 인터페이스 코드를 설계하는 단계는, 상기 SDL 환경 함수와 OPNET 외부 시스템 인터페이스 코드를 설계하여 코-시뮬레이션 제어기에 저장하는 단계일 수 있다.In an embodiment of the present invention, the designing of the performance evaluation environment model may include designing a performance evaluation target module as an empty dummy module, and designing the SDL environment function and the OPNET external system interface code may include: The SDL environment function and the OPNET external system interface code may be designed and stored in a co-simulation controller.

이 실시형태에서, 상기 검증된 SDL 설계 모델에 대한 성능 평가를 수행하는 단계는, 상기 더미 모듈이 상기 SDL 환경 함수 및 상기 OPNET 외부 시스템 인터페이스 코드를 이용하여 데이터 교환 방식으로 상기 검증된 SDL 설계 모델과 연결되는 단계를 포함할 수 있다.In this embodiment, performing a performance evaluation on the validated SDL design model may include: the dummy module and the verified SDL design model in a data exchange manner using the SDL environment function and the OPNET external system interface code. It may include the step of being connected.

또한, 이 실시형태에서, 상기 검증된 SDL 설계 모델에 대한 성능 평가를 수행하는 단계는, 상기 더미 모듈이 상기 성능평가 환경모델 내의 다른 모듈에서 발생하는 메시지를 외부 시스템 인터페이스에 설정하는 단계; 상기 코-시뮬레이션 제어기에서, 상기 외부 시스템 인터페이스에 설정된 메시지를 수신하고, SDL 메시지 포맷으로 변환하는 단계; 상기 코-시뮬레이션 제어기에서, SDL 메시지 포맷으로 변환된 메시지를 상기 검증된 SDL 설계 모델로 전송하는 단계; 상기 검증된 SDL 설계 모델이 전송받은 메시지에 따른 동작을 수행하여 발생하는 결과 메시지를 출력하는 단계; 상기 코-시뮬레이션 제어기에서, 상기 결과 메시지를 수신하고, 수신된 결과 메시지를 OPNET 패킷 포맷으로 변환하는 단계; 상기 코-시뮬레이션 제어기에서, 상기 OPNET 패킷 포맷으로 변환된 메시지를 상기 외부 시스템 인터페이스에 설정하는 단계; 및 상기 더미 모듈이 상기 외부 시스템 인터페이스에 설정된 상기 OPNET 패킷 포맷으로 변환된 메시지를 수신하는 단계를 포함할 수 있다.Further, in this embodiment, performing the performance evaluation on the verified SDL design model includes: setting, by the dummy module, a message generated by another module in the performance evaluation environment model to an external system interface; Receiving, at the co-simulation controller, a message set in the external system interface and converting the message into an SDL message format; Sending, at the co-simulation controller, a message converted to an SDL message format to the verified SDL design model; Outputting a result message generated by performing an operation according to the received message by the verified SDL design model; Receiving, at the co-simulation controller, the result message and converting the received result message into an OPNET packet format; Setting, at the co-simulation controller, a message converted to the OPNET packet format to the external system interface; And receiving, by the dummy module, a message converted into the OPNET packet format set in the external system interface.

더하여, 상기 더미 모듈이 상기 성능평가 환경모델 내의 다른 모듈에서 발생하는 메시지를 외부 시스템 인터페이스에 설정하는 단계는, 상기 더미 모듈이 Esys 커널 프로시저를 통해 상기 외부 시스템 인터페이스에 상기 다른 모듈에서 발생하는 메시지를 설정하는 단계일 수 있다.In addition, the step in which the dummy module sets a message generated by another module in the performance evaluation environment model to an external system interface may include a message generated by the dummy module at the other system interface to the external system interface through an Esys kernel procedure. It may be a step of setting.

더하여, 상기 코-시뮬레이션 제어기에서, 상기 외부 시스템 인터페이스에 설정된 메시지를 수신하고, SDL 메시지 포맷으로 변환하는 단계는, 상기 더미 모듈이 상기 외부 시스템 인터페이스에 메시지를 설정하는 경우에 자동으로 호출되도록 상기 코-시뮬레이션 제어기에 사전 등록된 ESA callback 함수에 의해, 상기 코-시뮬레이션 제어기가 사기 외부시스템 인터페이스에 상기 더미 모듈에 의해 메시지가 설정되었음을 판단하는 단계를 포함할 수 있다.In addition, in the co-simulation controller, receiving a message set in the external system interface and converting the message into an SDL message format may be automatically invoked when the dummy module sets a message in the external system interface. -By the ESA callback function pre-registered in the simulation controller, the co-simulation controller can determine that a message has been set by the dummy module on a fraudulent external system interface.

더하여, 상기 코-시뮬레이션 제어기에서, SDL 메시지 포맷으로 변환된 메시지를 상기 검증된 SDL 설계 모델로 전송하는 단계는, 상기 코-시뮬레이션 제어기에서 상기 SDL 메시지 포맷으로 변환된 메시지를 SDL 환경 함수 'xOutEnv()'에 의해 상기 검증된 SDL 설계 모델로 전송하는 단계일 수 있다.In addition, in the co-simulation controller, transmitting a message converted into an SDL message format to the verified SDL design model may include: converting the message converted into the SDL message format by the co-simulation controller into an SDL environment function 'xOutEnv ( ') May be transmitted to the verified SDL design model.

더하여, 상기 코-시뮬레이션 제어기에서, 상기 결과 메시지를 수신하고, 수신된 결과 메시지를 OPNET 패킷 포맷으로 변환하는 단계는, 상기 코-시뮬레이션 제어기에서 상기 결과 메시지를 SDL 환경 함수 'xInEnv()'에 의해 수신하는 단계를 포함할 수 있다.In addition, in the co-simulation controller, receiving the result message and converting the received result message into the OPNET packet format may include converting the result message by the SDL environment function 'xInEnv ()' in the co-simulation controller. Receiving may include.

더하여, 상기 코-시뮬레이션 제어기에서, 상기 OPNET 패킷 포맷으로 변환된 메시지를 상기 외부 시스템 인터페이스에 설정하는 단계는, 상기 코-시뮬레이션 제어기에서, OPNET ESA API를 이용하여 상기 OPNET 패킷 포맷으로 변환된 메시지를 상기 외부 시스템 인터페이스에 설정하는 단계일 수 있다.In addition, in the co-simulation controller, setting the message converted into the OPNET packet format to the external system interface may include: in the co-simulation controller, converting the message converted into the OPNET packet format by using an OPNET ESA API. The setting may be performed in the external system interface.

더하여, 상기 더미 모듈이 상기 외부 시스템 인터페이스에 설정된 상기 OPNET 패킷 포맷으로 변환된 메시지를 수신하는 단계는, 상기 OPNET 패킷 포맷으로 변환된 메시지가 상기 외부 시스템 인터페이스에 설정될 때 ESI 인터럽트를 발생시키는 단계 및 ESI 인터럽트가 발생하는 경우 상기 더미 모듈이 Esys 커널 프로시저를 이용하여 상기 외부 시스템 인터페이스에 설정된 상기 OPNET 패킷 포맷으로 변환된 메시지를 수신하는 단계를 포함할 수 있다.
In addition, receiving the message converted into the OPNET packet format set in the external system interface by the dummy module may include generating an ESI interrupt when the message converted into the OPNET packet format is set in the external system interface; When an ESI interrupt occurs, the dummy module may include receiving a message converted to the OPNET packet format set in the external system interface using an Esys kernel procedure.

본 발명에 따르면, Tau와 OPNET 도구를 함께 사용하고 OPNET의 성능 평가 기능을 사용할 수 있는 장점이 있으므로 SDL과 OPNET에 모두 능숙한 설계자가 Tau의 기능 검증 기능과 OPNET의 성능 평가 기능을 직접 연계하고자 할 경우에 적극적으로 사용할 수 있다. 이 때, 기능 검증된 SDL 모델에 대해 별도로 OPNET 모델을 구성하지 않고 성능평가를 수행하므로 성능 평가 결과의신뢰성 향상과 함께 프로토콜 설계 및 개발 기간의 단축 효과를 기대할 수 있다.
According to the present invention, there is an advantage of using the Tau and the OPNET tool together and the performance evaluation function of the OPNET. Therefore, a designer skilled in both SDL and OPNET wants to directly link the function verification function of the Tau and the performance evaluation function of the OPNET. Can be used actively. In this case, performance evaluation is performed on the functionally verified SDL model without configuring an OPNET model separately, so that the reliability of the performance evaluation result can be improved and the protocol design and development period can be shortened.

도 1은 Tau의 환경 함수를 통한 외부 영역 접속 방법을 설명하는 도면.
도 2는 코-시뮬레이션을 위한 OPNET 외부시스템 인터페이스의 구조를 도시한 도면.
도 3은 본 발명에 따른 통신 프로토콜의 통합 설계 방법을 도시한 도면.
도 4는 본 발명에 따른 SDL-OPNET 코-시뮬레이션 시스템을 도시한 블록도.
도 5는 SDL-OPENT 코-시뮬레이션 스케줄링 알고리즘의 일례를 도시한 도면.
도 6은 본 발명이 적용되는 Initiator 노드와 Responder 노드로 이루어진 InRes 프로토콜의 구성을 도시한 블록도.
도 7은 본 발명에 따른 InRes 프로토콜 코-시뮬레이션 시스템의 구조를 도시한 도면.
도 8은 본 발명에 따른 InRes 프로토콜 코-시뮬레이션이 적용될 때, Initiator Esys 모듈의 상태 천이도.
도 9는 본 발명에 따른 InRes 프로토콜 코-시뮬레이션 수행 결과(누적 수신 패킷 수)를 도시한 그래프.
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 illustrates a method of accessing an outer area through an environment function of Tau.
2 illustrates the structure of an OPNET external system interface for co-simulation.
3 illustrates an integrated design method of a communication protocol according to the present invention.
4 is a block diagram illustrating an SDL-OPNET co-simulation system in accordance with the present invention.
5 shows an example of an SDL-OPENT co-simulation scheduling algorithm.
Figure 6 is a block diagram showing the configuration of the InRes protocol consisting of an Initiator node and a Responder node to which the present invention is applied.
7 illustrates the structure of an InRes protocol co-simulation system in accordance with the present invention.
8 is an Initiator Esys when InRes protocol co-simulation is applied according to the present invention. State transition diagram of the module.
9 is a graph showing the result of InRes protocol co-simulation (cumulative received packet number) according to the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시형태를 보다 상세하게 설명한다. 그러나, 본 발명의 실시형태는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명되는 실시형태로 한정되는 것은 아니다. 본 발명의 실시형태는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에 도시된 구성요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다는 점을 유념해야 할 것이다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, embodiments of the present invention may be modified in various other forms, and the scope of the present invention is not limited to the embodiments described below. Embodiment of this invention is provided in order to demonstrate this invention more completely to the person skilled in the art to which this invention belongs. Therefore, it should be noted that the shape and size of the components shown in the drawings may be exaggerated for more clear explanation.

먼저, SDL-OPNET 코-시뮬레이션 방법에 대한 이해를 위해, 대표적인 SDL 설계 도구인 Tau와 OPNET에서 제공하는 외부 시스템 인터페이스에 대해 설명한다.
First, in order to understand the SDL-OPNET co-simulation method, the external system interfaces provided by Tau and OPNET, which are representative SDL design tools, are described.

TauTau 의 외부 환경 인터페이스External environment interface

도 1은 Tau의 환경 함수를 통한 외부 영역 접속 방법을 설명하는 도면이다.1 is a diagram illustrating a method for accessing an external area through an environment function of Tau.

Tau는 다른 시뮬레이터와의 코-시뮬레이션을 위한 특별한 인터페이스를 제공하지 않으나 타겟 코드 생성을 위한 외부 환경 인터페이스를 이용하여 외부 시뮬레이터와 메시지 교환을 통한 연동을 수행할 수 있다. Tau의 외부 환경 인터페이스(10)에서 제공하는 환경 함수는 다음과 같다. 'xInitEnv()'(11)는 SDL 시스템이 초기화될 때, 'xCloseEnv()'(15)는 SDL_Halt() 함수에 의해 각각 호출되는 환경 함수로 SDL 시스템이 시작될 때와 종료할 때 수행해야 할 코드를 포함시킨다. 'xOutEnv()'(12)는 신호를 외부로 보내는 것을 제어하는 환경 함수로, 먼저 출력 신호를 확인한 다음, 외부로 나가는 출력이 있을 때 이에 필요한 동작을 수행한다. 'xInEnv()'(13)는 외부로부터 오는 신호를 SDL 시스템으로 보내는 역할을 하는 환경 함수로, 외부로부터 오는 신호의 유무 확인을 위해 시스템은 논리 상태에 머무는 동안 계속해서 이 함수를 호출하게 된다. 만약 SDL 시스템(1)으로 보내는 신호가 있는 것을 확인하면 'xInEnv()'(13)는 SDL_Output() 함수를 통해 신호를 SDL 시스템으로 보낸다. Tau does not provide a special interface for co-simulation with other simulators, but can be interworked by exchanging messages with an external simulator using an external environment interface for generating target code. Environment functions provided by the external environment interface 10 of Tau are as follows. 'xInitEnv ()' (11) is an environment function called by the SDL_Halt () function, respectively, when the SDL system is initialized. Code to be executed when the SDL system starts and exits. Includes. 'xOutEnv ()' (12) is an environment function that controls the sending of signals to the outside. First, the output signal is checked, and then, when there is an output to the outside, a necessary function is performed. 'xInEnv ()' (13) is an environment function that sends an external signal to the SDL system. To check the presence of an external signal, the system continues to call this function while staying in a logical state. If there is a signal sent to the SDL system 1, 'xInEnv ()' (13) sends a signal to the SDL system through the SDL_Output () function.

'xInEnv()'(13) 함수의 경우 폴링(polling)을 이용하여 외부 환경으로 부터 오는 신호의 유무를 확인하기 때문에 시스템이 매우 복잡할 경우 신뢰성이 떨어지는 문제가 생긴다. 따라서 신뢰성 향상을 위해 외부 환경으로부터 오는 신호의 유무를 모니터링하는 쓰레드를 설계하여 사용하는 방법을 사용할 수 있다. Tau는 SDL 모델 컴파일 시 위 외부 함수에 대한 골격 코드(skeleton code)만 생성하므로 외부와의 완전한 연결을 위해서는 위 외부함수들을 완성시켜 주어야 한다.
In the case of the 'xInEnv ()' (13) function, polling is used to check the presence of signals from the external environment, so when the system is very complicated, the reliability becomes poor. Therefore, to improve reliability, a method of designing and using a thread that monitors the presence of a signal from an external environment can be used. Tau only generates skeleton code for the above external functions when compiling the SDL model, so the above external functions must be completed for complete connection with the external.

OPNETOPNET 의 외부 시스템 인터페이스External system interface

도 2는 코-시뮬레이션을 위한 OPNET 외부시스템 인터페이스의 구조를 도시한 도면이다.2 is a diagram illustrating the structure of an OPNET external system interface for co-simulation.

OPNET은 다른 외부 소프트웨어와 OPNET 간의 코-시뮬레이션을 지원하기 위해 OPNET 코-시뮬레이션 패키지를 제공한다. OPNET 코-시뮬레이션 패키지는 Esys 모듈(21), 외부시스템정의(External System Definition; ESD) 모델, Esys 관련 커널프로시저(Kernel Procedure; KP)(220) 및 외부시스템접속(External System Aceess; ESA) API(230)을 포함하여 구성될 수 있다.OPNET provides an OPNET co-simulation package to support co-simulation between other external software and OPNET. The OPNET co-simulation package includes the Esys module (21), the External System Definition (ESD) model, the Kernel Procedure (KP) 220 and the External System Aceess (ESA) APIs. 230 can be configured to include.

OPNET(20)의 Esys 모듈(21)은 OPNET이 외부 시스템과 데이터를 교환하기 위해 사용하는 특수한 게이트웨이로서, 패킷 스트림과 통계정보선 연결을 사용하는 프로세스 모듈과 유사한 형식으로 노드 모델 내에서 정의된다. Esys 모듈(21)은 코-시뮬레이션 수행을 위해 외부 코-시뮬레이션 코드와 OPNET 사이의 인터페이스 즉, 외부시스템 인터페이스(External System Interface; ESI)(210)를 정의하는 ESD 모델을 갖는다. OPNET은 ESD에서 정의된 ESI(210)를 통해 코-시뮬레이션 메시지를 주고받게 되는데, 이를 위해 Esys 모듈(21)의 프로세스 모델 내에는 Esys 인터페이스를 통해서 언제 어떻게 데이터를 읽고 쓰는지를 제어하기 위한 op_esys 커널프로시저(220)가 사용된다. The Esys module 21 of the OPNET 20 is a special gateway used by the OPNET to exchange data with an external system, and is defined in the node model in a form similar to a process module using packet streams and statistics line connections. The Esys module 21 has an ESD model that defines an interface between the external co-simulation code and the OPNET, that is, an External System Interface (ESI) 210, for performing co-simulation. The OPNET sends and receives co-simulation messages through the ESI 210 defined in ESD. For this purpose, the op_esys kernel program controls when and how to read and write data through the Esys interface in the process model of the Esys module 21. Scissor 220 is used.

외부 시스템 인터페이스를 위한 코드는 OPNET 메인 함수를 OPNET 내부에 두느냐 외부에 두느냐에 따라 설계방법에 차이가 있는데, 외부 소프트웨어와의 연결을 사용하는 코-시뮬레이션의 경우 일반적으로 OPNET 외부 코드(200)에 메인함수를 두어 전체 코-시뮬레이션 실행을 제어하게 된다. ESA API(230)는 OPNET 외부 코드에서 호출되는 C API로, OPNET 모델(20)과 코-시뮬레이션 코드를 연결하여 시뮬레이션 초기화 및 로딩, 흐름제어 관리, Esys 인터페이스 처리, Esys 인터페이스를 통한 데이터 교환 등을 수행하는데 사용될 수 있다. The code for the external system interface differs depending on whether the OPNET main function is placed inside or outside the OPNET. In the case of co-simulation using a connection with external software, the OPNET external code 200 is normally Functions are put in place to control the overall co-simulation execution. The ESA API 230 is a C API called from the OPNET external code. The ESA API 230 connects the OPNET model 20 and the co-simulation code to perform simulation initialization and loading, flow control management, Esys interface processing, and data exchange through the Esys interface. Can be used to perform.

다음으로, 본 발명에 따른 통신 프로토콜의 단일 모델 기반 통합 설계 방법 및 본 발명의 통신 프로토콜의 단일 모델 기반 통합 설계 방법에 적용되는 코-시뮬레이션(co-simulation) 시스템의 구조와 코-시뮬레이션의 제어 기법에 대해 설명한다.
Next, the co-simulation system structure and co-simulation control method applied to the single model-based integrated design method of the communication protocol and the single model-based integrated design method of the communication protocol according to the present invention. Explain about.

코-시뮬레이션 기반 통합 설계 기법Co-simulation based integrated design technique

본 발명에 따른 통신 프로토콜의 단일 모델 기반 통합 설계 기법은 설계된 SDL 모델을 기능 검증과 성능평가 모두에 그대로 사용한다. 도 3은 본 발명에 따른 통신 프로토콜의 통합 설계 방법을 도시한 도면이다. The single model-based integrated design technique of the communication protocol according to the present invention uses the designed SDL model for both functional verification and performance evaluation. 3 is a diagram illustrating an integrated design method of a communication protocol according to the present invention.

통신 프로토콜 개발을 위해 프로토콜 요구사항(31)으로부터 표준 형식언어 SDL(예를 들어, Tau)을 이용하여 프로토콜 모델(32)을 설계한다(S1). 프로토콜 설계 과정은 Tau에서 제공하는 통합개발환경(IDE)에서 수행된다(S1). 설계된 SDL 모델(32)에 대해 Tau에서 제공하는 시뮬레이터(Simulator)와 검증기(Validator)를 이용해 기능검증을 수행하고(S2), 그 결과에 따라 모델 수정 등을 거쳐 요구사항에 부합되는 검증된 SDL 설계모델(23)을 얻게 된다. 이 때, 시뮬레이터(Simulator)를 이용하여 검증을 수행할 경우 시뮬레이션을 위한 별도의 테스터 모델을 구축할 수 있다.The protocol model 32 is designed using the standard formal language SDL (for example, Tau) from the protocol requirement 31 for the development of the communication protocol (S1). The protocol design process is carried out in an integrated development environment (IDE) provided by Tau (S1). Perform the functional verification using the simulator and validator provided by Tau for the designed SDL model 32 (S2), and modify the model according to the result, and then verify the SDL design that meets the requirements. Model 23 is obtained. In this case, when performing verification using a simulator, a separate tester model for simulation may be constructed.

다음으로 설계된 프로토콜의 성능평가를 위해 OPNET을 이용하여 네트워크 구성과 같은 성능평가 환경모델(34)을 구축한다(S3). SDL-OPNET 코-시뮬레이션 시스템(35)은 OPNET 성능평가 모델(34)과 SDL 기능 모델(33) 간의 시뮬레이션을 제어하여 성능평가 결과를 얻게 된다. 코-시뮬레이션 환경 구축을 위해 Tau 환경 함수와 OPNET 외부 시스템 인터페이스 코드가 설계된다. 이 Tau 환경 함수와 OPNET 외부 시스템 인터페이스 코드는 별도의 코-시뮬레이션 제어기에 저장될 수 있다. SDL(Tau)과 OPNET 간의 코-시뮬레이션 설정에 대해서는 더욱 상세하게 후술하기로 한다. SDL-OPNET 코-시뮬레이션(S4)을 통한 성능평가가 수행되면(S5). 그 결과에 따라 SDL 모델이 다시 수정될 수 있다. 이러한 피드백 과정을 거쳐 최종 SDL 모델(36)이 완성되면 Tau에서 제공하는 타겟 포팅 등의 구현 과정을 통해(S6) 프로토콜 제품(37)을 얻을 수 있다.
Next, to evaluate the performance of the designed protocol, OPNET is used to build a performance evaluation environment model 34 such as a network configuration (S3). The SDL-OPNET co-simulation system 35 controls the simulation between the OPNET performance evaluation model 34 and the SDL function model 33 to obtain a performance evaluation result. Tau environment functions and OPNET external system interface code are designed to build a co-simulation environment. This Tau environment function and OPNET external system interface code can be stored in separate co-simulation controllers. Co-simulation setting between SDL (Tau) and OPNET will be described later in more detail. If performance evaluation through the SDL-OPNET co-simulation (S4) is performed (S5). As a result, the SDL model may be modified again. When the final SDL model 36 is completed through this feedback process, the protocol product 37 may be obtained through an implementation process such as target porting provided by Tau (S6).

코-시뮬레이션 시스템의 구조Structure of Co-Simulation System

도 4는 본 발명에 따른 SDL-OPNET 코-시뮬레이션 시스템을 도시한 블록도이다.4 is a block diagram illustrating an SDL-OPNET co-simulation system according to the present invention.

SDL로 설계된 프로토콜 모델의 성능평가를 위해 SDL 시뮬레이터 Tau와 네트워크 시뮬레이터 OPNET을 연결시켜 코-시뮬레이션을 수행하기 위해서는 두 도구의 연결 방법과 코-시뮬레이션의 제어 방법을 결정해야 한다. 두 도구는 각자 외부 시스템 인터페이스를 가지고 있으므로 기본적인 도구 연결 방식은 도구 간 메시지 교환 방식이 될 수 있다. 여기서 대상 프로토콜 모델은 Tau에서 동작하고 그 외 성능평가를 위한 네트워크 구성은 OPNET에서 동작해야 하므로 OPNET 시뮬레이션 시스템을 이러한 구조에 맞도록 적절히 설계해야 한다. 본 발명은 OPNET(40)에서 성능 평가 환경 모델 설계 시 대상 프로토콜을 비어 있는 더미 모듈(dummy module)(41)로 설계하고 외부 코-시뮬레이션 제어 코드를 통한 데이터 교환 방식으로 SDL 모델과 연결하는 방법을 사용한다. In order to evaluate the performance of the protocol model designed with SDL, in order to co-simulate the SDL simulator Tau with the network simulator OPNET, it is necessary to determine how to connect the two tools and control the co-simulation. Since both tools have external system interfaces, the basic tool connection can be a message exchange between tools. Since the target protocol model operates in Tau and other network configurations for performance evaluation should operate in OPNET, the OPNET simulation system must be designed appropriately for this structure. The present invention provides a method of designing a target protocol as an empty dummy module 41 when designing a performance evaluation environment model in the OPNET 40 and connecting the SDL model with a data exchange method through an external co-simulation control code. use.

OPNET 네트워크 모델에서 동작 기술이 빠진 Esys 모듈로 설계되는 대상 프로토콜은 OPNET 내부의 다른 프로토콜 모델로부터 들어오는 패킷에 대해 Esys 커널 프로시(432)저를 통해 ESI(432)에 설정한다. 이 때, ESA callback 함수(433)가 자동으로 호출될 수 있도록 외부 코-시뮬레이션 제어기(44)에 ESA callback 함수를 등록한다. 자동으로 호출되는 callback 함수는 외부 코-시뮬레이션 제어기(44) 내에 정의하며, OPNET에서 보낸 패킷을 ESA API(434)를 통해 가져와 SDL 메시지 포맷에 맞게 포맷을 변환한 다음 SDL 환경함수 'xOutEnv()'(442) 설계를 통해 SDL 프로토콜 모델로 전송한다. SDL 프로토콜 모델이 메시지 수신에 따른 동작을 수행하고 메시지를 출력하면 코-시뮬레이션 제어기에 설계된 환경함수 'xInEnv()'(441)는 이 메시지를 OPNET 패킷 포맷에 맞게 변환한 다음 OPNET ESA API(434)를 이용하여 ESI(432)에 설정한다. 이 때, OPNET 시스템(40)에서 ESI 인터럽트(435)가 발생하고 OPNET Esys 모듈(41)은 Esys 커널 프로시저(432)를 이용해 이 패킷을 가져오게 된다.
The target protocol, which is designed as an Esys module that lacks operating techniques in the OPNET network model, is configured in the ESI 432 through the Esys kernel procedure 432 for packets coming from other protocol models inside the OPNET. At this time, the ESA callback function 433 is registered with the external co-simulation controller 44 so that the ESA callback function 433 can be automatically called. The callback function, which is called automatically, is defined in the external co-simulation controller 44. The packet sent from the OPNET is retrieved through the ESA API 434, converted into a format according to the SDL message format, and the SDL environment function 'xOutEnv ()' (442) Send to the SDL protocol model through the design. When the SDL protocol model performs an action upon receiving a message and outputs the message, the environment function 'xInEnv ()' (441) designed for the co-simulation controller converts the message according to the OPNET packet format, and then the OPNET ESA API (434). Is set in the ESI 432 using. At this time, the ESI interrupt 435 occurs in the OPNET system 40 and the OPNET Esys module 41 uses the Esys kernel procedure 432 to obtain this packet.

코-시뮬레이션 시스템의 제어Control of Co-Simulation Systems

코-시뮬레이션 제어 코드에서 OPNET-SDL 코-시뮬레이션 수행을 위해서 단순히 메시지 정합 만을 수행할 경우 OPNET과 Tau는 각각 개별적으로 시뮬레이션 시간 흐름을 관리하게 된다. OPNET과 Tau는 모두 불연속 이벤트 기반(discrete event-driven) 시뮬레이션과 실시간(realtime) 시뮬레이션을 함께 지원하지만 두 도구의 시뮬레이션 진행 방법과 시간 관리 방법은 상당한 차이가 있다. SDL은 기본적으로 타이머를 통한 시간 진행 외에는 별도의 시간 진행 방법이 없기 때문에, SDL 모델에 타이머가 존재하지 않는다면 SDL 모델에서의 동작은 시간 진행을 발생시키지 않으므로 OPNET 모델의 시뮬레이션 시간 흐름 제어만으로도 코-시뮬레이션 관리가 가능하다. 하지만, SDL 모델에 타이머를 통한 시간 진행이 존재한다면, SDL-OPNET 간 정확한 코-시뮬레이션을 위해서는 두 시뮬레이션 시스템의 시간 동기를 위해 별도의 제어방법이 필요하다. 본 발명에 적용되는 SDL-OPNET 코-시뮬레이션 제어 기법은 코-시뮬레이션 제어 코드에서 OPNET 시스템과 SDL 시스템의 이벤트를 통합하여 관리함으로써 SDL 모델 및 OPNET 모델 시뮬레이션의 실행을 제어한다. 즉, 코-시뮬레이션 제어 코드에 하나의 메인 함수가 존재하고 'Esa_Execute_Until()' 함수와 'SDL_Execute()' 함수를 호출하여 각각 OPNET과 Tau의 시뮬레이션을 제어한다. 코-시뮬레이션 제어 코드의 역할은 OPNET 시스템과 SDL 시스템의 초기화 및 종료, OPNET 이벤트들과 SDL/Tau 이벤트들의 스케줄링, OPNET 및 SDL 시뮬레이션 간 시간 동기화, OPNET과 SDL 간의 패킷 전달 및 패킷 포맷 변환 등이다. 도 5는 SDL-OPNET 코-시뮬레이션의 스케줄링 알고리즘을 나타낸 것이다. SDL_RQ, SDL_TQ 및 OPNET_Q는 각각 SDL 대기 큐(ready queue), SDL 타이머 큐 및 OPNET 이벤트 큐를 의미하며, n(Q)는 큐 Q의 크기, ev(Q)와 evtime(Q)는 각각 큐 Q에서 다음에 실행될 이벤트와 그 이벤트의 실행시간을 얻는 함수이다.If the co-simulation control code simply performs message matching to perform OPNET-SDL co-simulation, OPNET and Tau manage the simulation time flow separately. Both OPNET and Tau support discrete event-driven simulation and realtime simulation, but there are significant differences in how the two tools simulate simulation and time management. Since SDL basically does not have a time progression other than time progression through timers, if the timer does not exist in the SDL model, the operation in the SDL model does not generate time progression. Management is possible. However, if there is a time progression through the timer in the SDL model, separate control methods are required for time synchronization between the two simulation systems for accurate co-simulation between SDL-OPNETs. The SDL-OPNET co-simulation control technique applied to the present invention controls the execution of the SDL model and the OPNET model simulation by integrating and managing the events of the OPNET system and the SDL system in the co-simulation control code. That is, one main function exists in the co-simulation control code, and the 'Esa_Execute_Until ()' and 'SDL_Execute ()' functions are called to control the simulation of OPNET and Tau, respectively. The role of the co-simulation control code is the initialization and termination of the OPNET system and the SDL system, the scheduling of OPNET events and SDL / Tau events, the time synchronization between the OPNET and SDL simulations, the packet forwarding between the OPNET and SDL, and the packet format conversion. 5 shows a scheduling algorithm of SDL-OPNET co-simulation. SDL_RQ, SDL_TQ, and OPNET_Q refer to the SDL ready queue, the SDL timer queue, and the OPNET event queue, respectively, where n (Q) is the size of queue Q, ev (Q) and evtime (Q) are respectively at queue Q. Gets the next event to execute and the runtime of that event.

도 5의 스케줄링 알고리즘에서 OPNET 시스템과 SDL 시스템의 초기화를 통해 초기 이벤트들이 생성되며, 모든 이벤트 큐가 비워질 때까지 시뮬레이션이 수행된다. 스케줄링 알고리즘에 따라 이벤트 큐에서 가장 빠른 수행 시간을 갖는 이벤트가 결정되면 해당 모델에서 이 이벤트에 의한 단위 시뮬레이션이 수행된다. 시뮬레이션 수행으로 새로운 이벤트가 생성되면 각 이벤트 큐는 이를 자동으로 반영하고 갱신되어, 스케줄링 알고리즘의 다음 이벤트 결정에 사용된다.
In the scheduling algorithm of FIG. 5, initial events are generated through initialization of the OPNET system and the SDL system, and simulation is performed until all event queues are empty. When the event having the fastest execution time is determined in the event queue according to the scheduling algorithm, the unit simulation is performed by the event in the corresponding model. As new simulations are generated as a result of the simulation, each event queue is automatically updated and updated, which is then used to determine the next event in the scheduling algorithm.

실시예Example

이하, InRes 프로토콜에 대한 본 발명의 단일 모델 기반 통합 설계 방법을 적용한 실시예에 대해 설명한다.Hereinafter, an embodiment to which the single model-based integrated design method of the present invention is applied to the InRes protocol will be described.

InRes 프로토콜은 Initiator 및 Responder 프로토콜로 구성된 비대칭 접속기반(connection-oriented) 데이터 전송 프로토콜로 간단한 데이터 송수신 프로토콜이지만 접속제어 및 오류제어 기능을 충실히 갖추고 있어 통신 프로토콜 공학 연구에 샘플 프로토콜로 자주 사용되는 시험용 프로토콜이다.The InRes protocol is an asymmetric connection-oriented data transmission protocol consisting of Initiator and Responder protocols.It is a simple data transmission / reception protocol, but it is a test protocol that is frequently used as a sample protocol in communication protocol engineering research because it is fully equipped with access control and error control functions. .

도 6은 Initiator 노드(61)와 Responder 노드(63)로 이루어진 InRes 프로토콜의 구성을 보여준다. Initiator 노드(61)는 Initiator 프로토콜(611)과 이를 이용하여 통신을 수행하는 Initiator User(612)로 구성되며, Responder 노드(63)는 Responder 프로토콜(631)과 Responder User(632)로 구성된다. 본 발명은 Initiator 프로토콜을 대상으로 SDL 모델을 설계 및 검증하고 제안된 SDL-OPNET 코-시뮬레이션 기법을 통해 성능평가를 수행할 수 있다.6 shows a configuration of an InRes protocol consisting of an Initiator node 61 and a Responder node 63. Initiator node 61 is composed of an Initiator protocol 611 and an Initiator User 612 that communicates using the Initiator protocol 611, Responder node 63 is composed of a Responder protocol 631 and a Responder User 632. The present invention can design and verify the SDL model for the Initiator protocol and perform the performance evaluation through the proposed SDL-OPNET co-simulation technique.

도 7은 InRes 프로토콜 코-시뮬레이션 시스템의 구조를 도시한 도면이다.7 is a diagram illustrating the structure of an InRes protocol co-simulation system.

도 7에서, OPNET의 Initiator 모듈은 외부 접속을 위한 Esys 모듈(71)로 작성되며, Initiator 모듈의 ESD 명세는 상위 Initiator User(72)와 하위 link 연결에 대해 코-시뮬레이션을 위한 두 개의 ESI, if_user(73)와 if_resp(74)을 갖는다. if_user 인터페이스(73)는 Initiator User(72)와 SDL Initiator(75) 간 패킷 전송을 위해 사용되고 if_resp 인터페이스(73)는 SDL Initiator(75)와 Responder 간 패킷 전송에 사용된다. Initiator 모듈을 제외한 Initiator 노드와 Responder 노드 및 노드 간 링크에 대한 OPNET 모델은 InRes 프로토콜 명세에 따라 설계되며, Initiator 프로토콜의 실제 모델은 SDL 모델로 SDL Initiator 시스템(75) 내에 설계된다.In FIG. 7, the Initiator module of OPNET is written as Esys module 71 for external connection, and the ESD specification of the Initiator module defines two ESI, if_user, for co-simulation for the upper Initiator User 72 and the lower link connection. (73) and if_resp (74). if_user interface 73 is used for packet transmission between Initiator User 72 and SDL Initiator 75, and if_resp interface 73 is used for packet transmission between SDL Initiator 75 and Responder. The OPNET model for Initiator and Responder nodes and links between nodes except for the Initiator module is designed according to the InRes protocol specification, and the actual model of the Initiator protocol is an SDL model and is designed in the SDL Initiator system 75.

InRes 프로토콜에 대한 SDL-OPNET 코-시뮬레이션 시스템 설계의 주요 항목은 다음과 같다. 첫째, OPNET 시스템에서 다른 프로토콜로부터 Initiator Esys 모듈로 들어오는 패킷을 ESI에 설정하고 반대로 ESI로부터 패킷을 가져와 다른 프로토콜로 보내도록 Initiator Esys 모듈을 설계하는 것, 둘째, SDL 모델과 OPNET과의 메시지 교환을 위해 Tau 환경 함수와 패킷 변환 함수를 설계하는 것, 마지막으로 이벤트 스케줄링을 포함한 코-시뮬레이션의 제어를 수행하는 메인 함수를 설계하는 것이다. Initiator Esys 모듈과 ESI 간의 패킷교환은 상태 천이 다이어그램을 포함한 Esys 모듈의 설계를 통해 구현된다. Initiator Esys 모듈의 상태 천이 다이어그램은 도 8과 같이 단일 적색 상태와, Esys 모듈과 ESI 간의 각 방향 패킷 전송을 처리하기 위한 함수 init_process_esys()와 init_process_strm()를 각각 호출하는 두 개의 천이로 구성된다. 두 패킷 전송 함수는 op_esys 커널 프로시저를 이용하여 구현된다. The main items of SDL-OPNET co-simulation system design for InRes protocol are as follows. First, in the OPNET system, configure the Initiator Esys module to set up packets coming into the Initiator Esys module from other protocols to the ESI and vice versa, and secondly, to exchange messages with the SDL model and OPNET. Designing the Tau environment function and packet transform function, and finally designing the main function that performs co-simulation control, including event scheduling. Packet exchange between the Initiator Esys module and the ESI is implemented through the design of the Esys module, including state transition diagrams. The state transition diagram of the Initiator Esys module consists of a single red state, as shown in FIG. Both packet transfer functions are implemented using the op_esys kernel procedure.

코-시뮬레이션 제어 코드는 도 5의 스케줄링 알고리즘에 따라 SDL 및 OPNET 시뮬레이션을 수행하는 코-시뮬레이션 메인 루프 함수와 OPNET 패킷을 받아 SDL 메시지로 변환하여 보내는 ESA Callback 함수들 및 SDL 출력 메시지를 OPNET 패킷으로 변환하여 OPNET ESI에 보내는 SDL 환경함수 등을 포함한다.The co-simulation control code converts the co-simulation main loop function that performs the SDL and OPNET simulations, the ESA callback functions and the SDL output message, which receives and converts the OPNET packet into the SDL message, according to the scheduling algorithm of FIG. SDL environment functions sent to OPNET ESI.

InRes 프로토콜에 대한 SDL-OPNET 코-시뮬레이션 시나리오는 다음과 같다. Initiator User로부터의 Initiator와 Responder 노드 간 연결 요청 및 연결 해제 요청과 Initiator User로부터 Initiator에게 주어지는 데이터 전송 요청의 발생 간격(inter-arrival time)은 각각 값이 20, 10, 30인 exponential 분포에 따라 랜덤하게 결정되며 OPNET 시뮬레이션 시간은 1시간이다. 코-시뮬레이션을 통해 SDL Initiator 모델와 OPNET Responder 모델 간 연결 설정과 데이터 전송은 원활하게 이루어졌으며, 도 9의 시뮬레이션 결과와 같이 Responder User는 1시간 동안 Initiator User가 보낸 약 2,600개의 패킷을 성공적으로 받았음을 확인하였다.The SDL-OPNET co-simulation scenario for the InRes protocol is as follows. The inter-arrival time of the connection request and disconnection request between the Initiator and Responder nodes from the Initiator User and the data transfer request from the Initiator User to the Initiator is randomly determined according to an exponential distribution of values 20, 10, and 30, respectively. OPNET simulation time is 1 hour. Through co-simulation, the connection setup and data transfer between the SDL Initiator model and the OPNET Responder model were smoothly performed. As shown in the simulation result of FIG. 9, the Responder User received about 2,600 packets successfully sent by the Initiator User for 1 hour. It was.

이상에서 설명한 바와 같이, 본 발명은, Tau와 OPNET 도구를 함께 사용하고 OPNET의 성능 평가 기능을 사용할 수 있는 장점이 있으므로 SDL과 OPNET에 모두 능숙한 설계자가 Tau의 기능 검증 기능과 OPNET의 성능 평가 기능을 직접 연계하고자 할 경우에 적극적으로 사용할 수 있다. 이 때, 기능 검증된 SDL 모델에 대해 별도로 OPNET 모델을 구성하지 않고 성능평가를 수행하므로 성능 평가 결과의신뢰성 향상과 함께 프로토콜 설계 및 개발 기간의 단축을 기대할 수 있다.As described above, the present invention has the advantage that the Tau and the OPNET tool can be used together, and the performance evaluation function of the OPNET can be used. Thus, designers who are skilled in both SDL and OPNET can use the function verification function of the Tau and the performance evaluation function of the OPNET. It can be used actively if you want to connect directly. At this time, performance evaluation is performed on the functionally verified SDL model without configuring an OPNET model separately, so that the reliability of the performance evaluation results can be improved and the protocol design and development time can be shortened.

본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위 및 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
In the detailed description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the following claims and their equivalents.

31: 프로토콜 요구 사항
32: SDL 프로토콜 모델(SDL 설계 모델)
33: 검증된 SDL 설계 모델(검증된 SDL 프로토콜 모델)
34: OPNET 성능 시험 모델
35: OPNET 코-시뮬레이션 시스템
36: 최종 SDL 설계 모델(최종 SDL 프로토콜 모델)
37: 프로토콜 제품
31: Protocol Requirements
32: SDL Protocol Model (SDL Design Model)
33: Validated SDL Design Model (Valid SDL Protocol Model)
34: OPNET performance test model
35: OPNET co-simulation system
36: Final SDL Design Model (Final SDL Protocol Model)
37: Protocol Products

Claims (10)

SDL(Specification and Description Language)을 이용하여 프로토콜 요구사항을 충족하는 프로토콜 모델을 설계하는 단계;
상기 프로토콜 모델에 대해 기능 검증을 수행하여 검증된 SDL 설계 모델을 생성하는 단계;
OPNET을 이용하여 성능평가 환경모델을 설계하는 단계;
SDL 환경 함수와 OPNET 외부 시스템 인터페이스 코드를 설계하는 단계; 및
상기 SDL 환경 함수 및 상기 OPNET 외부 시스템 인터페이스 코드를 이용하여, 상기 검증된 SDL 설계 모델에 대한 성능 평가를 수행하는 단계를 포함하며,
상기 성능평가 환경 모델을 설계하는 단계는, 성능평가 대상 모듈을 비어 있는 더미 모듈으로 설계하는 단계이며,
상기 SDL 환경 함수와 OPNET 외부 시스템 인터페이스 코드를 설계하는 단계는, 상기 SDL 환경 함수와 OPNET 외부 시스템 인터페이스 코드를 설계하여 코-시뮬레이션 제어기에 저장하는 단계인 것을 특징으로 하는 SDL-OPNET 코-시뮬레이션 기법을 이용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법.
Designing a protocol model that meets protocol requirements using Specification and Description Language (SDL);
Performing functional verification on the protocol model to generate a verified SDL design model;
Designing a performance evaluation environment model using OPNET;
Designing SDL environment functions and OPNET external system interface code; And
Performing performance evaluation on the verified SDL design model using the SDL environment function and the OPNET external system interface code,
The designing of the performance evaluation environment model may include designing a performance evaluation target module as an empty dummy module.
The designing of the SDL environment function and the OPNET external system interface code may include designing and storing the SDL environment function and the OPNET external system interface code in a co-simulation controller. A unified design method based on a single model of communication protocol.
삭제delete 제1항에 있어서,
상기 검증된 SDL 설계 모델에 대한 성능 평가를 수행하는 단계는, 상기 더미 모듈이 상기 SDL 환경 함수 및 상기 OPNET 외부 시스템 인터페이스 코드를 이용하여 데이터 교환 방식으로 상기 검증된 SDL 설계 모델과 연결되는 단계를 포함하는 것을 특징으로 하는 SDL-OPNET 코-시뮬레이션 기법을 이용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법.
The method of claim 1,
Performing a performance evaluation on the verified SDL design model includes connecting the dummy module with the verified SDL design model in a data exchange manner using the SDL environment function and the OPNET external system interface code. A single model-based integrated design method of communication protocol using SDL-OPNET co-simulation technique.
제1항에 있어서,
상기 검증된 SDL 설계 모델에 대한 성능 평가를 수행하는 단계는,
상기 더미 모듈이 상기 성능평가 환경모델 내의 다른 모듈에서 발생하는 메시지를 외부 시스템 인터페이스에 설정하는 단계;
상기 코-시뮬레이션 제어기에서, 상기 외부 시스템 인터페이스에 설정된 메시지를 수신하고, SDL 메시지 포맷으로 변환하는 단계;
상기 코-시뮬레이션 제어기에서, SDL 메시지 포맷으로 변환된 메시지를 상기 검증된 SDL 설계 모델로 전송하는 단계;
상기 검증된 SDL 설계 모델이 전송받은 메시지에 따른 동작을 수행하여 발생하는 결과 메시지를 출력하는 단계;
상기 코-시뮬레이션 제어기에서, 상기 결과 메시지를 수신하고, 수신된 결과 메시지를 OPNET 패킷 포맷으로 변환하는 단계;
상기 코-시뮬레이션 제어기에서, 상기 OPNET 패킷 포맷으로 변환된 메시지를 상기 외부 시스템 인터페이스에 설정하는 단계; 및
상기 더미 모듈이 상기 외부 시스템 인터페이스에 설정된 상기 OPNET 패킷 포맷으로 변환된 메시지를 수신하는 단계를 포함하는 것을 특징으로 하는 SDL-OPNET 코-시뮬레이션 기법을 이용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법.
The method of claim 1,
Performing a performance evaluation on the verified SDL design model,
Setting, by the dummy module, a message generated by another module in the performance evaluation environment model to an external system interface;
Receiving, at the co-simulation controller, a message set in the external system interface and converting the message into an SDL message format;
Sending, at the co-simulation controller, a message converted to an SDL message format to the verified SDL design model;
Outputting a result message generated by performing an operation according to the received message by the verified SDL design model;
Receiving, at the co-simulation controller, the result message and converting the received result message into an OPNET packet format;
Setting, at the co-simulation controller, a message converted to the OPNET packet format to the external system interface; And
And a step in which the dummy module receives a message converted into the OPNET packet format set in the external system interface, based on a single model-based integrated design method of a communication protocol using the SDL-OPNET co-simulation technique.
제4항에 있어서,
상기 더미 모듈이 상기 성능평가 환경모델 내의 다른 모듈에서 발생하는 메시지를 외부 시스템 인터페이스에 설정하는 단계는,
상기 더미 모듈이 Esys 커널 프로시저를 통해 상기 외부 시스템 인터페이스에 상기 다른 모듈에서 발생하는 메시지를 설정하는 단계인 것을 특징으로 하는 통신 프로토콜의 단일 모델 기반 통합 설계 방법.
The method of claim 4, wherein
In the dummy module, setting a message generated by another module in the performance evaluation environment model to an external system interface may include:
And setting the message generated by the other module to the external system interface through the Esys kernel procedure.
제4항에 있어서,
상기 코-시뮬레이션 제어기에서, 상기 외부 시스템 인터페이스에 설정된 메시지를 수신하고, SDL 메시지 포맷으로 변환하는 단계는,
상기 더미 모듈이 상기 외부 시스템 인터페이스에 메시지를 설정하는 경우에 자동으로 호출되도록 상기 코-시뮬레이션 제어기에 사전 등록된 ESA callback 함수에 의해, 상기 코-시뮬레이션 제어기가 사기 외부시스템 인터페이스에 상기 더미 모듈에 의해 메시지가 설정되었음을 판단하는 단계를 포함하는 것을 특징으로 하는 SDL-OPNET 코-시뮬레이션 기법을 이용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법.
The method of claim 4, wherein
In the co-simulation controller, receiving a message set in the external system interface and converting the message into an SDL message format includes:
By an ESA callback function pre-registered in the co-simulation controller to be called automatically when the dummy module sets a message on the external system interface, the co-simulation controller by the dummy module on a fraudulent external system interface. A single model-based integrated design method of a communication protocol using the SDL-OPNET co-simulation technique comprising the step of determining that the message is set.
제4항에 있어서,
상기 코-시뮬레이션 제어기에서, SDL 메시지 포맷으로 변환된 메시지를 상기 검증된 SDL 설계 모델로 전송하는 단계는,
상기 코-시뮬레이션 제어기에서 상기 SDL 메시지 포맷으로 변환된 메시지를 SDL 환경 함수 'xOutEnv()'에 의해 상기 검증된 SDL 설계 모델로 전송하는 단계인 것을 특징으로 하는 SDL-OPNET 코-시뮬레이션 기법을 이용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법.
The method of claim 4, wherein
In the co-simulation controller, sending a message converted to an SDL message format to the verified SDL design model,
Transmitting, by the co-simulation controller, a message converted into the SDL message format to the verified SDL design model by an SDL environment function 'xOutEnv ()', wherein the communication using the SDL-OPNET co-simulation technique is performed. Unified model-based design of the protocol.
제4항에 있어서,
상기 코-시뮬레이션 제어기에서, 상기 결과 메시지를 수신하고, 수신된 결과 메시지를 OPNET 패킷 포맷으로 변환하는 단계는,
상기 코-시뮬레이션 제어기에서 상기 결과 메시지를 SDL 환경 함수 'xInEnv()'에 의해 수신하는 단계를 포함하는 것을 특징으로 하는 SDL-OPNET 코-시뮬레이션 기법을 이용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법.
The method of claim 4, wherein
In the co-simulation controller, receiving the result message and converting the received result message into an OPNET packet format,
And receiving the result message in the co-simulation controller by an SDL environment function 'xInEnv ()'. A single model-based integrated design method of a communication protocol using an SDL-OPNET co-simulation technique.
제4항에 있어서,
상기 코-시뮬레이션 제어기에서, 상기 OPNET 패킷 포맷으로 변환된 메시지를 상기 외부 시스템 인터페이스에 설정하는 단계는,
상기 코-시뮬레이션 제어기에서, OPNET ESA API를 이용하여 상기 OPNET 패킷 포맷으로 변환된 메시지를 상기 외부 시스템 인터페이스에 설정하는 단계인 것을 특징으로 하는 SDL-OPNET 코-시뮬레이션 기법을 이용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법.
The method of claim 4, wherein
In the co-simulation controller, setting the message converted into the OPNET packet format to the external system interface may include:
In the co-simulation controller, a step of setting a message converted into the OPNET packet format on the external system interface using the OPNET ESA API based on a single model of the communication protocol using the SDL-OPNET co-simulation technique Integrated design method.
제4항에 있어서,
상기 더미 모듈이 상기 외부 시스템 인터페이스에 설정된 상기 OPNET 패킷 포맷으로 변환된 메시지를 수신하는 단계는,
상기 OPNET 패킷 포맷으로 변환된 메시지가 상기 외부 시스템 인터페이스에 설정될 때 ESI 인터럽트를 발생시키는 단계 및 ESI 인터럽트가 발생하는 경우 상기 더미 모듈이 Esys 커널 프로시저를 이용하여 상기 외부 시스템 인터페이스에 설정된 상기 OPNET 패킷 포맷으로 변환된 메시지를 수신하는 단계를 포함하는 것을 특징으로 하는 SDL-OPNET 코-시뮬레이션 기법을 이용한 통신 프로토콜의 단일 모델 기반 통합 설계 방법.






The method of claim 4, wherein
Receiving the message converted by the dummy module to the OPNET packet format set in the external system interface,
Generating an ESI interrupt when the message converted into the OPNET packet format is set to the external system interface; and when the ESI interrupt occurs, the OPNET packet set to the external system interface by the dummy module using an Esys kernel procedure. A single model-based integrated design method of a communication protocol using the SDL-OPNET co-simulation technique, comprising receiving a message converted into a format.






KR1020100080463A 2010-08-19 2010-08-19 Integrated design method of communication protocols with sdl-opnet co-simmulation technique KR101125365B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100080463A KR101125365B1 (en) 2010-08-19 2010-08-19 Integrated design method of communication protocols with sdl-opnet co-simmulation technique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100080463A KR101125365B1 (en) 2010-08-19 2010-08-19 Integrated design method of communication protocols with sdl-opnet co-simmulation technique

Publications (2)

Publication Number Publication Date
KR20120021855A KR20120021855A (en) 2012-03-09
KR101125365B1 true KR101125365B1 (en) 2012-03-27

Family

ID=46130083

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100080463A KR101125365B1 (en) 2010-08-19 2010-08-19 Integrated design method of communication protocols with sdl-opnet co-simmulation technique

Country Status (1)

Country Link
KR (1) KR101125365B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885864A (en) * 2014-03-05 2014-06-25 南京邮电大学 Information physical system verification method based on controller local area network (LAN)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103281160B (en) * 2013-05-31 2016-01-20 南京大学 A kind of controller local area network frame transmission verification method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990015377A (en) * 1997-08-06 1999-03-05 이계철 Next Generation Application Protocol Conformance Test System Architecture
KR20000039806A (en) * 1998-12-16 2000-07-05 이계철 Common channel signalling network simulator
KR100395501B1 (en) 2000-12-27 2003-08-25 한국전자통신연구원 Apparatus and method of interface between SDL system and CORBA

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990015377A (en) * 1997-08-06 1999-03-05 이계철 Next Generation Application Protocol Conformance Test System Architecture
KR20000039806A (en) * 1998-12-16 2000-07-05 이계철 Common channel signalling network simulator
KR100395501B1 (en) 2000-12-27 2003-08-25 한국전자통신연구원 Apparatus and method of interface between SDL system and CORBA

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
'SDL Design and Performance Evaluation of a Mobility Management Technique for 3GPP LTE Systems' Tae-Hyong Kim et al. Lecture Notes in Computer Science, 2007. Volume 4745/2007, pp272-288.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885864A (en) * 2014-03-05 2014-06-25 南京邮电大学 Information physical system verification method based on controller local area network (LAN)

Also Published As

Publication number Publication date
KR20120021855A (en) 2012-03-09

Similar Documents

Publication Publication Date Title
JP5475996B2 (en) Modeling and simulation methods
US9547041B2 (en) Testbench builder, system, device and method with phase synchronization
US7594226B2 (en) Implementation of packet-based communications in a reconfigurable hardware element
CN108376221A (en) A kind of software system security verification and appraisal procedure based on AADL model extensions
CN109948213A (en) A kind of synergy emulation method and device based on FMI standard
CN111859832B (en) Chip simulation verification method and device and related equipment
CN114417768B (en) Digital-analog hybrid simulation method and system of Ethernet chip
CN111352778B (en) Network simulation processing method and device, electronic equipment and storage medium
US10922208B2 (en) Observer for simulation test and verification
EP2908498B1 (en) Integrated application generating system and method for internet of things terminal
KR101125365B1 (en) Integrated design method of communication protocols with sdl-opnet co-simmulation technique
Pang et al. Automatic model generation of IEC 61499 function block using net condition/event systems
CN110442338B (en) Simulation method for structural analysis and design language AADL model
CN104866640A (en) Full FIFO (first in, first out) circuit design method and universal test bench of method
Li et al. Hardware-in-the-loop real-time simulation interface software design
Reiter et al. Virtual prototyping evaluation framework for automotive embedded systems engineering
CN107241234B (en) AS5643 network simulation method and system
CN111431739B (en) QualNet-oriented dynamic fault setting method for simulation communication network
Li et al. A formal framework capturing real-time and stochastic behavior in connectors
CN113283008A (en) Civil aircraft system behavior state safety verification method based on model conversion
CN105975695B (en) The quantitative analysis method of ThingML model under Uncertain environments
US6370495B1 (en) Method and apparatus for simulating a storage component
Karner et al. Heterogeneous co-simulation platform for the efficient analysis of FlexRay-based automotive distributed embedded systems
Liu et al. Architecture design of avionics simulation configuration control system based on AADL
CN114429051B (en) Modeling method, device, equipment and medium of data flow chip

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160309

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170411

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee