<363120C3D6C0CFBFEC2DBCBEBCAD20B3D7C6AEBFF6C5A920C8AFB0E6BFA1BCAD2E687770>

Similar documents
<353520B1E8C1D6C0CF2D55534E20B8D6C6BCC7C3B7A7C6FBC0BB20C0A7C7D120B3EBB5E520BCD2C7C1C6AEBFFEBEEE2E687770>

<333820B1E8C8AFBFEB2D5A B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

DBPIA-NURIMEDIA

서현수

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

DBPIA-NURIMEDIA

인문사회과학기술융합학회

°í¼®ÁÖ Ãâ·Â

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 6, Jun Rate). STAP(Space-Time Adaptive Processing)., -

UML

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 10, Oct ,,. 0.5 %.., cm mm FR4 (ε r =4.4)

10 이지훈KICS hwp

6.24-9년 6월

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),

À¯Çõ Ãâ·Â

정보기술응용학회 발표

07변성우_ok.hwp

, N-. N- DLNA(Digital Living Network Alliance).,. DLNA DLNA. DLNA,, UPnP, IPv4, HTTP DLNA. DLNA, DLNA [1]. DLNA DLNA DLNA., [2]. DLNA UPnP. DLNA DLNA.

3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp

<31325FB1E8B0E6BCBA2E687770>

untitled

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

05( ) CPLV12-04.hwp

09권오설_ok.hwp

45-51 ¹Ú¼ø¸¸

Journal of Educational Innovation Research 2017, Vol. 27, No. 1, pp DOI: * The

08SW

ESP1ºÎ-04

<31362DB1E8C7FDBFF82DC0FABFB9BBEA20B5B6B8B3BFB5C8ADC0C720B1B8C0FC20B8B6C4C9C6C32E687770>

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

Service-Oriented Architecture Copyright Tmax Soft 2005

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),

PCServerMgmt7

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

놀이동산미아찾기시스템

½Éº´È¿ Ãâ·Â

DBPIA-NURIMEDIA

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

ISP and CodeVisionAVR C Compiler.hwp

Software Requirrment Analysis를 위한 정보 검색 기술의 응용

DBPIA-NURIMEDIA

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Feb.; 29(2), IS

<32382DC3BBB0A2C0E5BED6C0DA2E687770>

Analysis of objective and error source of ski technical championship Jin Su Seok 1, Seoung ki Kang 1 *, Jae Hyung Lee 1, & Won Il Son 2 1 yong in Univ


Journal of Educational Innovation Research 2017, Vol. 27, No. 4, pp DOI: * A Study on Teache

광운소식65호출력

<31B1E8C0B1C8F128C6ED2E687770>

DE1-SoC Board

<35335FBCDBC7D1C1A42DB8E2B8AEBDBAC5CDC0C720C0FCB1E2C0FB20C6AFBCBA20BAD0BCAE2E687770>

03-최신데이터

6주차.key

디지털포렌식학회 논문양식

Main Title

Journal of Educational Innovation Research 2018, Vol. 28, No. 3, pp DOI: NCS : * A Study on

Analyst Briefing

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

Journal of Educational Innovation Research 2018, Vol. 28, No. 4, pp DOI: A Study on Organizi

04 최진규.hwp

À±½Â¿í Ãâ·Â

Journal of Educational Innovation Research 2018, Vol. 28, No. 1, pp DOI: * A Analysis of

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

878 Yu Kim, Dongjae Kim 지막 용량수준까지도 멈춤 규칙이 만족되지 않아 시행이 종료되지 않는 경우에는 MTD의 추정이 불가 능하다는 단점이 있다. 최근 이 SM방법의 단점을 보완하기 위해 O Quigley 등 (1990)이 제안한 CRM(Continu

¨ìÃÊÁ¡2

Backup Exec

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 25(11),

Microsoft Word - KSR2014S042

박선영무선충전-내지

09È«¼®¿µ 5~152s

1. KT 올레스퀘어 미디어파사드 콘텐츠 개발.hwp

Journal of Educational Innovation Research 2017, Vol. 27, No. 2, pp DOI: : Researc

Journal of Educational Innovation Research 2016, Vol. 26, No. 3, pp DOI: Awareness, Supports

위해 사용된 기법에 대해 소개하고자 한다. 시각화와 자료구조를 동시에 활용하는 프로그램이 가지는 한계와 이를 극복하기 위한 시도들을 살펴봄으로서 소셜네트워크의 분석을 위한 접근 방안을 고찰해 보고자 한다. 2장에서는 실험에 사용된 인터넷 커뮤니티인 MLBPark 게시판

ETL_project_best_practice1.ppt

02 _ The 11th korea Test Conference The 11th korea Test Conference _

<30312DC1A4BAB8C5EBBDC5C7E0C1A4B9D7C1A4C3A52DC1A4BFB5C3B62E687770>

13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: (LiD) - - * Way to


DBPIA-NURIMEDIA

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

???? 1

세종대 요람

thesis

04 김영규.hwp

PowerPoint 프레젠테이션

Microsoft PowerPoint - AC3.pptx

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

I

09오충원(613~623)

<3031B0ADB9CEB1B82E687770>

1


<BCBCC1BEB4EB BFE4B6F72E706466>

untitled

10(3)-09.fm

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Mar.; 25(3),

Transcription:

Journal of the Korea Academia-Industrial cooperation Society Vol. 15, No. 7 pp. 4536-4544, 2014 http://dx.doi.org/10.5762/kais.2014.15.7.4536 ISSN 1975-4701 / eissn 2288-4688 이우진 1, 최일우 2* 1 세종대학교정보통신공학과, 2 강남대학교교양학부 A Tool to Efficient Deelopment of Node Software for Various Operating System Platforms in Sensor Network Enironment Woo-Jin Lee 1, Il-Woo Choi 2* 1 Dept. of Information and Communication Engineering, Sejong Uniersity 2 Diision of General Studies, Kangnam Uniersity 요약본논문에서는센서네트워크에서다양한운영체제플랫폼을위한노드소프트웨어를효율적으로개발하기위한개발도구를제안한다. 제안하는도구는그래픽모델다이어그램작성, PIM 및 PSM 설계, 코드자동생성, 배포파일자동생성등을위한모듈로구성된다. 제안하는도구를통하여사용자들이전체적인센서네트워크모델을작성하고, 속성값을설정함으로써각노드소프트웨어에대한 PIM과타겟플랫폼에대한 PSM을설계하면, PSM에대한정보와타겟플랫폼에대한코드템플릿을바탕으로소스코드가자동으로생성된다. 그리고, 응용소프트웨어코드를바탕으로각노드에설치할수있는배포파일을자동으로생성할수있다. 제안하는도구는사용자들이센서네트워크에대한 low-leel 의정보를상세히알지못하더라도손쉽게다양한플랫폼에대한노드소프트웨어를생성할수있도록해준다. Abstract This paper proposes a deelopment tool to efficiently deelop node software for arious operating system platforms in a sensor network. The proposed tool consisted of seeral modules, such as writing graphical model diagram, PIM and PSM design, code generation, and deployment file generation. Through the proposed tool, the users can graphically draw a sensor network model and design the PIM and PSM of the node software by setting the alues of the predefined attributes. The source code of the node software is generated automatically from the PSM using the code templates of the target platform. The deployment files for installing node software on each node are generated automatically. The proposed tool helps the users to deelop node software easily for a range of target platforms, een though they do not hae details of the low-leel information for a sensor network. Key Words : Ubiquitous Sensor Network, Software Deelopment Tool, MDA, Attribute, Multi-Platform 1. 서론유비쿼터스센서네트워크 (Ubiquitous Sensor Network, USN)[1] 는저전력, 초경량의센서들로구성된네트워크로사물과주변환경을감지하여사용자에게정보를전달해줌으로써, 사용자들은센서네트워크를통하여언제, 어디서나정보를전달받을수있는 USN 환경을구축할수있으며다양한분야에서연구, 개발되어지 고있다. 센서네트워크를구성하는노드들은저전력, 초경량으로여러가지제약사항을가지므로노드소프트웨어는이러한제약사항을고려하여개발해야한다. 또한노드소프트웨어는운영체제를기반으로개발되는데센서네트워크운영체제는여러종류가존재하므로, 노드소프트웨어는타겟운영체제의종류또한고려되어야한다. 이와같이여러제약사항및다양한운영체제를고려 이논문은강남대학교교내연구비지원을받아연구된것임. * Corresponding Author : Il-Woo Choi(Kangnam Uni.) Tel: +82-31-2803-662 email: iwchoi@kangnam.ac.kr Receied March 25, 2014 Reised (1st April 21, 2014, 2nd June 2, 2014) Accepted July 10, 2014 4536

하여소프트웨어를개발하는것은매우번거로운일이다. 이러한문제를해결하기위하여, 센서네트워크노드소프트웨어의효율적인개발을지원하는여러가지도구 [2-5] 가개발되었다. 그러나이러한도구들은대부분특정운영체제플랫폼만을지원하기때문에타겟플랫폼에따라서로다른도구를사용해야하는불편함이있다. 따라서본논문에서는다양한플랫폼에대한노드소프트웨어를효율적으로개발할수있는 MDA 및속성기반의노드소프트웨어개발지원도구를제안한다. 2. 관련연구 2.1 센서네트워크운영체제플랫폼센서네트워크운영체제플랫폼은센서노드가가지는자원의제약을극복하고다양한분야의응용소프트웨어에대한개발을지원하기위하여만들어졌다. 센서네트워크운영체제는운영체제가가지는전반적인기능을포함하도록발전하였으며, 다양한종류의운영체제 [6-13] 가만들어졌다. 이러한센서네트워크운영체제플랫폼은센서네트워크응용소프트웨어를개발하는데매우중요한역할을한다. 센서네트워크응용소프트웨어는운영체제의모듈과운영체제의모듈을사용하는응용코드가합쳐져서개발되기때문에, 센서네트워크응용소프트웨어를개발하는경우에는타겟운영체제플랫폼이제공하는기능을포함하도록설계하고코드를생성해야한다. 2.2 기존의센서네트워크응용소프트웨어개발도구기존의센서네트워크응용소프트웨어개발도구로는.NET Micro Framework[2], MoteWorks[3], NanoEsto[4], TinyOS Plugin[5] 등을비롯하여여러가지도구가있다. 이러한도구들은사용자들이센서네트워크응용소프트웨어를편리하게개발할수있도록지원하기위하여비주얼한모델링을제공하고, 코드의자동생성등을지원한다. 그러나대부분의도구는하나의플랫폼에대한응용소프트웨어생성만을지원하며, 한번에하나의노드에대한응용소프트웨어만을개발할수있다는단점이있다. 본논문에서는이러한기존도구들의단점을극복하기위하여다양한플랫폼에대한응용소프트웨어를생성할수있으며, 한번에여러개의노드에대한응용소프트웨어를설계하여생성할수있도록하는도구를제안한다. 3. 다양한운영체제플랫폼을지원하는속성기반의센서네트워크노드소프트웨어개발도구 본장에서는제안하는도구의특징과도구를구성하는모듈및도구를이용한소프트웨어개발절차에대하여설명한다. 3.1 도구의특징 이절에서는본논문에서제안하는센서네트워크노드소프트웨어의개발을위한도구의특징을설명한다. 3.1.1 MDA 기반소프트웨어개발개념의적용 MDA(Model Drien Architecture)[14] 기반개발은플랫폼에독립적인모델인 PIM을재사용하여구현환경에맞는 PSM을생성하고, 그로부터소프트웨어를개발할수있도록하는것이다. 따라서 MDA 기반개발방법을사용하면하나의모델로부터다양한구현환경을위한소프트웨어를개발할수있으므로, 개발생산성이증가한다. 센서네트워크를위한운영체제플랫폼은매우다양하므로, 본논문에서제안하는도구는 MDA 기반개발의개념을적용하여 PIM을재사용하여다양한센서네트워크운영체제플랫폼에서수행가능한응용소프트웨어를생성하도록함으로써센서네트워크응용소프트웨어의개발생산성을증가시킬수있도록하였다. 3.1.2 속성기반프로그래밍개념의적용 속성기반프로그래밍은응용소프트웨어코드작성시에속성을이용하여메타데이터를추가하여, 실행시에동적으로메타데이터의값을변경하도록함으로써코드를직접변경하거나재검파일을하지않고응용소프트웨어를재구성할수있도록한다 [15]. 또한속성기반프로그래밍은프로그램의추상화수 4537

한국산학기술학회논문지제 15 권제 7 호, 2014 준을높이는방법으로, 개발자들이속성을이용하여프로그램을작성하면구현시에속성의값에따라프로그램코드가삽입되도록함으로써개발자들이쉽게프로그램을작성하도록한다 [16]. 본논문에서제안하는도구는이러한속성기반프로그래밍의개념을확장적용하였다. 프로그램의복잡성을줄이기위하여프로그램작성시에속성과그에대한값을직접써넣는것이아니라미리정의되어있는속성의값을선택하도록하였다. 제안하는도구는이렇게선택된속성의값에따라코드의템플릿을조합하여응용소프트웨어코드를생성할수있도록하였다. 3.2 도구의구성모듈이절에서는본논문에서제안하는센서네트워크노드소프트웨어개발을위한도구의구성모듈을설명한다. 제안하는도구는그래픽사용자인터페이스, 속성생성기, 모델작성기, PIM-to-PSM 속성변환기, 설정정보생성기, 소스코드생성기, 템플릿저장소, 코드편집기및배포파일생성기로구성된다. 3.2.1 그래픽사용자인터페이스 (GUI) 사용자가도구를편리하게사용할수있도록제공되는인터페이스이다. 그래픽사용자인터페이스를통하여사용자는센서네트워크모델작성및노드소프트웨어의설계를비주얼하게수행할수있다. 3.2.2 속성생성기본논문에서제안하는도구는속성을기반으로소프트웨어를설계할수있도록해주는도구이다. 따라서소프트웨어설계에필요한속성을생성해야한다. 속성생성기는노드소프트웨어를설계하는데필요한속성들을생성해주는역할을한다. 속성생성기를통해서 PIM 설계를위한공통속성과각플랫폼에맞는 PSM 설계를위한종속속성을생성한다. 센서네트워크소프트웨어를설계하기위한속성은 Table 1과같은타겟플랫폼들의기능으로부터도출된다. 타겟플랫폼들의공통된기능들을바탕으로센서네트워크소프트웨어의 PIM 설계를위한속성이생성되고, 각플랫폼들의고유한기능들을바탕으로 PSM의설계를위한속성이생성된다. [Table 1] The functions of target platforms Platform Function Nano-Qplus TinyOS Scheduling RF communication Real Time Clock Timer Sensing(ADC) UART EEPROM read/write Flash Memory read/write LED I2C Hardware ID access WatchDog Hardware potentiometer Encryption/decryption Utility function System log function Random number generator Table 2는타겟플랫폼들의공통된기능으로부터 PIM을설계하기위해필요한공통속성을생성한결과를보여준다. [Table 2] Common attributes for PIM design Common functions and program elements Attribute Node name nodename Node identifier nodeid Type of node nodetype Scheduling Scheduler_Enable RF communication RF_Enable Timer Timer_Enable ADC (sensing) ADC_Enable UART UART (none, printf, scanf, printf&scanf) EEPROM read/write EEPROM_Enable LED LED_Enable Table 3은센서네트워크소프트웨어의 PSM 설계를위해생성한속성의예로 Nano-Qplus[6] 플랫폼을위한속성을보여준다. [Table 3] A part of platform-specific attributes for PSM design for Nano-Qplus Platform-specific functions and program elements Kind of scheduler Kind of sensor Kind of RF Temperature Light Humidity Attribute Scheduler (none, FIFO, PreemptionRR) RF (Simple, IEEE802.15.4MAC, StarMesh) Sensor_Temperature_Enable Sensor_Light_Enable Sensor_Humidity_Enable 4538

PAN coordinator or not Basic MAC address ID of association permission node (start, end node) ID of next routing node (first, second node) ispancoordinatornode defaultmacaddr associationpermitstartnodeid, associationpermitendnodeid nexthoproutingfirstnodeid, nexthoproutingsecondnodeid Fig. 1은 Table 2와같이생성된공통속성을이용하여농작물관리시스템의 PIM을설계한일부를보여준다. PIM 설계시에는그림에서 sensor1 노드와같이센서네트워크를구성하는모든노드에대하여공통속성의값을설정해준다. Table 4는 TinyOS[7] 플랫폼을타겟으로하는노드소프트웨어의 PSM 설계를위해생성된종속속성을보여준다. [Table 4] A part of platform-specific attributes for PSM design for TinyOS Platform-specific functions and program elements Attribute Kind of scheduler Scheduler (none, FIFO) Kind of RF RF (BasicMAC, Broadcast, MultiHop) Real Time Clock Clock_Enable TinySec (encryption/decryption) TinySec_Enable Temperature Sensor_Temperature_Enable Kind of sensor Light Humidity Pressure Microphone Sensor_Light_Enable Sensor_Humidity_Enable Sensor_Pressure_Enable Sensor_Mic_Enable 제안하는도구에서, 이러한노드소프트웨어를설계하는데필요한속성들은 XML을통해정의되고, 속성생성기는정의된 XML을이용하여속성을생성한다. 3.2.3 모델작성기 센서네트워크모델을작성할수있도록하는모듈이다. 모델작성기는플랫폼에독립적인 PIM과타겟플랫폼에종속적인 PSM을설계하기위한모듈로구성된다. 모델작성기에서는모든플랫폼에공통적인속성의값에대한설정을통하여 PIM을설계하고, 각플랫폼에종속적인속성의값에대한설정을통하여원하는플랫폼에대한 PSM을설계한다. [Fig. 2] Setting of platform-specific attributes alues for PSM design for Nano- Qplus platform Fig. 2는 Table 3와같이생성된 Nano-Qplus 플랫폼의종속속성을이용하여농작물관리시스템의 PSM을설계한일부를보여준다. 그림에서는 sensor1 노드에대한종속속성의값을설정한것을보여주는데, 이와같은방법으로센서네트워크모델에있는모든클래스에대하여타겟플랫폼에따른종속속성의값을설정함으로써응용소프트웨어의 PSM을설계할수있다. [Fig. 3] Setting of platform-specific attributes alues for PSM design for TinyOS platform [Fig. 1] Setting of common attributes alues for PIM design Fig. 3은 Table 4와같이생성된 TinyOS 플랫폼의종속속성을이용하여농작물관리시스템을위한센서네 4539

한국산학기술학회논문지제 15 권제 7 호, 2014 트워크응용소프트웨어의 PSM을설계한일부를보여준다. 모델작성기는센서네트워크모델을작성하기위하여각노드와노드간의관계를나타내는표기법을제공한다. 이러한표기법을이용하여 Fig.5와같은센서네트워크모델을작성할수있고, 센서네트워크모델을작성하면각노드에대한속성값의설정을통하여 Fig.2과같이 PIM을, Fig.3이나 Fig.4와같이 PSM을설계할수있다. 3.2.4 PIM-to-PSM 속성변환기본논문에서제안하는도구는 PIM과 PSM을설계할때, 속성의값을설정해야한다. 그리고, PSM을설계하기위한속성은 PIM을설계할때설정한속성의값을바탕으로타겟플랫폼에따라생성되어야한다. PIM-to-PSM 속성변환기는 PIM 설계시에설정한속성의값을바탕으로타겟플랫폼을반영하는 PSM을설계할수있도록 PIM의속성을 PSM의속성으로변환시키는모듈이다. 모델작성기를통하여 PIM이설계되면, 설계된 PIM 에대한정보는 XML로저장된다. PIM-to-PSM 속성변환기는 PIM에대한 XML 정보를바탕으로타겟플랫폼에맞는 PSM 속성으로변환시킨다. 즉, PIM-to-PSM 속성변환기는 PIM의설계정보를각플랫폼에해당하는 PSM의속성과연결해주는역할을한다. 3.2.5 설정정보생성기설정정보생성기는 PIM과 PSM 설계시에설정한속성의값에대한정보를생성하는모듈이다. 설정정보생성기에의해생성된 PIM에대한설정정보는 PSM을위한속성생성에사용되고, PSM에대해생성된설정정보는소스코드생성을위한코드템플릿을선택할때에사용된다. 설정정보생성기는모델작성기를통하여설계된 PIM 과 PSM에대한설정정보를 XML 파일로생성한다. 3.2.6 소스코드생성기소스코드생성기는센서네트워크모델에존재하는각노드에대한응용소프트웨어의코드를자동으로생성하는모듈이다. 소스코드생성기는 PSM에대한설정정보와코드템플릿을바탕으로타겟플랫폼에따른응용소프트웨어의코드를생성한다. 소스코드생성기는 PSM에대한설정정보가저장되어있는 XML 파일을분석하여각노드소프트웨어에서필요로하는모듈코드와실행코드를알아내고, 그에맞는코드템플릿을템플릿저장소로부터가져와서통합하여노드소프트웨어에대한소스코드를생성한다. 3.2.7 템플릿저장소템플릿저장소는노드소프트웨어에대한소스코드의생성을위해필요한코드템플릿을저장하는모듈이다. 각운영체제플랫폼이제공하는모듈코드와실행코드를바탕으로설계된코드템플릿을저장한다. 코드템플릿은타겟플랫폼에따라서함수, 클래스, 컴포넌트의형태를가질수있다. 3.2.8 코드편집기코드편집기는소스코드생성기에의해자동으로생성된노드소프트웨어의코드를사용자가편집하고자할때사용한다. 자동으로생성된노드소프트웨어의코드를간단하게수정하거나필요한내용을추가하고자할때코드편집기를통하여편집할수있다. 3.2.9 배포파일생성기최종적으로생성된응용소프트웨어는각센서노드에배포하여설치될수있는파일로만들어져야한다. 배포파일생성기는생성된응용소프트웨어를물리적인센서노드에설치할수있는파일로만들어주는역할을한다. 3.3 노드소프트웨어구축절차센서네트워크를구성하는각노드에설치될응용소프트웨어를구축하기위해서는먼저전체적인센서네트워크모델을작성하고, 각노드소프트웨어에대한 PIM 을설계한후타겟플랫폼에대한 PSM을설계하여, PSM에대한정보와타겟플랫폼에대한코드템플릿을이용하여소스코드를생성한다. 그리고마지막으로응용소프트웨어를각노드에설치할수있는배포파일을만든다. 4540

본논문에서제안하는도구를이용하여노드소프트웨어를구축하는절차를정리하면다음과같다. 1. USN 모델에대한다이어그램을작성한다. 2. 공통속성에대한값을설정한다. (PIM 모델링 ) 3. 타겟플랫폼에따라속성을변환시킨다. (PIM-to-PSM 매핑 ) 4. 플랫폼에종속적인속성의값을설정한다. (PSM 모델링 ) 5. 노드소프트웨어의설정정보를생성한다. 6. 설정정보와코드템플릿을이용하여노드소프트웨어의소스코드를생성한다. 7. 필요한경우소스코드를편집하여보완, 완성한다. 8. 노드소프트웨어의배포파일을생성한다. Fig. 5는 PIM을설계한예를보여준다. PIM을설계하기위해서는모델부분에서해당하는노드를클릭하고, 속성부분에서각속성에대한값을설정하면된다. 4. 사례및평가 4.1 개발도구적용사례본장에서는논문에서제안한도구를개발하여센서네트워크노드소프트웨어를생성한결과를보인다. Fig. 4는개발한도구의전체적인모습을보여준다. 제안하는도구는이클립스플러그인 [17] 으로개발하였다. 도구의왼쪽부분은프로젝트관리를위한부분인데, 하나의센서네트워크모델은하나의프로젝트로, 각각의노드소프트웨어를포함하고있다. 도구의윗부분은비주얼하게센서네트워크모델을작성할수있는부분이며, 아랫부분은각노드소프트웨어의설계를위해필요한속성과그에대한값을설정할수있는부분이다. 도구의메뉴부분에는 PIM, PSM 설계, 설정정보생성, 소스코드생성, 배포파일생성등과같은기능을실행할수있는메뉴들이존재한다. [Fig. 5] An example of the PIM design Fig. 6은 PSM을설계한예를보여준다. PSM은 PIM 을설계하고, 타겟플랫폼을선택한후에설계할수있다. PIM과마찬가지로모델부분에서해당노드를클릭하고, 속성부분에서각속성에대한값을설정하면된다. [Fig. 6] An example of the PSM design [Fig. 4] Screenshot of the tool 4541

한국산학기술학회논문지제 15 권제 7 호, 2014 Fig. 7은 PSM 설계후에설정정보생성기가생성한설정정보의예를보여준다. PSM을설계한후에설정정보생성메뉴를이용하여그림과같이 XML로된설정정보를생성할수있다. 설정정보에는 PIM과 PSM을통해설정한각노드소프트웨어에대한속성과그에대한값이저장되어있다. 트워크소프트웨어개발을위한기존의다른도구들과주요항목을비교한표이다. 앞서살펴본.NET Micro Framework[2], MoteWorks[3], NanoEsto[4], TinyOS Plugin[5] 을본논문에서제안하는도구와여러가지측면에서비교를해보면, 제안하는도구는이클립스플러그인으로개발하기때문에 Windows 와 Linux 환경을모두지원함으로써사용자에게높은융통성을제공하고, 하나의특정플랫폼이아닌여러센서운영체제플랫폼을지원하며, 각각의타겟플랫폼이지원하는언어를사용할수있기때문에타겟플랫폼에따라사용도구를바꿀필요가없으므로활용도가높다. 또한 graphical modeling 을지원하고, 속성설정으로통하여소프트웨어를설계하므로사용자는쉽게소프트웨어를설계할수있으며, 모델설계레벨이네트워크레벨이기때문에센서네트워크를구성하는모든노드에대한소프트웨어설계를한번에수행할수있어개발생산성이증가된다. [Fig. 7] An example of the generated configuration information Fig. 8은설정정보를바탕으로필요한코드템플릿을조합하여생성된노드소프트웨어의소스코드의예를보여준다. 노드소프트웨어코드는센서네트워크운영체제플랫폼의특징에따라객체지향형코드, 함수형코드등으로생성된다. [Table 5] The comparison of the proposed tool with other tools for the deelopment of sensor network software.net Micro Framework Mote Wokrs Nano Esto TinyOS Plugin Language C# nesc C nesc Target OS Platform.NET Micro Framework Proposed Tool C, nesc, etc TinyOS NanoQplus TinyOS Various OS Execution Enironment Linux Linux Linux Graphical Modeling Automated Code Generation Design leel node node node node network [Fig. 8] An example of the generated source code of a node software 4.2 다른도구와의비교평가 Table 5는본논문에서제안하는개발도구와센서네 Number of software designed at a time Design method one one one one many none none point-andclick Compone nt graph attribute setting 4542

5. 결론본논문에서는다양한플랫폼에대한노드소프트웨어를효율적으로개발할수있는속성기반의노드소프트웨어개발지원도구를제안하였다. 논문에서제안하는도구를사용하면, 플랫폼에독립적인모델로부터다양한플랫폼을위한응용소프트웨어를개발할수있으며, 단순한속성값의설정을통하여모델을설계하므로속성의의미만알고있으면손쉽게응용소프트웨어를설계할수있다. 또한센서네트워크모델에포함되어있는모든노드들에대한응용소프트웨어를한번에설계하고생성할수있어생산성이증가된다. 본논문에서는노드소프트웨어의효율적인개발을위한도구를제안하였는데, 향후에는개발된노드소프트웨어들의실행을모니터링하고유지보수를위해실시간으로노드소프트웨어를업데이트하는방안을연구하여, 개발뿐만이아니라유지보수의효율성도높일수있는연구를진행할예정이다. References [1] C. Buratti, A. Conti, D. Dardari, R. Verdone, An Oeriew on Wireless Sensor Networks Technology and Eolution, Sensors, ol. 9, no. 8, pp. 6869-6896, Aug. 2009. DOI: http://dx.doi.org/10.3390/s90906869 [2] D. Thompson, C. Miller, Introducing the.net Micro Framework, Microsoft, 2007. [3] "MoteWorks Getting Started Guide," http://www.memsic.com.cn/index.php?option=com_phocadown load&iew=category&download=270%3amoteworks-getti ng-started-guide&id=6%3auser-manuals&itemid=86&lan g=zh, 2013. [4] I. Chun, C. Lim, NanoEsto Debugger:The Tiny Embedded System Debugger, In Proceedings of the 8th International Conference on Adanced Communication Technology(ICACT), 2006. [5] Yeti 2 - TinyOS 2 Plugin for Eclipse," http://tos-ide.ethz.ch, 2013. [6] K. Lee, Y. Shin, H. Choi, S. Park, A Design of Sensor Network System based on Scalable & Reconfigurable Nano-OS Platform, In Proceedings of the IT SoC Conference, 2004. [7] J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, Kristofer Pister, System architecture directions for network sensors, In Proceedings of the 9th International Conference on Architectural for Programming Languages and Operating Systems (ASPLOS), 2000. [8] C. Han, R. Rengaswamy, R. Shea, E. Kohler, M.Sriastaa, SOS: A dynamic operating system for sensor networks, In Proceedings of the Third International Conference on Mobile Systems, Applications, And Serices (Mobisys), 2005. [9] S. Bhatti, J. Carlson, H. Dai, J. Deng, J. Rose, A.Sheth, B. Shucker, C. Gruenwald, A. Torgerson, R.Han, MANTIS OS: An Embedded Multithreaded Operating System for Wireless Micro Sensor Platforms, ACM/Kluwer Mobile Networks & Applications, Special Issue on Wireless Sensor Networks, ol. 10, no. 4, pp. 563-579, 2005. [10] A. Dunkels, B. Grönall, T. Voigt, Contiki - a Lightweight and Flexible Operating System for Tiny Networked Sensors, In Proceedings of the First IEEE Workshop on Embedded Networked Sensors (EmNets), 2004. DOI: http://dx.doi.org/10.1109/lcn.2004.38 [11] L. Gu, J. Stankoic, t-kernel: Proide Reliable OS for Wireless Sensor Networks, In Proceedings of the 4th ACM Conference on Embedded Networked Sensor Systems (Sensys), 2006. DOI: http://dx.doi.org/10.1145/1182807.1182809 [12] Q.Cao, T. Abdelzaher, J. Stankoic, T. He, The LiteOS Operating System: Towards Unix-Like Abstractions for Wireless Sensor Networks," In Proceedings of the 7th International Conference on Information Processing in Sensor Networks, 2008. [13] A. Eswaran, A. Rowe, R. Rajkumar, Nano-RK: an energy -aware resource-centric RTOS for sensor networks, In Proceedings of the 26th IEEE International Real-Time Systems Symposium (RTSS), 2005. DOI: http://dx.doi.org/10.1109/rtss.2005.30 [14] A. Kleppe, J. Warmer, W. Bast, The Model Drien Architecture: Practice and Promise, Addison-Wesley, 2003. [15] attribute-based programming, http://webopedia.com/term/a/attribute_based_ programming.html [16] G. Wasson, M. Humphrey, Attribute-based programming for grid serices, In Proceedings of the GGF9 Workshop on Designing and Building Grid Serices, 2003. [17] Eric Clayberg, Dan Rubel, eclipse Plug-ins, 3rd edition, Addison Wesley, 2008. 4543

한국산학기술학회논문지제 15 권제 7 호, 2014 이우진 (Woo-Jin Lee) [ 정회원 ] 2002 년 2 월 : 숭실대학교대학원 ( 컴퓨터공학석사 ) 2007 년 2 월 : 숭실대학교대학원 ( 컴퓨터공학박사 ) 2009 년 3 월 현재 : 세종대학교정보통신공학과초빙교수 < 관심분야 > 유비쿼터스컴퓨팅, 모바일컴퓨팅, 소프트웨어개발 최일우 (Il-Woo Choi) [ 정회원 ] 1997 년 2 월 : 숭실대학교대학원 ( 컴퓨터공학석사 ) 2004 년 2 월 : 숭실대학교대학원 ( 컴퓨터공학박사 ) 2007 년 3 월 현재 : 강남대학교교양학부교수 < 관심분야 > 개발프로세스, 재사용, SOA, USN, 모바일컴퓨팅 4544