KR100944770B1 - 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법 - Google Patents

실행 가능한 센서 네트워크 프로토타입 자동 생성 방법 Download PDF

Info

Publication number
KR100944770B1
KR100944770B1 KR1020070132518A KR20070132518A KR100944770B1 KR 100944770 B1 KR100944770 B1 KR 100944770B1 KR 1020070132518 A KR1020070132518 A KR 1020070132518A KR 20070132518 A KR20070132518 A KR 20070132518A KR 100944770 B1 KR100944770 B1 KR 100944770B1
Authority
KR
South Korea
Prior art keywords
sensor
module
sensor network
node
prototype
Prior art date
Application number
KR1020070132518A
Other languages
English (en)
Other versions
KR20090065080A (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 한국전자통신연구원
Priority to KR1020070132518A priority Critical patent/KR100944770B1/ko
Publication of KR20090065080A publication Critical patent/KR20090065080A/ko
Application granted granted Critical
Publication of KR100944770B1 publication Critical patent/KR100944770B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Abstract

본 발명은 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법에 관한 것으로, 센서 네트워크 응용 분야를 선택하고, 센서 네트워크 응용 분야별 노드간 패킷 정의 단계; 센서 노드에 OS에서 지원하는 하드웨어 독립적 모듈과 하드웨어 종속적 모듈에서 사용하고자 하는 모듈의 종류를 선택하는 센서 노드 속성 지정 단계; 센서 네트워크를 구성하는 각 센서 노드별로 응용 소프트웨어에서 동작할 하나 이상의 쓰레드의 행위를 모델링하여 하여 실행 코드를 생성하는 센서 노드별 행위 모델링 단계; 및 실행 코드를 컴파일하여 실행 가능한 센서 노드의 프로토타입 자동 생성 단계를 포함한다. 따라서, 본 발명은 무선 센서 네트워크(WSN)를 구성하는 센서 노드상에 동작하는 임베디드 소프트웨어를 쉽고 빠르게 개발하도록 센서 네트워크 응용 소프트웨어 프로토타입을 자동으로 생성할 수 있다.
센서 네트워크, 싱크 노드, 센서 노드, 프로토타입

Description

실행 가능한 센서 네트워크 프로토타입 자동 생성 방법{Method for automatically generating executable sensor network prototype}
본 발명은 센서 네트워크 프로토타입 자동 생성 방법에 관한 것으로, 특히 무선 센서 네트워크(WSN)를 구성하는 센서 노드 상에 동작하는 임베디드 소프트웨어를 쉽고 빠르게 개발할 수 있도록 센서 네트워크 응용 소프트웨어 프로토타입을 자동으로 생성하는, 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT 성장동력기술개발 사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-085-01, 과제명:자동차 센서노드용 초소형 운영체제 개발(Nano OS for Automobile Sensor Nodes)].
최근, 유비쿼터스 센서 네트워크(USN) 기술이 발달함에 따라, 무선 센서 네트워크(WSN:Wireless Sensor Network)는 기상 관측 시스템, 환경 관리 시스템, 생태 모니터링, 재해 예측 시스템, 방재 및 방범 시스템, 보안 시스템, 시설 제어 시 스템, 교통 정보 시스템, 물류 시스템, 군용 감시 시스템 등의 다양한 분야에 적용된 센서 네트워크 응용 시스템들이 출시되고 있다.
이러한 센서 네트워크용 응용 시스템은 센서 노드의 프로토타입(prototype)을 생성하고 테스트해 볼 수 있는 여러가지 기존 방법들이 존재한다. BTnode는 센서 네트워크 시스템의 센서 노드의 프로토타입을 만들어 볼 수 있도록 하드웨어 및 소프트웨어 환경을 제공한다. BTnode 환경에서는 프로토타입을 위한 센서 노드를 제공하며, 센서 노드를 동작시키는 센서 노드용 OS도 제공한다. 사용자는 이 환경을 센서 네트워크 응용에 대한 센서 노드의 프로토타입을 만들어보고 실제로 테스트해 볼 수 있다. BTnode 환경에서는 사용자가 응용 프로그램을 처음부터 끝까지 작성하고 실제 센서 노드에 탑재하여 잘 동작하는지를 테스트해야 한다. 센서 노드에서 제공하는 OS의 API나 하드웨어의 특성에 대하여 자세히 알지 못하는 개발자는 코드 작성 및 테스트에 어려움이 있을 수 있다. 그리고, 개발자는 시스템이 잘 동작하는지 그렇지 않은지를 센서 노드 상에 모든 프로그램을 업로드하여 동작시켜 본 이후에 확인해 볼 수 있다.
Vipsto는 TinyOS 기반 센서 네트워크를 위한 통합 개발 및 시뮬레이션 환경이다. TinyOS는 무선 센서 네트워크(WSN)를 위한 컴포넌트 기반의 이벤트 드리븐 센서 네트워크 운영체제(OS)이다. Viptos는 개발자가 블록과 다이어그램을 그려서 nesC로 구현된 TinyOS 컴포넌트를 생성할 수 있도록 해준다.
그러나, Vipsto는 상태 다이어그램을 nesC코드로 변환해 주는 역할만 할 뿐, 센서 노드의 OS와 연계하여 사용자의 다양한 센서 노드 플랫폼에 맞는 코드를 생성 해 주는 방법에 대한 고려가 없었다.
또한, 종래의 무선 센서 네트워크(WSN)는 센서 노드상에 동작하는 임베디드 소프트웨어를 쉽고 빠르게 개발하도록 센서 네트워크용 응용 소프트웨어 프로토타입을 자동으로 생성하는 방법이 제공되지 않았다.
본 발명은 상기한 문제점을 해결하기 위해 제안된 것으로, 무선 센서 네트워크(WSN)에서 특정 센서 노드 하드웨어 플랫폼에 의존적인 특성이나 제공되는 라이브러리(OS)의 세부 사항에 대하여 잘 알지 못해도 빠르고 쉽게 사용자의 센서 노드 플랫폼에 맞는 센서 네트워크용 응용 프로그램의 프로토타입을 개발할 수 있는, 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법을 제공하는데 그 목적이 있다.
본 발명의 목적을 달성하기 위하여, 본 발명은 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법으로서, (a) 센서 네트워크 응용 분야별 노드 간 패킷 정의 단계; (b) 센서 노드의 OS에서 지원하는 하드웨어 모듈의 종류를 선택하는 센서 노드 속성 지정 단계; (c) 센서 네트워크를 구성하는 각 센서 노드별로 응용 소프트웨어에서 동작할 하나 이상의 쓰레드의 행위를 모델링하여 실행 코드를 생성하는 센서 노드별 행위 모델링 단계; 및 (d) 상기 실행 코드를 컴파일하여 실행 가능 한 센서 노드의 프로토타입 자동 생성 단계를 포함한다.
상기 단계 (a)는, 상기 센서 네트워크 응용 분야별 센서 노드와 싱크 노드간 전송되는 패킷의 종류 및 데이터와 메시지 전송 순서, 센서 네트워크 통신 채널, PAN ID를 정의하고, 사용자가 작성한 패킷 전송 모델을 센서 네트워크 응용 분야별 패킷 전송 패턴 데이타베이스로 저장하는 것을 특징으로 한다.
상기 단계 (a)에서 센서 노드와 싱크 노드간 전송되는 패킷의 종류는 센서 정보(SENSOR_INFO), 센서 데이터(SENSOR_DATA), 및 배터리 데이터(BATTERY_DATA)를 포함하고, 상기 센서 정보는 센서 노드 ID와 센서 타입을 포함한다.
상기 센서 데이터는, 센서 노드 ID 및 센싱 값을 포함하는 것을 특징으로 한다.
상기 배터리 데이터는, 센서 노드 ID와 배터리 값을 포함하는 것을 특징으로 한다.
상기 단계 (b)는, 상기 센서 노드의 OS에서 지원하는 하드웨어 독립적 모듈과 하드웨어 종속적 모듈에서 사용하고자 하는 모듈의 종류를 선택하는 것을 특징으로 한다.
상기 하드웨어 플랫폼 독립적 모듈은, 라우팅 모듈, MAC 통신 모듈, 태스크 스케쥴링 모듈, 세마포어 모듈, 메시지 큐 모듈, 보안 모듈, 저전력 지원 모듈, 및 DB 지원 모듈 중 하나 이상의 모듈을 포함하는 것을 특징으로 한다.
상기 하드웨어 플랫폼 종속적 모듈은, 센서 드라이버 모듈, UART 모듈, LED 모듈, EEPROM 모듈, 배터리 모듈, LCD 드라이버 모듈, 및 RF 드라이버 모듈 중 하 나 이상의 모듈을 포함하는 것을 특징으로 한다.
상기 단계 (c)는, 쓰레드 ID, 우선순위, 반복주기를 정의하여 쓰레드의 행위 모델링을 그래피컬하게 제공하도록 행위 모델(Statechart) 다이어그램을 사용하는 것을 특징으로 한다.
상기 단계 (d)는, 생성된 실행 코드들을 함께 컴파일하여 실제 센서 노드상에 탑재되거나, 행위 모델(Statechart)과 연계되어 개별 센서 노드 또는 센서 노드간의 동작을 시뮬레이션 하는데 사용하는 것을 특징으로 한다.
이상에서 설명한 바와 같이, 사용자가 센서 네트워크 응용마다 달라질 수 있는 사항, 센서 노드의 하드웨어 플랫폼마다 달라질 수 있는 항목들을 상위 레벨에서 설정하고, 그래픽한 모델을 이용하여 이해하기 쉬운 형태로 센서 노드의 동작을 명세하면 하드웨어 플랫폼에 맞는 실행 가능한 코드를 생성하는 방법을 정의하였다.
또한, 사용자가 설정한 센서 노드의 하드웨어 종류 및 필요 기능에 따라 쉽게 재구성되는 센서 네트워크 OS의 구조와 센서 네트워크 응용 소프트웨어 프로토타입 생성 과정과 연계시켜 실행 가능한 코드를 생성하는 효과가 있다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명 한다.
도 1은 본 발명에 따른 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법을 설명한 순서도이다.
본 발명에 따른 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법은 센서 네트워크 응용 분야 선택 단계(S10), 노드간 패킷 정의 단계(S20), 센서 노드 속성 지정 단계(S30), 센서 노드별 행위 모델링 단계(S40), 컴파일 및 실행가능한 프로토타입 자동 생성 단계(S50)를 포함한다.
1. 센서 네트워크 응용 분야 선택 단계
먼저, 사용자는 센서 네트워크 응용 분야를 선택한다(S10).
센서 네트워크 응용 분야는 온도 측정 시스템, 조도 측정 시스템, 환경 모니터링 시스템, 생태 모니터링 시스템, 음향 감지 시스템, 군용 감시 시스템, 물품 추적 시스템, 의료용 모니터링 시스템, 지능화 공간(smart space) 등으로 분류할 수 있으며, 계속적인 피드백 과정을 통해 추가되거나 삭제될 수 있다.
노드간 패킷 정의 단계를 위한 가능한 시나리오를 제시하여 센서 네트워크 응용 분야별로 많이 사용되는 센서 노드간 통신 패턴을 제시하여 준다. 이 단계의 결과는 2단계의 입력으로 사용되어 사용자가 사용될 패킷의 종류 및 노드간 패킷 전송 시나리오를 결정하는데 도움을 준다.
2. 센서 노드간 패킷 정의 단계
센서 노드간 패킷 정의 단계는 센서 네트워크 응용 분야별 센서 노드와 싱크 노드간 전송되는 패킷의 종류 및 데이터와 메시지 전송 순서, 센서 네트워크 통신 채널과 PAN ID를 정의하고, 센서 노드간 패킷 전송 시나리오에 따라 작성된 패킷 전송 모델을 센서 네트워크 응용 분야별 패킷 전송 패턴 데이타베이스로 저장한다(S20).
도 2에 도시된 바와 같이, 센서 노드와 싱크 노드로 전송되는 패킷의 종류는 센서 정보(SENSOR_INFO), 센서 데이터(SENSOR_DATA) 및 배터리 데이터(BATTERY_DATA)를 포함하고, 메시지 전송 순서를 상위 레벨에서 나타낼 수 있도록 시퀀스 다이어그램을 이용한다. 사용되는 패킷 종류나 전송 순서는 사용자가 선택한 센서 네트워크 응용 분야에 따라 달라질 수 있다.
센서 정보(SENSOR_INFO)는 센서 노드 ID(nodeID)와, 온도 센서, 습도 센서, 조도 센서 등의 센서 타입(Sensor_type)을 포함한다.
센서 데이터(SENSOR_DATA)는 센서 노드 ID(nodeID) 및 센싱 값(value)를 포함한다.
배터리 데이터(BATTERY_DATA)는 센서 노드 ID(nodeID)와, 배터리 값(value)를 포함한다.
객체 하나는 센서 노드에 올라가는 응용 프로그램 1개에 해당한다. 그러므로, 이 단계에서 센서 네트워크 응용에 사용될 총 센서 노드의 갯수가 정해지며, 시퀀스 다이어그램에 명시된 패킷 정보를 바탕으로 각 센서 노드용 어플리케이션의 패킷의 타입을 정의한 헤더 파일이 생성된다. 그리고, 이 단계의 결과는 센서 네트워크 응용분야에 따른 패킷 전송 패턴을 저장하는 데이터베이스에 저장한다.
실행 가능한 센서 네트워크 응용 소프트웨어 프로토타입을 생성하기 위해 각 패킷이 어떠한 내용을 포함하고 있는지 기술한다.
다음 표 1은 패킷의 종류 및 패킷에 포함되는 내용에 대한 명세 예이다.
패킷 이름 SENSOR_INFO SENSOR_DATA BATTERY_DATA
포함 항목 nodeId, Sensor_type nodeId, value nodeId, value
센서 네트워크 구성을 위해 기본적으로 필요한 기술 항목은 통신 채널과 PAN ID이다.
3. 센서 노드 속성 지정 단계
센서 노드별로 달라질 수 있는 하드웨어 독립적 속성과 종속적 속성들을 개별적으로 정의한다(S30). 여기서 정해진 속성은 센서 네트워크 응용 프로그램 컴파일시 선택될 OS의 모듈을 결정하여, 필요한 모듈만을 실행 바이너리 파일 생성에 포함시킬 수 있도록 한다.
다음 표 2는 선택할 수 있는 센서 노드의 속성을 제시한다.
하드웨어 독립적 속성
OS에서 지원하는 하드웨어 독립적 모듈 라우팅 모듈
MAC 통신 모듈
태스크 스케쥴링 모듈
세마포어 모듈
메시지 큐 모듈
보안 모듈
저전력 지원 모듈
DB 지원 모듈(센서 노드상에서 데이터 저장 및 검색)
하드웨어 종속적 속성
하드웨어에 따라 선택 가능한 모듈 센서 드라이버 모듈
UART 모듈
LED 모듈
EEPROM 모듈
배터리 모듈
LCD 드라이버 모듈
RF 드라이버 모듈
센서 네트워크 하드웨어 플랫폼 독립적 모듈은 라우팅 모듈, MAC 통신 모듈, 태스크 스케쥴링 모듈, 세마포어 모듈, 메시지 큐 모듈, 보안 모듈, 저전력 지원 모듈, 및 DB 지원 모듈을 포함한다.
센서 네트워크 하드웨어 플랫폼 종속적 모듈은 센서 드라이버 모듈, UART 모듈, LED 모듈, EEPROM 모듈, 배터리 모듈, LCD 드라이버 모듈, 및 RF 드라이버 모듈을 포함한다.
선택된 센서 노드는 하드웨어 속성에 맞게 센서 노드용 OS가 선택적인 컴파일을 지원할 수 있는 모듈을 포함해야 한다. 이를 지원하는 OS 모듈의 구조는 다음과 같다.
도 3은 센서 노드의 응용 프로그램과 API, 하드웨어 플랫폼 독립적 모듈과 플랫폼 종속적 모듈을 도시한 구성도이다.
사용자가 사용하고자 하는 하드웨어 플랫폼 독립적 모듈의 종류를 선택하고, 하드웨어 플랫폼 종속적 모듈의 종류를 선택하면, 시스템은 컴파일시 포함해야 할 모듈과 사용자가 사용할 수 있는 모듈의 API가 결정된다(S30). 센서 네트워크 OS는 스케쥴링 기능을 제공하므로 해당 모듈을 선택하면 멀티쓰레딩을 위한 API를 제공한다.
4. 센서 노드별 행위 모델링 단계
센서 네트워크를 구성하는 각 센서 노드가 소프트웨어적으로 반드시 가져야 할 속성을 결정한 후, 센서 노드별 센서 네트워크 응용 소프트웨어는 동작할 쓰레드의 행위를 모델링한다(S40). 행위 모델링은 동시성(concurrency)을 제공하는 쓰레드 ID, 우선순위(Priority), 반복주기(Period)를 정의하여 thread의 행위 모델링을 그래피컬하게 제공하도록 상위 레벨에서 모델링 하는데 적합한 행위 모델(Statechart) 다이어그램을 이용한다. 이러한 그래피컬한 다이어그램을 모델링에 사용하는 이유는, 센서 노드의 행위를 좀 더 쉽게 표현하고 이해할 수 있도록 하고, 최종적으로 생성될 코드와 연계하여 그래피컬한 시뮬레이션을 하기 위한 것이다.
센서 노드별 행위 모델링시, 외부 이벤트는 2단계에서 모델링 한 패킷의 이름과 내용을 사용하며, 내부 이벤트로는 3단계에서 결정된 모듈의 API를 사용한다.
노드별 설정내용 Thread별 설정 내용
노드 ID 쓰레드 ID
무선 통신을 위한 전력 수준 (RF power level) 우선 순위(Priority)
연결 허용 노드 ID의 범위 반복 주기(Period)
<2개의 쓰레드를 실행시키는 센서 노드 모델링 예 >
1) 노드 응용 전체 및 각 Thread 관련한 설정 항목 작성
노드간 통신 관련 설정항목
아이디 무선 통신을 위한 전력 수준 (RF power level) 연결 허용 센서 노드ID의 범위
1 31(최대값, 특정 값을 설정하지 않을 경우 디폴트로 최대로 설정됨) 1 ~ 100
Thread 설정 항목 Thread 1 Thread 2
아이디 1 2
우선 순위 Normal Normal
반복 실행 Yes Yes
시간 간격 1000ms 2000ms
2) 행위 모델링
도 4는 본 발명의 일실시예에 따라 센서 데이터와 배터리 데이터 감지시 액션을 정의한 2개의 쓰레드(thread)를 실행시키는 센서 노드의 행위 모델링을 나타낸 도면이다.
쓰레드 1은 센서 노드로 온도 센서를 사용하는 경우, 설정된 주기(Peroid: thread 반복 주기마다 설정된 시간 간격)마다 센서 데이터를 감지하고 SENSOR_DATA.value로 get_temp_data()에 의해 감지된 온도 센서 데이터 값을 할당하고, SENSOR_DATA.Node_id로 센서 노드 ID를 할당한 후, send_to_nwk(SINK_ID, SENSOR_DATA) 함수에 의해 싱크 노드(SINK NODE)로 감지된 센서 데이터를 전송한다.
쓰레드 2는 설정된 주기(Peroid: thread 반복 주기마다 설정된 시간 간격)마다 BATTERY_DATA.value로 get_battery_data()에 의해 획득한 배터리 데이터 값을 할당하고, SENSOR_DATA.Node_id로 센서 노드 ID를 할당한 후, send_to_nwk(SINK_ID, BATTERY_DATA) 함수에 의해 싱크 노드(SINK NODE)로 배터리 데이터를 전송한다.
5. 실행 가능한 프로토타입 자동 생성 단계
최종적으로, 시스템은 각 단계별 사용자가 작성한 내용을 바탕으로 실제 컴파일 및 동작 가능한 코드를 생성한다(S50).
1) 2단계 결과물을 이용한 패킷 정의 코드를 생성
시스템은 2단계 결과물을 이용한 패킷 정의 코드를 생성하여 도 5에 도시된 바와 같이, 센서 네트워크의 통신 채널과 PAN ID를 정의하고, 각 노드가 송수신하는 패킷을 분석하여 센서 데이터 구조와 배터리 데이터 구조 등의 각 센서 노드별 패킷의 형태를 정의하는 헤더 파일을 생성한다.
2) 3단계 결과물을 이용한 하드웨어 속성별 포함 모듈 정의 코드를 생성
시스템은 3단계 결과물을 이용한 하드웨어 속성별 포함 모듈 정의 코드를 생성하여 도 6에 도시된 바와 같이, 사용자가 정의한 하드웨어 속성과 사용할 기능 모듈의 종류에 따라 컴파일시 함께 컴파일 될 모듈을 정의하는 헤더 파일을 생성한다.
도 6은 사용자가 정의한 센서 노드의 플랫폼 모듈과 하드웨어 속성을 정의한 헤더 파일이다. 이 헤더 파일은 4단계에서 생성되는 응용 프로그램을 최종적으로 컴파일 할 때 함께 컴파일 될 OS의 모듈을 명시한다.
3) 4단계에 결과물을 이용한 실행 코드 생성
센서 노드용 응용 프로그램에서 포함되는 모듈에 따라 기본적으로 포함해야 할 부분(센서나 통신 초기화 등)과 4단계에서 모델링한 노드마다 다르게 작성되는 thread 행위를 참고하여 실제 동작하는 실행 코드를 도 7에 도시된 바와 같이 생성한다.
도 7은 본 발명의 일실시예에 따른 메인 코드와 2개의 쓰레드의 행위를 정의한 센서 노드 응용 프로그램을 나타낸다.
본 발명의 실시예에 따른 센서 네트워크는 2개의 싱크 노드와 1~99까지의 센서 노드 아이디를 가진 센서 노드를 포함하는 경우이다. 각 노드의 무선 통신 전력 레벨은 최대로 설정되어 있다.
센서 노드 응용 프로그램(prototype)은 노드간 패킷을 정의한 packet_def.h 헤더 파일과 센서 노드의 하드웨어 속성을 정의한 nos.h를 포함하고, 메인 함수에서 전원 ON 후에, 센서 네트워크 통신 채널과 PAN ID에 기초하여 센서 ID와 감지된 온도 데이터를 싱크 노드로 전송하는 thread1_task() 함수와, 센서 ID와 감지된 배터리 데이터를 싱크 노드로 전송하는 thread2_task() 함수의 기능을 제공한다.
생성된 코드들은 함께 컴파일되어 실제 센서 노드상에 탑재될 수도 있으며, 행위 모델(Statechart)과 연계되어 가시화된 형태로 개별 센서 노드 또는 센서 노드간의 동작을 시뮬레이션 하는데 사용할 수 있다.
이상에서 설명한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 하기의 특허청구범위에 기재된 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 또는 변형하여 실시할 수 있다.
도 1은 본 발명에 따른 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법을 설명한 순서도.
도 2는 센서 노드와 싱크 노드 객체 간 메시지 전송 순서를 상위 레벨에서 나타낼 수 있는 시퀀스 다이어그램.
도 3은 센서 노드의 응용 프로그램과 API, 하드웨어 플랫폼 독립적 모듈과 플랫폼 종속적 모듈을 도시한 구성도.
도 4는 본 발명의 일실시예에 따라 센서 데이터와 배터리 데이터 감지시 액션을 정의한 2개의 thread를 실행시키는 센서 노드의 행위 모델링을 나타낸 도면.
도 5 센서 네트워크의 통신 채널과 PAN ID를 정의하고, 센서 데이터 구조와 배터리 데이터 구조 등의 각 센서 노드별 패킷의 형태를 정의한 헤더 파일.
도 6은 사용자가 정의한 센서 노드의 플랫폼 모듈과 하드웨어 속성을 정의한 헤더 파일.
도 7은 본 발명의 일실시예에 따른 메인 코드와 2개의 쓰레드의 행위를 정의한 센서 노드 응용 프로그램.
<도면의 주요 부분에 대한 부호의 설명>
100: 응용 프로그램 200: API
120: 센서 네트워크 플랫폼 독립적 모듈 121: 스케쥴링 모듈
122: 세마포어 모듈 123: 메시지큐 모듈
124: 보안 모듈 125: MAC 통신 모듈
126: 라우팅 모듈 127: 저전력 지원 모듈
128: DB 지원 모듈 131: UART 모듈
130: 센서 네트워크 플랫폼 종속적 모듈 132: 메모리 관리 모듈
133: 타이머 134: RF 드라이버 모듈
135: 센서 드라이버 모듈 136: 배터리 측정 모듈
137: LED 모듈 138: LCD 드라이버 모듈
139: EEPROM 모듈

Claims (10)

  1. 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법에 있어서,
    (a) 시스템이, 센서 네트워크 응용 분야를 선택한 정보를 입력 받아서 해당 센서 네트워크 응용 분야별 노드 간 패킷을 정의하는 단계;
    (b) 상기 시스템이, 센서 노드의 OS에서 지원하는 하드웨어 모듈의 종류를 선택한 정보를 입력받아서 상기 센서 노드의 속성을 지정하는 단계;
    (c) 상기 시스템이 상기 센서 네트워크를 구성하는 각 센서 노드별로 응용 소프트웨어에서 동작할 하나 이상의 쓰레드의 행위를 모델링할 정보를 입력받아서 실행 코드를 생성하는 센서 노드별 행위 모델링 단계; 및
    (d) 상기 시스템이 상기 실행 코드를 컴파일하여 실행 가능한 센서 노드의 프로토타입을 자동 생성하는 단계;
    를 포함하는 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법.
  2. 제 1 항에 있어서,
    상기 단계 (a)는
    상기 센서 네트워크 응용 분야별 센서 노드와 싱크 노드 간 전송되는 패킷의 종류 및 데이터와 메시지 전송 순서, 센서 네트워크 통신 채널, PAN ID를 정의하고, 사용자가 작성한 패킷 전송 모델을 센서 네트워크 응용 분야별 패킷 전송 패턴 데이타베이스로 저장하는 것을 특징으로 하는 실행가능한 센서 네트워크 프로토타입 자동 생성 방법.
  3. 제 1 항에 있어서,
    상기 단계 (a)에서 센서 노드와 싱크 노드 간 전송되는 패킷의 종류는 센서 정보, 센서 데이터, 및 배터리 데이터를 포함하고, 상기 센서 정보는 센서 노드 ID와 센서 타입을 포함하는 것을 특징으로 하는 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법.
  4. 제 3 항에 있어서,
    상기 센서 데이터는,
    센서 노드 ID 및 센싱 값을 포함하는 것을 특징으로 하는 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법.
  5. 제 3 항에 있어서,
    상기 배터리 데이터는,
    센서 노드 ID와 배터리 값을 포함하는 것을 특징으로 하는 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법.
  6. 제 1 항에 있어서,
    상기 단계 (b)는,
    상기 센서 노드의 OS에서 지원하는 하드웨어 독립적 모듈과 하드웨어 종속적 모듈에서 사용하고자 하는 모듈의 종류를 선택하는 것을 특징으로 하는 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법.
  7. 제 6 항에 있어서,
    상기 하드웨어 플랫폼 독립적 모듈은,
    라우팅 모듈, MAC 통신 모듈, 태스크 스케쥴링 모듈, 세마포어 모듈, 메시지 큐 모듈, 보안 모듈, 저전력 지원 모듈, 및 DB 지원 모듈 중 하나 이상의 모듈을 포함하는 것을 특징으로 하는 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법.
  8. 제 6 항에 있어서,
    상기 하드웨어 플랫폼 종속적 모듈은,
    센서 드라이버 모듈, UART 모듈, LED 모듈, EEPROM 모듈, 배터리 모듈, LCD 드라이버 모듈, 및 RF 드라이버 모듈 중 하나 이상의 모듈을 포함하는 것을 특징으로 하는 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법.
  9. 제 1 항에 있어서,
    상기 단계 (c)는,
    쓰레드 ID, 우선순위, 반복주기를 정의하여 쓰레드의 행위 모델링을 그래피컬하게 제공하도록 행위 모델(Statechart) 다이어그램을 사용하는 것을 특징으로 하는 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법.
  10. 제 1 항에 있어서,
    상기 단계 (d)는,
    생성된 실행 코드들을 함께 컴파일하여 실제 센서 노드상에 탑재되거나, 행위 모델(Statechart)과 연계되어 개별 센서 노드 또는 센서 노드간의 동작을 시뮬레이션 하는데 사용하는 것을 특징으로 하는 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법.
KR1020070132518A 2007-12-17 2007-12-17 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법 KR100944770B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070132518A KR100944770B1 (ko) 2007-12-17 2007-12-17 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070132518A KR100944770B1 (ko) 2007-12-17 2007-12-17 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법

Publications (2)

Publication Number Publication Date
KR20090065080A KR20090065080A (ko) 2009-06-22
KR100944770B1 true KR100944770B1 (ko) 2010-03-03

Family

ID=40993534

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070132518A KR100944770B1 (ko) 2007-12-17 2007-12-17 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법

Country Status (1)

Country Link
KR (1) KR100944770B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101992303B1 (ko) 2018-03-18 2019-06-24 박성근 스마트 센서 네트워크의 데이터 수집 및 분석, 모니터링 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102246079B1 (ko) * 2019-09-26 2021-04-28 경희대학교 산학협력단 클라우드 중심 IoT를 위한 멀티 모달 센서 데이터 획득 및 동기화 시스템과 이의 실행 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008070425A (ja) * 2006-09-12 2008-03-27 Kyocera Corp 撮像レンズ、光学モジュール、および携帯端末

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008070425A (ja) * 2006-09-12 2008-03-27 Kyocera Corp 撮像レンズ、光学モジュール、および携帯端末

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문(2007.04.25)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101992303B1 (ko) 2018-03-18 2019-06-24 박성근 스마트 센서 네트워크의 데이터 수집 및 분석, 모니터링 시스템

Also Published As

Publication number Publication date
KR20090065080A (ko) 2009-06-22

Similar Documents

Publication Publication Date Title
Grichi et al. RWiN: New methodology for the development of reconfigurable WSN
CN103327080B (zh) 创建物联网控制系统的方法及装置
Yu et al. A survey of wireless sensor network simulation tools
KR20100020822A (ko) 유비쿼터스 시스템 설계/분석을 위한 컴퓨터 응용 시스템 및 유비쿼터스 시스템 설계/분석 방법
Gámez et al. Creating self-adapting mobile systems with dynamic software product lines
Ortiz et al. Runtime variability for dynamic reconfiguration in wireless sensor network product lines
KR100944770B1 (ko) 실행 가능한 센서 네트워크 프로토타입 자동 생성 방법
Tsigkanos et al. Dependable resource coordination on the edge at runtime
Helkey et al. Comparison of simulators for assessing the ability to sustain wireless sensor networks using dynamic network reconfiguration
Yu et al. Qos oriented sensor selection in iot system
Dong et al. Specifying and verifying sensor networks: An experiment of formal methods
Ryu et al. A simulation network model to evaluate RFID middlewares
Boonma et al. Model-driven performance engineering for wireless sensor networks with feature modeling and event calculus
Jäger et al. Model-based QoS evaluation and validation for embedded wireless sensor networks
Lalomia et al. A hybrid framework for soft real-time wsn simulation
Gamez et al. Constraint-based self-adaptation of wireless sensor networks
Wada et al. Modeling and executing adaptive sensor network applications with the Matilda UML virtual machine
Bischoff et al. A state-based programming model and system for wireless sensor networks
Jamont et al. Decentralized intelligent real world embedded systems: a tool to tune design and deployment
Jeong et al. Visualisation of efficiency coverage and energy consumption of sensors in wireless sensor networks using heat map
Papp et al. Runtime Reconfiguration in Networked Embedded Systems
Anthony et al. 3.2 A Future Dynamically Reconfigurable Automotive Software System
Silva et al. Jsensor: a parallel simulator for huge wireless sensor networks applications
Kifouche et al. Model driven framework to enhance sensor network design cycle
Bernardeschi et al. Early prototyping of wireless sensor network algorithms in PVS

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140123

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150126

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160317

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170322

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190409

Year of fee payment: 10