Journal of the Korea Academia-Industrial cooperation Society Vol. 15, No. 1 pp. 441-448, 2014 http://dx.doi.org/10.5762/kais.2014.15.1.441 USN 멀티플랫폼을위한노드소프트웨어개발을지원하는속성설계기법 이우진 1, 최일우 2, 김주일 3* 1 세종대학교정보통신공학과, 2 강남대학교교양학부, 3 지아이티 GDS 진단팀 The Attributes Design Technique to Support Node Software Deelopment for USN Multi-Platform Woo-Jin Lee 1, Il-Woo Choi 2 and Ju-Il Kim 3* 1 Dept. of Information and Communication Engineering, Sejong Uniersity 2 Diision of General Studies, Kangnam Uniersity 3 GDS Diagnostic Team, GIT 요약 USN(Ubiquitous Sensor Network) 응용소프트웨어는다양한대상운영체제의핵심모듈들을기반으로, 다양한종류의센서노드들을유기적으로제어하는복잡한특징을가진다. 이에따라, 현재 USN 응용분야에서는효율적으로소프트웨어를개발하기위한다양한연구가진행되고있다. 본논문에서는센서네트워크환경에서하나의모델로부터여러플랫폼에맞는노드소프트웨어를효율적으로개발하기위한속성기반개발을지원하는속성설계기법을제시한다. 제시된기법에서는 Platform Independent Model과 Platform Specific Model을만들기위한속성을설계하는방법을기술한다. 본논문에서제시하는기법을사용하면, 속성값의선택을통하여멀티플랫폼을위한노드소프트웨어를손쉽게디자인함으로써소프트웨어개발생산성은증대된다. 또한운영체제의변화에따라속성변경을통하여노드소프트웨어를쉽게재생성할수있으므로, 소프트웨어의유지보수성이향상된다. Abstract USN(Ubiquitous Sensor Network) application software has a characteristic that it controls a ariety of sensor nodes based on the arious target operating systems. Accordingly, many researches for efficient deelopment of USN application software are being performed. In this paper, the attributes design technique to support attribute-based deelopment of USN node software for multi-platform is proposed. In the proposed technique, the method to design attributes for modeling Platform Independent Model and Platform Specific Model is presented. When using the proposed technique, productiity of software deelopment will be increased because node software design for multi-platform is easily performed by selecting alues of attributes. Also, maintainability of software will be increased because node software is easily regenerated by changing attributes according to the changes of operating systems. Key Words : Attributes design, Multi-platform, Node software, Ubiquitous sensor network 1. 서론 센서네트워크 [1] 는저전력, 초경량의센서들로구성된네트워크로사물과주변환경을감지하여사용자에게정보를전달해줌으로써, 사용자들은센서네트워크를통 하여언제, 어디서나정보를전달받을수있는 USN(Ubiquitous Sensor Network) 환경을구축할수있으며다양한분야에서연구, 개발되어지고있다. 센서네트워크를구성하는노드들은저전력, 초경량으로여러가지제약사항을가지므로노드소프트웨어는 * Corresponding Author : Ju-Il Kim(GIT) Tel: +82-10-3473-0382 email: sespop@empal.com Receied July 31, 2013 Reised (1st September 24, 2013, 2nd Noember 1, 2013) Accepted January 9, 2014 441
한국산학기술학회논문지제 15 권제 1 호, 2014 이러한제약사항을고려하여개발해야한다. 또한노드소프트웨어는운영체제를기반으로개발되는데센서네트워크운영체제는여러종류가존재하므로, 노드소프트웨어는타겟운영체제의종류또한고려되어야한다. 이와같이여러제약사항및다양한운영체제를고려하여소프트웨어를개발하는것은매우번거로운일이다. 이를극복하기위한여러방법들 [2-6] 이연구되어있으나, 기존방법은여러운영체제에따라각기서로다른기법을사용하여야하므로효율적이지못하다. 본논문에서는플랫폼에따라서로다른기법을통하여응용소프트웨어를개발하는기존방법들의한계점을극복하기위하여, 하나의모델로부터여러플랫폼에맞는응용소프트웨어를개발하기위한 MDA(Model Drien Architecture) 와응용소프트웨어를편리하게개발하기위한속성기반개발개념을적용한개발방법을지원하는속성설계기법을제시한다. 2. 관련연구 2.1 센서네트워크운영체제플랫폼 현센서네트워크운영체제플랫폼은센서노드가가지는자원의제약을극복하고다양한분야에서의응용소프트웨어에대한개발을지원하며, 운영체제가가지는전반적인기능을포함하도록발전하였고, 그종류또한다양해졌다. 이러한센서네트워크운영체제플랫폼은센서네트워크응용소프트웨어를개발하는데매우중요한역할을한다. 센서네트워크응용소프트웨어는운영체제의모듈과운영체제의모듈을사용하는응용코드가합쳐져서개발된다. 따라서센서네트워크응용소프트웨어를개발하는경우에는타겟운영체제플랫폼이제공하는기능을포함하도록설계하고코드를생성해야한다. 센서네트워크응용소프트웨어개발에사용되는주요운영체제플랫폼으로는 Nano-Qplus[7], TinyOS[8], SOS[9], MANTIS[10], Contiki[11], t-kernel[12], LiteOS[13], Nano-RK[14] 등이있다. 2.2 MDA MDA(Model Drien Architecture)[15] 는지속적으로변화하는기술상황에따라시스템을기술변화에맞게통합, 변화, 유지하는문제를해결하기위하여 OMG (Object Management Group) 가제시한소프트웨어아키텍처이다. MDA는시스템의설계와명세를정형화된모 델로기술플랫폼과분리하여기술하도록하며, 실제구현과관련된모델은매핑을통해서기술플랫폼에독립적으로기술된모델을변환하여생성하도록한다. MDA 기반개발방법에서는개발하고자하는시스템에대한 PIM(Platform Independent Model) 을작성하고, PIM을바탕으로특정플랫폼에특화된 PSM(Platform Specific Model) 을생성하여 PSM으로부터해당플랫폼을기반으로하는응용소프트웨어를구현할수있도록한다. 이와같은특징을가지는 MDA 기반개발방법을이용하여응용시스템을개발하면, 기반기술이변화하더라도 PIM 변환을통해해당기술변화에대응하는 PSM을생성함으로써시스템을보다효율적으로유지할수있다. 이렇듯하나의시스템을 PIM과 PSM으로기술하는것은좀더유연하고생산성높은모델수준의시스템통합을가능하게한다. 본논문에서는멀티플랫폼을위한센서네트워크응용소프트웨어를개발하기위하여 MDA 개발개념을적용한다. 2.3 속성기반프로그래밍속성기반프로그래밍은응용소프트웨어코드작성시에속성을이용하여 meta-data를추가하여, 실행시에동적으로 meta-data의값을변경하도록함으로써코드를직접변경하거나재컴파일을하지않고응용소프트웨어를재구성할수있도록하는프로그래밍방법이다 [16]. 또한프로그램의추상화수준을높이는방법으로, 개발자들이속성을이용하여프로그램을작성하면구현시에속성의값에따라프로그램코드가삽입되도록함으로써개발자들이쉽게프로그램을작성하도록한다 [17]. Visual C++ 에서도이러한속성기반프로그래밍기법을이용하여생성된 Object 파일에코드를삽입하거나변경할수있도록한다 [18]. 센서네트워크응용소프트웨어개발기법인 SPIDEY[3] 에서는논리적인이웃을정의하기위하여속성기반프로그래밍방법을사용하기도한다. 그러나속성기반의프로그래밍방법에서는속성과그값을프로그램작성시직접넣어줘야하므로속성이많아지는경우에는프로그램의복잡성이증가한다는단점이있다. 본논문에서는이러한속성기반프로그래밍방법이가지는단점을보완하여좀더쉽게속성을활용할수있는방법을제시한다. 본논문에서적용한속성기반개발방법은기존의속성기반프로그래밍과는달리센서운영체제가제공하는기능과연결된속성을미리정의하여, 개발자가프로그램작성시에속성과그값을직접넣어 442
USN 멀티플랫폼을위한노드소프트웨어개발을지원하는속성설계기법 주는것이아니라, 노드소프트웨어설계시에미리정의된속성에대한값을선택하기만하면그값에따라운영체제가제공하는모듈이선택되고소프트웨어코드가자동으로생성되도록한다. 3. 속성설계 본논문에서제안하는속성설계기법은멀티플랫폼을위한센서네트워크응용소프트웨어를효율적으로개발할수있는개발방법을지원한다. Fig. 1은멀티플랫폼을위한속성기반의센서네트워크응용소프트웨어개발방법의개념을나타낸다. 센서네트워크를위한운영체제플랫폼은매우다양하므로개발자는플랫폼에독립적인모델인 PIM을설계하고, PIM 은플랫폼및노드의특성에따른 PSM으로변환되어야한다. 이과정에서미리정의한노드특성에따른독립적혹은종속적속성값을선택하고이속성을기반으로 PIM모델을플랫폼특성을반영한 PSM모델로변환되도록지원한다. [Fig. 1] The concept of the attribute-based sensor network software deelopment for multi-platform 속성을기반으로센서네트워크응용소프트웨어를설계하므로, 이를위한속성을설계해야한다. 속성설계시먼저운영체제플랫폼의기능을도출하고, 도출된기능을바탕으로센서네트워크응용소프트웨어의설계를위한공통속성과종속속성을설계한다. 3.1 플랫폼기능도출 기능도출은개발할센서네트워크응용소프트웨어가수행될주요운영체제플랫폼들이제공하는기능을도출하는것으로, 이러한기능은센서네트워크응용소프트웨어의개발을위한속성을설계하기위해필요하다. 기능도출은여러운영체제플랫폼들이공통적으로제공하는기능과특정운영체제플랫폼에서만제공하는운영체제종속적인기능을분리하여도출한다. 플랫폼독립적인기능과플랫폼종속적인기능은 Table 1과같은운영체제의종류와기능에대한매트릭스를이용하여도출한다. [Table 1] Platform function extraction matrix Platform OS #1 OS #2 OS #3 OS #4 OS #n Function Function #1 Fs Function #2 Fs Function #3 Fi Function #4 Fs Function #n Fi Fi = OSf1 OSf2 OSf3... OSfn Fi: Common function Fs: Platform-specific function 3.2 공통속성설계 공통속성설계의목적은센서네트워크응용소프트웨어의 PIM을설계하는데필요한속성을설계하기위한것으로, 여러운영체제들이제공하는공통된기능을응용소프트웨어에포함시키기위해필요한속성과플랫폼과상관없이센서네트워크응용소프트웨어의개발을위해필요한요소를설정하기위한속성을설계한다. 이러한공통속성은센서네트워크응용소프트웨어를생성하기위해서필요한기본적인속성이라고할수있다. 센서네트워크응용소프트웨어의공통된기능을설정하기위한속성은플랫폼기능도출기법을통하여도출한공통된기능을바탕으로설계한다. 또한플랫폼과상관없이센서네트워크응용소프트웨어의개발을위해공통적으로필요한요소들을설정하기위한속성을생성하기위해서는운영체제의기능과상관없이응용소프트웨어의설계를위해필요한요소들을찾아내고, 각각의요소를표현하기위한속성을정의한다. 공통속성설계방법을정리하면다음과같다. CA.1 운영체제의기능을선택하기위한공통속성은운영체제들의공통기능으로부터도출 CA.2 해당기능을포함할것인지, 포함하지않을것인지를결정하기위한속성은 기능이름 _Enable 과같은명칭으로정의 [ 예 ) Timer 기능 의포함여부를결정하기위한속성은 Timer_Enable 로정의 ] CA.3 해당기능에대하여선택옵션이있는경우, 속성은 기능이름 으로명칭을정의, 옵션을속성의선택값으로정의 443
한국산학기술학회논문지제 15 권제 1 호, 2014 CA.3.1 옵션을선택하지않아도되는경우, none 옵션을정의 CA.3.2 옵션을여러가지선택해도되는경우, 선택가능한모든경우를옵션으로정의 [ 예 ) printf와 scanf의 UART 기능중에서필요한것을사용하거나필요하지않으면사용하지않아도되는경우, 속성명을 UART로, 옵션은 none, printf, scanf, printf&scanf로정의 ] CA.4 센서네트워크응용소프트웨어의개발을위해공통적으로필요한요소의값을설정하기위해서는이를위한공통속성을정의. 속성의명칭은개발요소의의미를명확히알수있도록정의 [ 예 ) 노드의종류를설정하기위한속성은 nodetype으로, 노드의 ID를설정하기위한속성은 nodeid로정의 ] CA.5 각속성의유형을결정 ADC: 데이터감지와관련된속성유형 PSS: 플랫폼에따라옵션이달라지는속성유형 COM: ADC, PSS를제외한공통속성유형 3.3 종속속성설계종속속성의설계의목적은센서네트워크응용소프트웨어의 PSM 작성을위한속성을설계하는것으로, 각운영체제에종속된기능을응용소프트웨어에포함시키기위해필요한속성과센서네트워크응용소프트웨어의개발을위해필요한운영체제종속적인요소를설정하기위한속성을설계한다. 센서네트워크응용소프트웨어의플랫폼종속적인기능을설정하기위한속성은플랫폼기능도출기법을통하여도출한플랫폼종속적인기능을바탕으로설계한다. 또한센서네트워크응용소프트웨어의개발을위해필요한운영체제종속적인요소들을설정하기위한속성을생성하기위해서는운영체제종속적인프로그램개발요소를찾아내고, 각각의요소를표현하기위한속성을정의한다. 플랫폼종속적인속성의설계방법을정리하면다음과같다. SA.1 특정운영체제의기능을선택하기위한종속속성은해당운영체제의기능으로부터도출 SA.2 해당기능을포함할것인지, 포함하지않을것인지를결정하기위한속성은 기능이름 _Enable 과같은명칭으로정의 (CA.2와같은방법 ) SA.3 해당기능에대하여선택옵션이있는경우, 속성은 기능이름 으로명칭을정의, 옵션을속성의선택값으로정의 (CA.3과같은방법 ) SA.3.1 옵션을선택하지않아도되는경우에는 none 옵션을정의 SA.3.2 옵션을여러가지선택해도되는경우, 선택가능한모든경우를옵션으로정의 SA.4 운영체제에종속적인프로그램개발요소의값을설정하기위해서종속속성정의. 속성의명칭은개발요소의의미를명확히알수있도록정의 (CA.4와같은방법 ) SA.5 각속성유형결정. 종속속성은각운영체제별로정의 ADC: 데이터감지와관련된속성유형 SEN: 센서역할과관련된속성유형 ACT: 엑츄에이터역할과관련된속성유형 ROU: 라우터역할과관련된속성유형 SIN: 싱크역할과관련된속성유형 PSS: 플랫폼에따라옵션이달라지는속성유형 PS: ADC, ACT, ROU, SIN, PSS를제외한플랫폼에종속적인속성유형 4. 적용사례 본논문에서는적용사례로써 Nano-Qplus[7] 와 TinyOS[8] 두개의플랫폼을위한속성설계를수행하고, 속성의값을설정하여농작물관리시스템의 PIM과 PSM 을설계하는예를보인다. [Table 2] Platform function extraction Function Platform 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는시스템구성을위한 Nano-Qplus와 TinyOS 플랫폼의기능도출의결과를보여준다. 두개의플랫폼 444
USN 멀티플랫폼을위한노드소프트웨어개발을지원하는속성설계기법 모두체크가된기능은공통된기능이며, 한쪽에만체크된기능은플랫폼종속기능이된다. Table 3은도출한플랫폼의공통기능으로부터 PIM을설계하기위해필요한공통속성을정의한결과를보여준다. 능도출을통해식별한종속기능을바탕으로공통속성의설계방법과같은방법을이용하여 TinyOS 플랫폼에서실행될응용소프트웨어에대한 PSM 설계를위한종속속성을정의하였다. [Table 3] Common attributes Common functions and program elements Attribute Type Node name nodename COM Node identifier nodeid COM Type of node nodetype COM Scheduling Scheduler_Enable PSS RF communication RF_Enable PSS Timer Timer_Enable COM ADC (sensing) ADC_Enable ADC UART UART (none, printf, scanf, printf&scanf) COM EEPROM read/write EEPROM_Enable COM LED LED_Enable COM 공통속성설계방법을적용하여각기능의포함여부를결정하기위한속성은 _Enable 을붙였으며, 옵션이있는속성은옵션기능을옵션명으로정의하였으며, 공통된프로그램요소는그내용을알수있도록명칭을정의하였다. 또한각속성에대한유형을정의하였다. Table 4는 Nano-Qplus 플랫폼을위한종속속성을설계한결과를보여준다. 기능도출을통해식별한종속기능을바탕으로공통속성의설계방법과같은방법을이용하여 Nano-Qplus 플랫폼에서실행될응용소프트웨어에대한 PSM 설계를위한종속속성을정의하였다. [Table 5] A part of platform-specific attributes for TinyOS Platform-specific functions and program Attribute Type elements Kind of scheduler Scheduler (none, FIFO) PSS Kind of RF RF (BasicMAC, Broadcast, MultiHop) PSS Real Time Clock Clock_Enable PS TinySec (encryption/decryption) TinySec_Enable PS Kind of sensor Temperature Sensor_Temperature_Enable ADC Light Sensor_Light_Enable ADC Humidity Sensor_Humidity_Enable ADC Pressure Sensor_Pressure_Enable ADC Microphone Sensor_Mic_Enable ADC Fig. 2는 Table 3에서정의한공통속성을이용하여농작물관리시스템의 PIM을설계한일부를보여준다. PIM 설계시에는그림에서 sensor1 노드와같이센서네트워크를구성하는모든노드에대하여공통속성의값을설정해준다. [Table 4] A part of platform-specific attributes for Nano-Qplus Platform-specific functions and program elements Kind of scheduler Kind of RF Attribute Scheduler (none, FIFO, PreemptionRR) RF (Simple, IEEE802.15.4MAC, StarMesh) Type PSS PSS Temperature Sensor_Temperature_Enable ADC Kind of sensor Light Sensor_Light_Enable ADC Humidity Sensor_Humidity_Enable ADC PAN coordinator or not ispancoordinatornode ROU Basic MAC address defaultmacaddr PS ID of association permission node (start, end node) ID of next routing node (first, second node) associationpermitstartnodeid, associationpermitendnodeid nexthoproutingfirstnodeid, nexthoproutingsecondnodeid PS ROU [Fig. 2] Setting of common attributes alues for PIM design Table 5는 TinyOS 플랫폼을위한종속속성을설계한결과를보여준다. Nano-Qplus 플랫폼과마찬가지로, 기 [Fig. 3] Setting of platform-specific attributes alues for PSM design for Nano-Qplus platform 445
한국산학기술학회논문지제 15 권제 1 호, 2014 Fig. 3은 Table 4에서정의한 Nano-Qplus 플랫폼의종속속성을이용하여농작물관리시스템의 PSM을설계한일부를보여준다. 그림에서는 sensor1 노드에대한종속속성의값을설정한것을보여주는데, 이와같은방법으로센서네트워크모델에있는모든클래스에대하여타겟플랫폼에따른종속속성의값을설정함으로써응용소프트웨어의 PSM을설계할수있다. Fig. 4는 Table 5에서정의한 TinyOS 플랫폼의종속속성을이용하여농작물관리시스템을위한센서네트워크응용소프트웨어의 PSM을설계한일부를보여준다. [Fig. 4] Setting of platform-specific attributes alues for PSM design for TinyOS platform 보여준다. Fig. 3과같이속성설정을통하여특정운영체제에대한 PSM을설계하면, Fig. 5와같이각운영체제가제공하는모듈을조합하여소프트웨어코드를자동으로생성할수있다. 지금까지본논문에서제안하는속성설계기법을이용한속성기반의센서네트워크노드소프트웨어개발방법을사례연구로살펴보았다. 본논문에서는사례연구로 Nano-Qplus와 TinyOS 운영체제에대해서속성을설계하고, 설계한속성을기반으로노드소프트웨어의모델을작성하고코드를생성하는것을보였지만, 다른운영체제에대해서도같은방식을적용하여노드소프트웨어를생성할수있다. 적용하고자하는센서운영체제가있다면, 본논문에서제안하는속성설계기법을이용하여공통속성과종속속성을설계하고, 설계한속성과각운영체제가제공하는모듈을연결시킨후, 모델설계시에설정한속성의값에따라해당모듈을선택하고조합함으로써노드소프트웨어의코드를생성할수있다. 센서노드소프트웨어는각운영체제가제공하는모듈을이용하여생성되기때문에속성과운영체제의모듈을연결시켜놓으면, 운영체제가어떤언어로개발되어있든지운영체제가개발된언어로노드소프트웨어를생성할수있다. 5. 결론 [Fig. 5] Generated source code of sensor1 node software for Nano-Qplus platform Fig. 5는 Fig. 3과같이설계한 Nano-Qplus 운영체제에서동작하는센서노드에대한소프트웨어생성결과를 기존에센서네트워크응용소프트웨어를쉽고빠르게개발하기위한여러방법들이연구되었으나, 기존의방법들은특정운영체제플랫폼을위한응용소프트웨어만개발가능하고, 소프트웨어설계시상위수준의프로그램을직접작성해야하며, 플랫폼의기능이변경되면프로그램을다시작성해야한다는한계점을가지고있다. 이러한기존연구의한계점을해결하기위하여, 본논문에서는모델로부터여러플랫폼에맞는센서네트워크응용소프트웨어를효율적으로개발하기위한방법으로 MDA의개념을적용하고속성기반프로그래밍의개념을확장하여응용소프트웨어를개발하는속성기반개발방법을지원하기위한속성설계기법을제안하였다. 본논문에서는 PIM과 PSM을모델링하기위한속성을설계하는방법을기술하였으며, 사례연구로써제안한방법을이용하여멀티플랫폼을위한노드소프트웨어를개발하기위한속성을설계하고설계한속성을이용하여효율적으로 PIM과 PSM을모델링하는과정을보였다. 본논문에서제안하는기법은, 센서네트워크응용소프트웨어의개발생산성을향상시킨다. 센서네트워크에 446
USN 멀티플랫폼을위한노드소프트웨어개발을지원하는속성설계기법 는수많은노드들이존재하고센서네트워크응용소프트웨어는각노드마다개발되어야하므로, 수많은응용소프트웨어를쉽고빠르게개발할필요가있다. 제안기법의속성을이용하여다양한플랫폼을위한센서네트워크응용소프트웨어를쉽고빠르게설계할수있으므로효율적이다. 또한, 센서네트워크응용소프트웨어의유지보수성을향상시킨다. 센서네트워크시스템을효율적으로관리하기위해서는센서네트워크의수행을위한수많은응용소프트웨어의유지보수가중요하다. 제안하는기법에서는센서네트워크플랫폼에변화가생기거나새로운플랫폼이추가되면, 그에따라속성을변경하거나새로운속성을설계하여추가하고간단하게속성값의설정을통하여응용소프트웨어코드를재생성할수있으므로유지보수성이향상된다. References [1] I. F. Akyildiz, W. L. Su, Y. Sankarasubramaniam, and E. Cayirci, A surey on sensor networks, IEEE Communications Magazine, ol. 40, no. 8, pp102-114, Aug. 2002. DOI: http://dx.doi.org/10.1109/mcom.2002.1024422 [2] M. Welsh, G. Mainland, Programming sensor networks using abstract regions, In Proceedings of the 1st USENIX/ACM Symposium on Networked Systems Design and Implementation (NSDI 04), 2004. [3] L. Mottola, G. P. Picco, Logical neighborhoods: A programming abstraction for wireless sensor networks, In Proceedings of the 2nd International Conference on Distributed Computing in Sensor Systems(DCOSS 06), 2006. [4] S. Madden, M. J. Franklin, J. M. Hellerstein, The design of an acquisitional query processor for sensor networks, In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD 03), 2003. DOI: http://dx.doi.org/10.1145/872757.872817 [5] L. Mottola, G. P. Picco, Programming Wireless Sensor Networks with Logical Neighborhoods: A Road Tunnel Use Case, In Proceedings of the 5th ACM International Conference on Embedded Networked Sensor Systems (SENSYS07), 2007. DOI: http://dx.doi.org/10.1145/1322263.1322311 [6] R. Gummadi, O. Gnawali, R. Goindan, Macroprogramming wireless sensor networks using Kairos, In Proceedings of the 1st International Conference on Distributed Computing in Sensor Systems (DCOSS 05), 2005. [7] 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. [8] 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 Support for Programming Languages and Operating Systems (ASPLOS), 2000. [9] 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. [10] 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. DOI: http://dx.doi.org/10.1007/s11036-005-1567-8 [11] 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 [12] L. Gu, J. Stankoic, t-kernel: Proide Reliable OS Support 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 [13] 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. [14] 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 [15] A. Kleppe, J. Warmer, W. Bast, The Model Drien 447
한국산학기술학회논문지제 15 권제 1 호, 2014 Architecture: Practice and Promise, Addison-Wesley, 2003. [16] attribute-based programming, http://webopedia.com/term/a/attribute_based_ programming.html [17] G. Wasson, M. Humphrey, Attribute-based programming for grid serices, In Proceedings of the GGF9 Workshop on Designing and Building Grid Serices, 2003. [18] Visual C++ Attributed Programming Concepts," http://msdn.microsoft.com/en-us/library/zkwy014e(vs.80 ).aspx 김주일 (Ju-Il Kim) [ 정회원 ] 2006 년 2 월 : 숭실대학교대학원 ( 컴퓨터공학석사 ) 2010 년 2 월 : 숭실대학교대학원 ( 컴퓨터공학박사 ) 2011 년 8 월 ~ 현재 : 지아이티 GDS 진단팀책임연구원 < 관심분야 > 유비쿼터스컴퓨팅, 임베디드시스템, 모바일컴퓨팅 이우진 (Woo-Jin Lee) [ 정회원 ] 2002 년 2 월 : 숭실대학교대학원 ( 컴퓨터공학석사 ) 2007 년 2 월 : 숭실대학교대학원 ( 컴퓨터공학박사 ) 2009 년 3 월 ~ 현재 : 세종대학교정보통신공학과초빙교수 < 관심분야 > 유비쿼터스컴퓨팅, 모바일컴퓨팅, 소프트웨어개발 최일우 (Il-Woo Choi) [ 정회원 ] 1997 년 2 월 : 숭실대학교대학원 ( 컴퓨터공학석사 ) 2004 년 2 월 : 숭실대학교대학원 ( 컴퓨터공학박사 ) 2007 년 3 월 ~ 현재 : 강남대학교교양학부교수 < 관심분야 > 개발프로세스, 재사용, SOA, USN, 모바일컴퓨팅 448