KR100827269B1 - 시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법 - Google Patents

시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법 Download PDF

Info

Publication number
KR100827269B1
KR100827269B1 KR1020060072506A KR20060072506A KR100827269B1 KR 100827269 B1 KR100827269 B1 KR 100827269B1 KR 1020060072506 A KR1020060072506 A KR 1020060072506A KR 20060072506 A KR20060072506 A KR 20060072506A KR 100827269 B1 KR100827269 B1 KR 100827269B1
Authority
KR
South Korea
Prior art keywords
virtual
debugging
virtual node
user
environment
Prior art date
Application number
KR1020060072506A
Other languages
English (en)
Other versions
KR20070058957A (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 KR20070058957A publication Critical patent/KR20070058957A/ko
Application granted granted Critical
Publication of KR100827269B1 publication Critical patent/KR100827269B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 사용자 명령을 입력하기 위한 입력부, 상기 입력부를 통해 입력된 가상 노드 설정 정보와 가상 환경 설정 정보에 따라 가상의 센서 네트워크를 구성하고, 상기 구성된 센서 네트워크를 제어하는 가상 노드 시뮬레이터부, 상기 가상 노드 시뮬레이터부에 의해 구성된 센서 네트워크의 디버깅을 수행하는 디버깅부 및 상기 디버깅부에서 수행된 디버깅 수행 결과 정보를 출력하는 출력부로 구성된 것으로서, 소프트웨어 디버깅을 통해서 다수의 센서 노드의 디버깅을 수행할 수 있다.
센서노드, 디버깅, 가상노드, 임베디드, 센서네트워크

Description

시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법{Apparatus and Method for debugging Sensor Network using simulation}
도 2 및 도 3은 본 발명에 따른 시뮬레이션을 이용한 센서 네트워크 디버깅 장치의 구성을 개략적으로 나타낸 블럭도.
도 4는 본 발명에 따른 가상 노드의 구성을 개략적으로 나타낸 블럭도.
도 5는 본 발명의 바람직한 일 실시예에 따른 시뮬레이션을 이용한 센서 네트워크 디버깅 방법을 나타낸 흐름도.
도 6은 본 발명의 바람직한 다른 실시예에 따른 센서 네트워크의 디버깅 방법을 나타낸 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 호스트 102, 200, 300 : 사용자 인터페이스부
104, 340 : 디버깅 소프트웨어 110 : JTAG 어댑터
120 : 타겟 210 : 가상노드 시뮬레이터
212 : 가상 노드 생성부 214, 320 : 가상 노드 제어부
216, 330 : 가상 환경 데이터베이스 220 : 디버깅부
310, 400 : 가상 노드 402 : 코어모듈
404 : 센서 모듈 406 : 액츄에이터 모듈
408 : 통신 모듈
본 발명은 유비쿼터스(Ubiquitous)환경에서 다수의 센서 노드들로 구성된 센서 네트워크의 디버깅을 위한 시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법에 관한 것이다.
언제 어디서나 컴퓨팅 환경을 쉽게 제공받을 수 있는 유비쿼터스 환경으로 가면서, 센서 노드와 같은 초소형 임베디드 시스템에 대한 수요는 증가하고 있으며, 센서 노드뿐만 아니라 센서 노드들로 연결되는 센서 네트워크 환경에 대한 많은 연구들이 행해지고 있다.
일반적으로 임베디드 시스템은 데스크탑 PC와 같은 범용 컴퓨터 시스템과는 다르게, 특수한 목적으로 특수한 기능을 하는 기기 또는 장치에 내장되는 컴퓨터 시스템을 말한다.
예를 들면, 휴대폰, PDA, 웹 패드와 같은 이동형 기기에 내장된 컴퓨터 시스템 또는 디지털 TV, 인터넷 냉장고와 같은 가전 제품에 내장된 컴퓨터 시스템을 말한다. 그 밖에도 현실 세계에서 접하는 많은 기기와 장치들에 컴퓨터 시스템이 내 장되어 기기와 장치들의 기능을 개선시킨다. 심지어 동전 크기보다 작은 센서들에도 컴퓨터 시스템이 내장되어 센서들 간의 통신 등의 기능을 수행한다.
범용 컴퓨터 시스템과 다르게 임베디드 시스템은 항상 고성능, 고용량의 CPU, 메모리와 같은 자원을 요구하지 않으므로, 범용 컴퓨터 시스템과 비교하여 부족한 자원과 성능을 갖게 된다.
이와 같은 이유로 임베디드 시스템에서 수행되는 임베디드 소프트웨어에 대한 개발은 임베디드 시스템보다 성능이 우수한 범용 컴퓨터 시스템에서 이루어진다. 보통 범용 컴퓨터 시스템을 호스트 시스템이라고 하고, 임베디드 시스템을 타겟 시스템이라 하며, 호스트 시스템과 타겟 시스템이 연결되어 타겟 시스템에서 수행되는 소프트웨어에 대한 개발을 호스트 시스템에서 수행하는 개발 환경을 크로스 개발 환경이라 한다.
도 1은 종래의 센서 노드용 소프트웨어 개발 시스템을 나타낸 도면이다.
도 1을 참조하면, 센서 노드용 소프트웨어 개발은 PC와 같은 호스트 시스템(100)에서 개발되고, 호스트 시스템(100)은 센서 노드 타겟(120)과 시리얼 통신으로 연결된 모습을 갖는다.
상기 호스트(100)는 사용자 인터페이스를 위한 사용자 인터페이스부(102, GUI), 디버깅을 위한 디버깅 소프트웨어(104)로 구성된다.
상기 호스트(100)에서 개발된 이미지는 시리얼 통신을 통하여 센서 노드(122)로 다운로드되어 플래시 메모리에 저장되어 실행된다.
즉, 센서 노드(122)와 호스트(100)를 JTAG 어댑터(110)를 이용하여 연결하고 센서 노드(122)를 디버깅하는 방법을 취하였다.
그러나 상기와 같은 방법은 하나의 노드를 정확하게 디버깅할 수는 있으나 여러 노드간의 상호 작용에 의한 디버깅이 필요한 경우에는 실제 다른 하드웨어들을 구축하여 디버깅해야 하는 단점이 있다.
따라서, 본 발명의 목적은 다수의 센서 노드를 이용하여 유비쿼터스 환경을 구축하기에 앞서 미리 시뮬레이션을 통해서 환경의 안정성을 검증한 후에 실제 구축에 착수할 수 있는 시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법을 제공하는데 있다.
본 발명의 다른 목적은 가상의 하드웨어를 이용하여 센서 네트워크 시뮬레이션 장치를 구현하여 디버깅하는 시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법을 제공하는데 있다.
상기 목적들을 달성하기 위하여 본 발명의 일 측면에 따르면, 사용자 명령을 입력하기 위한 입력부, 상기 입력부를 통해 입력된 가상 노드 설정 정보와 가상 환경 설정 정보에 따라 가상의 센서 네트워크를 구성하고, 상기 구성된 센서 네트워크를 제어하는 가상 노드 시뮬레이터부, 상기 가상 노드 시뮬레이터부에 의해 구성된 센서 네트워크의 디버깅을 수행하는 디버깅부 및 상기 디버깅부에서 수행된 디 버깅 수행 결과 정보를 출력하는 출력부를 포함하는 것을 특징으로 하는 시뮬레이션을 이용한 센서 네트워크 디버깅 장치가 제공된다.
상기 가상 노드 시뮬레이터부는 실제의 환경이 가상적으로 구현되어 저장된 가상 환경 데이터베이스, 상기 입력부를 통해 입력된 가상 노드 설정 정보에 따라 가상 노드를 생성하는 가상 노드 생성부, 상기 입력부를 통해 입력된 가상 환경 설정 정보를 상기 가상 노드 생성부를 통해 생성된 가상 노드에 적용시키고, 상기 가상 노드를 제어하는 가상 노드 제어부를 포함한다.
상기 가상 노드 생성부에 의해 생성된 가상 노드는 메모리, 레지스터, CPU가 가상으로 구현된 코어 모듈, 외부 환경 정보를 감지하는 센서 모듈, 상기 센서 모듈에서 감지된 외부 환경 정보를 인식하고, 상기 인식된 결과에 따라 처리 신호를 생성하여 해당 장치에 전송하는 액츄에이터 모듈, 다른 가상 노드와의 통신을 수행하는 통신 모듈로 구성된다.
본 발명의 다른 측면에 따르면, 사용자에 의해 입력된 센서 네트워크 구성 정보에 따라 가상 센서 네트워크를 구성하고, 상기 구성된 센서 네트워크에서 디버깅을 위한 적어도 하나 이상의 가상 노드가 선택되면, 상기 선택된 가상 노드에 대하여 디버깅을 수행하고, 상기 수행된 디버깅 수행 결과 정보를 출력하는 것을 특징으로 하는 시뮬레이션을 이용한 센서 네트워크 디버깅 방법이 제공된다.
상기 사용자에 의해 입력된 센서 네트워크 구성 정보에 따라 가상 센서 네트워크를 구성하는 것은 상기 사용자에 의해 입력된 가상 노드 설정 정보에 따라 가상 노드를 설정하고, 상기 사용자에 의해 입력된 가상 환경 설정 정보를 상기 설정 한 가상 노드에 적용하여 가상 센서 네트워크를 구성하는 것을 말한다.
상기 구성된 센서 네트워크에서 디버깅을 위한 적어도 하나 이상의 가상 노드가 선택되면, 상기 선택된 가상 노드에 대하여 디버깅을 수행하는 것은 상기 사용자에 의해 가상 노드 선택 명령이 입력되면, 가상 노드 선택 화면을 디스플레이하고, 상기 디스플레이된 화면을 통해 적어도 하나 이상의 가상 노드가 선택된 후, 디버깅 명령이 입력되면, 상기 선택된 가상 노드에 대하여 디버깅을 수행하고, 상기 사용자에 의해 환경 변화 상황 명령이 입력되면, 상기 구성된 가상 센서 네트워크에 상기 환경 변화 상황 명령에 따른 환경을 수행하고, 상기 선택된 가상 노드에 대하여 디버깅을 수행한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 2 및 도 3은 본 발명에 따른 시뮬레이션을 이용한 센서 네트워크 디버깅 장치의 구성을 개략적으로 나타낸 블럭도, 도 4는 본 발명에 따른 가상 노드의 구성을 개략적으로 나타낸 블럭도이다.
시뮬레이션을 이용한 센서 네트워크 디버깅 장치는 PC 등의 호스트에 구현된다.
도 2를 참조하면, 시뮬레이션을 이용한 센서 네트워크 디버깅 장치는 사용자 인터페이스부(GUI, Graphic User Interface)(200), 가상 노드 시뮬레이터부(210), 디버깅부(220)를 포함한다.
상기 사용자 인터페이스부(200)는 사용자 명령을 입력받고, 상기 사용자 명령에 따른 결과를 출력하는 역할을 수행한다. 따라서, 상기 사용자 인터페이스부(200)는 입력부(미도시)와 출력부(미도시)를 포함한다.
상기 가상 노드 시뮬레이터부(210)는 상기 사용자 인터페이스부(200)를 통해 입력된 사용자 명령에 따라 센서 네트워크를 구성한다.
즉, 상기 가상 노드 시뮬레이터부(210)는 상기 사용자 인터페이스부(200)를 통해 입력된 가상 노드 설정 정보, 가상 환경 설정 정보에 따라 센서 네트워크를 구성한다.
또한, 상기 가상 노드 시뮬레이터부(210)는 상기 사용자 인터페이스부(200)를 통해 입력된 환경 변화 상황 명령에 따라 상기 구성된 센서 네트워크의 가상 노드에 환경 변화 상황을 발생시킨다. 여기서, 상기 환경 변화 상황 명령은 화재발생, 홍수 등과 같은 경보 상황 명령, 온도 조절 명령, 습도 조절 명령 등을 포함한다.
상기와 같은 역할을 수행하는 가상 노드 시뮬레이터부(210)는 가상 노드 생성부(212), 가상 노드 제어부(214), 가상환경 데이터베이스(216)를 포함한다.
상기 가상 노드 생성부(212)는 상기 사용자 인터페이스부(200)를 통해 입력된 가상 노드 설정 정보에 따라 노드를 가상으로 생성한다. 상기와 같이 생성된 노드를 가상 노드라 칭하기로 한다.
상기 가상 노드 설정 정보는 센서의 종류, 개수, 위치 등을 포함한다. 상기 센서 종류에는 가스센서, 화재감지 센서, 온도센서, 습도 센서 등을 말하는 것으로 서, 사용자는 각 가상 노드에 대하여 하나 이상의 센서를 선택할 수 있다.
상기 생성된 가상 노드는 실제 노드와 같은 하드웨어의 구성을 갖고, 그 구성은 도 4와 같다.
도 4를 참조하면, 가상 노드(400)는 코어모듈(402), 센서모듈(404), 액츄에이터 모듈(406), 통신모듈(408)을 포함한다.
상기 코어 모듈(402)은 메모리, 레지스터, CPU가 가상으로 구현된 모듈로서, 실제 하드웨어와 동일하게 동작하고, 실제 하드웨어에서 실행되는 실행 이미지가 그대로 변경되지 않고 사용된다.
상기 센서 모듈(404)은 외부 환경을 모니터하는 가상으로 구현된 모듈로서, 온도 센서, 습도 센서, 조도 센서 등을 말할 수 있다. 상기 센서 모듈(404)은 사용자에 의해 추가 또는 삭제가 가능하다.
상기 액츄에이터 모듈(406)은 상기 센서 모듈(404)로부터의 입력을 처리하여 실제로 신호를 전달하는 모듈이다. 즉, 상기 액츄에이터 모듈(406)은 상기 센서 모듈(404)에서 감지된 외부 환경 정보를 인식하고, 상기 인식된 결과에 따라 처리 신호를 생성한다. 그런 다음 상기 액츄에이터 모듈(406)은 상기 인식된 결과를 처리할 수 있는 장치에 상기 생성한 처리 신호를 전송한다.
상기와 같은 역할을 하는 액츄에이터 모듈(406)은 스위치 등의 간단한 하드웨어로 구성되는 것으로, 이는 가상으로 구현된 것이다.
예를들어, 상기 센서 모듈(404)을 통해 화재가 감지되면, 상기 액츄에이터 모듈(406)은 스프링쿨러가 동작하도록 화재 감지 신호 또는 스프링쿨러 동작 신호 등을 생성하고, 상기 생성된 신호를 해당 장치에 전송한다.
상기 통신 모듈(408)은 무선으로 다른 가상 노드와의 통신을 담당하는 것으로서, 실제 하드웨어에서 수행되는 처리를 그대로 구현한 것이다. 즉, 상기 통신 모듈(408)은 다른 가상 노드에서 전달되는 메시지를 수신하여 상기 코어 모듈(402)에 전송하고, 다른 노드로 메시지를 전송하는 역할을 수행한다.
상기와 같이 구성된 가상 노드(400)는 간단한 하드웨어로 구성되어 무선으로 통신할 수 있는 거리가 제한되게 되며, 주변의 가상 노드들은 각각 센서에서 감지된 데이터가 액츄에이터 모듈(406)까지 전달될 수 있도록 해야 한다.
상기와 같이 가상 노드(400)를 각각의 모듈로 구현하고, 각 모듈에 가상으로 하드웨어를 모사하면, 실제 하드웨어에 사용되는 이미지가 그대로 시뮬레이터의 입력으로 사용되어 시뮬레이션을 위해서 새로운 이미지를 생성하거나 새로운 정의 언어를 이용하기 위해 프로그램을 개발하는 등의 단계를 거쳐야 하는 번거로움을 해소할 수 있다.
다시 도 2를 참조하면, 상기 가상 환경 데이터베이스(216)에는 실제의 환경이 가상으로 구현되어 있다. 예를 들면, 상기 가상 환경 데이터베이스(216)에는 임의 지역의 통신 상태나 온도, 기후 등과 같은 것이 저장되어 있어서, 가상 노드가 상기 가상 노드 제어부(214)를 통해서 가상 환경의 값을 가상적으로 읽을 수 있도록 한다.
상기 가상 노드 제어부(214)는 상기 사용자 인터페이스부(200)를 통해 입력된 가상 환경 설정 정보를 상기 생성된 가상 노드에 적용시키는 역할을 수행한다. 상기 가상 환경 설정 정보는 상기 가상 환경 데이터베이스(216)에 저장된 가상 환경 또는 사용자가 임의로 입력한 가상 환경일 수 있다.
즉, 상기 사용자가 상기 가상 환경 데이터베이스(216)에 저장된 가상 환경 중에서 특정 지역의 가상환경을 선택하면, 상기 가상 노드 제어부(214)는 상기 가상 환경 데이터베이스(216)에서 상기 선택한 가상 환경 정보를 읽어서 상기 생성한 가상 노드에 적용시킨다.
또한, 상기 가상 노드 제어부(214)는 상기 사용자가 환경 변화 상황 명령을 입력하면, 상기 입력된 환경 변화 상황 명령에 따른 환경을 가상 노드에 수행한다. 예를 들어, 상기 사용자가 화재 발생 명령을 입력하면, 상기 가상 노드 제어부(214)는 가상 노드에 화재를 발생시킨다.
상기와 같이 구성된 가상 노드 시뮬레이터부(210)는 사용자에 의해 설정된 가상 환경에서 각각의 가상 노드들이 정상적으로 동작하는지를 확인하고 가상 환경에 사용된 실행 이미지는 그대로 실제 환경 구축을 위해서 사용될 수 있도록 한다.
상기 디버깅부(220)는 사용자에 의해 선택된 가상 노드가 정상적으로 동작하는지를 판단하고, 예측하지 못한 기능이나 잘못된 동작이 발생했을 때 원인이 되는 부분을 찾는 역할을 수행한다. 즉, 상기 디버깅부(220)는 프로그램의 오류를 발견하고 그 원인을 밝히는 역할을 수행한다.
상기 디버깅부(220)에는 디버깅 소프트웨어가 탑재되어 있어서, 상기 사용자가 상기 사용자 인터페이스부(200)를 통해 디버깅 명령을 입력하면, 상기 디버깅부(220)는 해당 가상 노드에 대해 디버깅을 수행한다. 그런 다음 상기 디버깅 부(220)는 상기 수행된 디버깅 결과 정보가 출력되게 한다.
즉, 상기 디버깅부(220)는 다른 가상 노드에서 전달되는 메시지의 처리, 다른 가상 노드로의 메시지 전달과 같은 상호 작용이 정상적으로 일어나는지를 판단하는 역할을 수행한다.
또한, 상기 디버깅부(220)는 사용자에 의해 환경 변화 상황 명령이 입력된 경우, 해당 가상 노드가 정상적으로 동작하는지를 판단하고 그 결과가 출력되게 하는 역할을 수행한다.
상기와 같이 디버깅 장치를 구성하면, 하나의 가상 노드를 디버깅할 때 다른 가상 노드들간의 통신을 통한 시뮬레이션을 할 수 있으므로 더욱더 정확한 결과를 얻을 수 있다. 이렇게 함으로써 다른 가상 노드에서 전달되는 메시지의 처리, 다른 가상 노드로의 메시지 전달과 같은 상호 작용에 의해서 동작 여부의 정확성을 측정할 수 있는 상황에 대한 안전성 검증이 가능하며, 실제로는 일어나기 어려운 가상환경 조정을 통한 엄청난 강수, 급작스런 온도 변화, 가스 누출 등의 환경도 구축이 가능하다.
예를들어, 사용자가 4개의 가상 노드를 생성한 경우에 대해 도 3을 참조하여 설명하기로 한다.
도 3을 참조하면, 사용자가 입력한 가상 노드 설정 정보에 따라 가상 노드 1(310a), 가상 노드 2(310b), 가상 노드 3(310c), 가상 노드 4(310d)가 생성된다.
상기 각 가상 노드(310a, 310b, 310c, 310d)에는 사용자에 의해 입력된 가상 환경이 적용되어 있다. 각 가상 노드(310a, 310b, 310c, 310d)는 통신모듈에 의해 상호 통신을 수행한다.
상기 사용자가 가상 노드 1(310a)에 대한 디버깅 명령을 선택하면, 상기 디버깅 소프트웨어(340)는 가상 노드 1(310a)을 디버깅하여 상기 가상 노드 1(310a)이 정상 동작하는지를 판단한다. 그런 다음 상기 디버깅 소프트웨어(340)는 상기 가상 노드 1(310a)에 대한 디버깅 수행 결과 정보가 출력부(미도시)를 통해 출력되게 한다.
도 5는 본 발명의 바람직한 일 실시예에 따른 시뮬레이션을 이용한 센서 네트워크 디버깅 방법을 나타낸 흐름도이다.
도 5를 참조하면, 디버깅 장치는 사용자에 의해 가상 노드 설정 정보가 입력되면, 상기 입력된 가상 노드 설정 정보에 따라 가상 노드를 생성한다(S500).
상기 가상 노드 설정 정보는 센서의 종류, 개수, 위치 등을 포함한다. 상기 센서 종류에는 가스 센서, 화재 감지 센서, 온도 센서, 습도 센서 등을 말하는 것으로서, 사용자는 하나 이상의 센서를 선택할 수 있다.
단계 500의 수행 후, 상기 디버깅 장치는 상기 사용자에 의해 입력된 가상 환경 설정 정보에 따라 가상 환경을 설정한다(S502). 상기 가상 환경은 데이터베이스에 저장된 특정 장소의 환경 정보 또는 사용자에 의해 임으로 입력된 환경 정보일 수 있다.
단계 502의 수행 후, 상기 디버깅 장치는 상기 설정한 가상 노드에 상기 설정한 가상 환경을 적용시킨다(S504). 즉, 상기 설정한 가상 노드는 상기 설정한 가상 환경 즉, 주변의 온도, 습도, 조도 등의 환경 정보를 받아들인다.
단계 504의 수행 후, 상기 사용자에 의해 디버깅을 위한 가상 노드가 선택된 후(S506), 디버깅 명령이 입력되면(S508), 상기 디버깅 장치는 상기 사용자에 의해 환경 변화 상황 명령이 입력되는지를 판단한다(S510).
여기서, 상기 환경 변화 상황 명령은 화재발생, 홍수 등과 같은 경보 상황 명령, 온도 조절 명령, 습도 조절 명령 등을 포함한다.
단계 510의 판단결과 상기 사용자에 의해 환경 변화 상황 명령이 입력되면, 상기 디버깅 장치는 상기 가상 환경이 수행된 가상노드에 상기 환경 변화 상황 명령에 따른 환경을 수행한다(S512).
단계 512의 수행 후, 상기 디버깅 장치는 상기 단계 506에서 선택된 노드에 대한 디버깅을 수행하고(S514), 디버깅 수행 결과를 출력한다(S516).
즉, 상기 디버깅 장치는 디버깅 명령이 입력되면, 상기 선택된 가상 노드가 상기 발생한 환경 변화 상황에 잘 대처하는지의 여부, 다른 가상 노드로 전달되는 메시지가 정상적으로 전달되는지, 다른 가상 노드로부터 전달되는 메시지가 정상적으로 처리되는지에 대하여 디버깅을 수행한다.
그런 다음 상기 디버깅 장치는 상기 디버깅 수행 결과를 화면 또는 프린터 등을 통해 출력한다. 이때, 상기 디버깅 수행 결과는 해당 가상 노드 ID와 함께 출력된다.
단계 516의 수행 후, 상기 사용자가 다른 가상 노드의 디버깅을 원하면(S518), 상기 디버깅 장치는 단계 506부터 수행한다.
만약, 단계 510의 판단결과 상기 사용자에 의해 환경 변화 상황 명령이 입력 되지 않으면, 상기 디버깅 장치는 단계 514를 수행한다.
도 6은 본 발명의 바람직한 다른 실시예에 따른 센서 네트워크의 디버깅 방법을 나타낸 흐름도이다.
도 6을 참조하면, 사용자에 의해 센서 네트워크 구성 명령이 선택되면(S600), 디버깅 장치는 센서 네트워크 구성 화면을 디스플레이한다(S602). 상기 센서 네트워크 구성 화면에는 가상 노드를 설정하기 위한 가상 노드 설정 명령과 가상 환경을 설정하기 위한 가상 환경 설정 명령이 존재한다.
상기 사용자가 가상 노드 설정 명령을 선택하면, 상기 디버깅 장치는 가상 노드를 설정하기 위한 가상 노드 설정 화면을 디스플레이한다. 상기 가상 노드 설정 화면에는 가상 노드의 개수, 센서 종류, 위치 등을 입력하기 위한 영역이 존재한다. 상기 사용자는 상기 가상 노드 설정 화면을 통해 가상 노드의 개수, 센서 종류, 위치 등을 입력한다.
상기 사용자가 가상 환경 설정 명령을 선택하면, 상기 디버깅 장치는 가상 환경을 설정하기 위한 가상 환경 설정 화면을 디스플레이한다.
상기 가상 환경 설정 화면에는 데이터베이스에 저장된 가상 환경을 불러와서 활용하는 불러오기 명령, 사용자가 임의의 가상 환경을 수동으로 입력하는 수동 환경 설정 명령이 존재한다. 상기 사용자가 상기 데이터베이스에 저장된 가상 환경을 이용하고자 한다면, 상기 사용자는 불러오기 명령을 선택하여 원하는 가상 환경을 선택한다.
상기 사용자가 수동으로 가상 환경 설정을 원하면, 상기 사용자는 수동 환경 설정 명령을 선택하여 원하는 환경을 설정한다.
단계 602에서 디스플레이된 센서 네트워크 구성 화면을 통해 가상 노드와 가상 환경이 설정되면(S604), 상기 디버깅 장치는 상기 설정한 가상 노드에 상기 설정한 가상 환경을 적용시킨다(S606). 상기 가상 노드에 상기 가상 환경이 적용된 것은 화면상에 디스플레이될 수 있다.
단계 606의 수행 후, 상기 사용자에 의해 디버깅을 위한 가상 노드가 선택된 후(S608), 디버깅 명령이 입력되면(S610), 상기 디버깅 장치는 상기 사용자에 의해 환경 변화 상황 명령이 입력되는지를 판단한다(S612).
즉, 상기 사용자가 가상 노드 선택 명령을 선택하면, 상기 디버깅 장치는 가상 노드 선택 화면을 디스플레이한다. 그러면, 상기 사용자는 상기 디스플레이된 가상 노드 선택 화면을 통해 하나 또는 그 이상의 가상 노드를 선택할 수 있다. 상기 사용자가 하나 이상의 가상 노드를 선택하였다면, 상기 디버깅 장치는 각 가상 노드에 대해 디버깅을 수행한다.
예를 들어, 상기 사용자가 제1 가상 노드에서 제5 가상 노드로의 메시지 전송 경로에 해당하는 가상 노드를 선택한 경우, 상기 디버깅 장치는 해당 메시지가 각 가상 노드로 정상적으로 전달되어 처리되었는지의 여부를 판단할 수 있다.
단계 612의 판단결과 상기 사용자에 의해 환경 변화 상황 명령이 입력되면, 상기 디버깅 장치는 상기 가상 환경이 수행된 가상노드에 상기 환경 변화 상황 명령에 따른 환경을 수행한다(S614). 여기서, 상기 환경 변화 상황 명령은 화재발생, 홍수 등과 같은 경보 상황, 온도 조절 등을 포함한다.
상기 환경 변화 상황이 발생된 가상 노드는 화면상에 디스플레이될 수 있다.
단계 614의 수행 후, 상기 디버깅 장치는 상기 단계 608에서 선택된 노드에 대한 디버깅을 수행하고(S616), 디버깅 수행 결과를 출력한다(S618).
단계 618의 수행 후, 상기 사용자가 다른 가상 노드의 디버깅을 원하면(S620), 상기 디버깅 장치는 단계 608부터 수행한다.
상기와 같은 방법을 통해 상기 디버깅 장치는 다른 가상 노드에서 전달되는 메시지의 처리, 다른 가상 노드로의 메시지 전달과 같은 상호 작용의 동작 여부에 대해 정확히 알 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.
상술한 바와 같이 본 발명에 따르면, 하나의 센서 노드를 디버깅할 때 다른 센서 노드들간의 통신을 통한 시뮬레이션을 할 수 있도록 구성함으로써, 정확한 디버깅 결과를 얻을 수 있는 시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법을 제공할 수 있다.
또한, 본 발명에 따르면, 다른 노드에서 전달되는 메시지의 처리, 다른 노드로의 메시지 전달과 같은 상호 작용에 의해서 상황에 대한 안정성 검증이 가능한 시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법을 제공할 수 있다.
또한, 본 발명에 따르면, 실제로 일어나기 어려운 가상 환경의 조성을 통한 강수, 급작스런 온도 변화, 가스 누출 등의 환경도 구축이 가능한 시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법을 제공할 수 있다.
또한, 본 발명에 따르면, 소프트웨어 디버깅을 통해서 다수의 센서 노드의 디버깅이 가능한 시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법을 제공할 수 있다.

Claims (10)

  1. 사용자로부터 사용자 명령을 입력받는 입력부;
    상기 사용자 명령에 포함된 가상 노드 설정 정보 및 상기 사용자 명령에 기반하여 결정된 가상 환경 설정 정보에 따라 가상의 센서 네트워크를 구성하고, 상기 입력부를 통해 상기 사용자로부터 입력된 환경 변화 상황 명령에 따라 상기 가상의 센서 네트워크의 환경 변화를 제어하는 가상 노드 시뮬레이터부;
    상기 사용자 명령에 따라 상기 가상의 센서 네트워크에 대한 디버깅을 수행하는 디버깅부; 및
    상기 디버깅부에서 수행된 디버깅의 수행 결과를 출력하는 출력부
    를 포함하는 것을 특징으로 하는 시뮬레이션을 이용한 센서 네트워크 디버깅 장치.
  2. 제1항에 있어서, 상기 가상 노드 시뮬레이터부는,
    상기 사용자 명령에 의해 선택되는 가상 환경 설정 정보를 저장하는 가상 환경 데이터베이스;
    상기 가상 노드 설정 정보에 따라 가상 노드를 생성하는 가상 노드 생성부; 및
    상기 사용자 명령에 기반하여 결정된 가상 환경 설정 정보에 따라 상기 가상 노드에 가상 환경을 적용하는 가상 노드 제어부
    를 포함하는 것을 특징으로 하는 시뮬레이션을 이용한 센서 네트워크 디버깅 장치.
  3. 제2항에 있어서, 상기 가상 노드는,
    메모리, 레지스터 및 CPU가 가상으로 구현된 코어 모듈;
    상기 가상 노드에 적용된 가상 환경에 따라 상기 가상 노드의 외부 환경 정보를 감지하는 센서 모듈;
    상기 센서 모듈에서 감지된 상기 외부 환경 정보를 인식하여 처리 신호를 생성하고, 상기 처리 신호를 해당 장치에 전송하는 액츄에이터 모듈; 및
    다른 가상 노드와의 통신을 수행하는 통신 모듈
    을 포함하는 것을 특징으로 하는 시뮬레이션을 이용한 센서 네트워크 디버깅 장치.
  4. 제1항에 있어서,
    상기 가상 노드 설정 정보는 센서 종류 정보, 가상 노드 개수 및 가상 노드 위치 정보를 포함하는 것을 특징으로 하는 시뮬레이션을 이용한 센서 네트워크 디버깅 장치.
  5. 제1항에 있어서,
    상기 가상 환경 설정 정보는 상기 사용자에 의해 가상 환경 데이터베이스로부터 선택된 정보 또는 상기 사용자에 의해 임의로 입력된 정보인 것을 특징으로 하는 시뮬레이션을 이용한 센서 네트워크 디버깅 장치.
  6. 사용자에 의해 입력된 가상 노드 설정 정보에 따라 가상 노드를 설정하는 단계;
    상기 사용자의 입력에 기반하여 결정된 가상 환경 설정 정보를 상기 가상 노드에 적용하여 가상 센서 네트워크를 구성하는 단계;
    상기 사용자에 의해 선택된 적어도 하나 이상의 가상 노드에 대하여 디버깅을 수행하는 단계; 및
    상기 선택된 가상 노드에 대한 디버깅의 수행 결과 정보를 출력하는 단계
    를 포함하는 것을 특징으로 하는 시뮬레이션을 이용한 센서 네트워크 디버깅 방법.
  7. 삭제
  8. 제6항에 있어서, 상기 사용자에 의해 선택된 적어도 하나 이상의 가상 노드에 대하여 디버깅을 수행하는 단계는,
    상기 사용자의 가상 노드 선택 명령에 따라 가상 노드 선택 화면을 디스플레이하는 단계; 및
    상기 사용자의 디버깅 명령에 따라 상기 가상 노드 선택 화면을 통해 상기 사용자로부터 선택된 적어도 하나 이상의 가상 노드에 대하여 디버깅을 수행하는 단계
    를 포함하는 것을 특징으로 하는 시뮬레이션을 이용한 센서 네트워크 디버깅 방법.
  9. 제8항에 있어서, 상기 사용자에 의해 선택된 적어도 하나 이상의 가상 노드에 대하여 디버깅을 수행하는 단계는, 상기 디버깅을 수행하는 단계 이전에,
    상기 사용자에 의해 입력된 환경 변화 상황 명령에 따라 상기 가상 센서 네트워크에 적용되는 가상 환경의 변화를 제어하는 단계를 더 포함하는 것을 특징으로 하는 시뮬레이션을 이용한 센서 네트워크 디버깅 방법.
  10. 제6항에 있어서,
    상기 선택된 가상 노드에 대한 디버깅의 수행 결과 정보는 다른 가상 노드로의 메시지 전달 또는 메시지 수신 처리 결과, 환경 변화 상황 명령에 따른 처리 결과를 포함하는 것을 특징으로 하는 시뮬레이션을 이용한 센서 네트워크 디버깅 방법.
KR1020060072506A 2005-12-05 2006-08-01 시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법 KR100827269B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050117700 2005-12-05
KR1020050117700 2005-12-05

Publications (2)

Publication Number Publication Date
KR20070058957A KR20070058957A (ko) 2007-06-11
KR100827269B1 true KR100827269B1 (ko) 2008-05-07

Family

ID=38355519

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060072506A KR100827269B1 (ko) 2005-12-05 2006-08-01 시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100827269B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100902808B1 (ko) * 2007-11-02 2009-06-12 경북대학교 산학협력단 실시간 디버깅 기능을 가지는 대규모 실시간 감시 시스템용디버깅 단말기 및 이를 포함하는 디버깅 시스템
KR100948842B1 (ko) * 2008-08-27 2010-03-22 한국전자통신연구원 센서네트워크의 시뮬레이션 장치 및 방법
KR101047120B1 (ko) * 2008-12-22 2011-07-07 한국전자통신연구원 센서 노드 시뮬레이션 시스템
KR101047119B1 (ko) * 2008-12-22 2011-07-07 한국전자통신연구원 센서 노드 에뮬레이터를 연동하는 센서 네트워크 시뮬레이션 시스템
KR101066553B1 (ko) * 2010-04-29 2011-09-21 제주대학교 산학협력단 재난 대응을 위한 가상 센서 및 구동체 통합 네트워크 구축 및 운영 방법 및 그 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체
CN110956864A (zh) * 2018-09-27 2020-04-03 中国人民解放军战略支援部队信息工程大学 一种网络安全训练场景模拟系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000025575A (ko) * 1998-10-13 2000-05-06 윤종용 Ieee 1394 가상 네트웍 생성방법 및 그 콘트롤러
KR20010022663A (ko) * 1998-06-08 2001-03-26 요트.게.아. 롤페즈 표준화된 네트워크와 비-표준화된 노드의 무선 결합 방법
KR20070035176A (ko) * 2005-09-27 2007-03-30 한국전자통신연구원 센서노드 지원장치, 센서노드 통합개발장치 및 이를 이용한센서 네트워크 개발시스템
KR20070056269A (ko) * 2005-11-29 2007-06-04 한국전자통신연구원 센서 네트워크에 대한 시뮬레이션 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010022663A (ko) * 1998-06-08 2001-03-26 요트.게.아. 롤페즈 표준화된 네트워크와 비-표준화된 노드의 무선 결합 방법
KR20000025575A (ko) * 1998-10-13 2000-05-06 윤종용 Ieee 1394 가상 네트웍 생성방법 및 그 콘트롤러
KR20070035176A (ko) * 2005-09-27 2007-03-30 한국전자통신연구원 센서노드 지원장치, 센서노드 통합개발장치 및 이를 이용한센서 네트워크 개발시스템
KR20070056269A (ko) * 2005-11-29 2007-06-04 한국전자통신연구원 센서 네트워크에 대한 시뮬레이션 장치 및 방법

Also Published As

Publication number Publication date
KR20070058957A (ko) 2007-06-11

Similar Documents

Publication Publication Date Title
KR100827269B1 (ko) 시뮬레이션을 이용한 센서 네트워크 디버깅 장치 및 방법
CN109597374B (zh) 用于调试的i/o虚拟化
CN105866575B (zh) 一种车载显示器综合测试装置及测试方法
US10775754B2 (en) Method for creating prototype and apparatus therefor
JP2018124983A (ja) 改良されたヘルプ機能を備えた本質安全性手持ち型フィールドメンテナンスツール
US20110191787A1 (en) System and method for providing sensor data from embedded device to software development environment
CN110891005A (zh) Iot设备的控制方法、云服务器及iot设备控制系统
JP2015204615A (ja) 機器と移動デバイスとの間でインタラクトする方法及びシステム
CN106872879B (zh) 硬件无线调试方法、装置、通信芯片及电子设备
KR101653878B1 (ko) 3차원 형상의 모델링을 위한 블록 및 사용자 단말기와 이를 이용한 3차원 형상의 모델링 방법
JP2018116343A (ja) センサ支援システム、端末、センサおよびセンサ支援方法
JP2019197560A (ja) 既存のアプリケーションに連動するプロトタイプのテスト方法
KR20180061589A (ko) 소프트웨어 빌드 시스템 및 이를 이용한 소프트웨어 빌드 방법
JP6525043B2 (ja) データ生成装置、データ生成方法及びプログラム
KR20150003651A (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템의 제어방법
CN106952426B (zh) 数据处理方法及装置
CN113986270B (zh) 分布式应用部署方法、装置、存储介质及电子设备
KR102106618B1 (ko) 애플리케이션 성능 테스트를 위한 시스템, 단말장치, 검증장치, 방법 및 컴퓨터로 판독 가능한 기록 매체
US8776019B2 (en) Configurator with embedded firmware for offline instrument user settings implementation
JP2014102572A (ja) テストシステム及びテストプログラム
CN113900932A (zh) 测试脚本生成方法、装置、介质及电子设备
JP6366811B2 (ja) 検査装置、検査方法、及び、プログラム
KR102128004B1 (ko) 소프트웨어 검증 장치 및 방법
CN103167076B (zh) 测试电子装置的功能的测试方法以及测试装置
KR100918840B1 (ko) 센서 네트워크를 구성하기 위한 타겟 센서 노드를 시험하는장치 및 그 방법

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee