﻿<?xml version="1.0" encoding="utf-8"?>
<ArticleSet>
  <ARTICLE>
    <Journal>
      <PublisherName>مرکز منطقه ای اطلاع رسانی علوم و فناوری</PublisherName>
      <JournalTitle>فصلنامه مهندسی برق و مهندسی کامپيوتر ايران</JournalTitle>
      <ISSN>16823745</ISSN>
      <Volume>8</Volume>
      <Issue>2</Issue>
      <PubDate PubStatus="epublish">
        <Year>2010</Year>
        <Month>6</Month>
        <Day>21</Day>
      </PubDate>
    </Journal>
    <ArticleTitle>Simplify Programming of TinyOS Applications for Wireless Sensor Networks</ArticleTitle>
    <VernacularTitle>ساده‏ سازی برنامه‏نویسی در سیستم عامل TinyOS مورد استفاده در شبکه حس‏گر بی‏سیم</VernacularTitle>
    <FirstPage>145</FirstPage>
    <LastPage>150</LastPage>
    <ELocationID EIdType="doi" />
    <Language>fa</Language>
    <AuthorList>
      <Author>
        <FirstName>سیدمیثم</FirstName>
        <LastName>خضری</LastName>
        <Affiliation></Affiliation>
      </Author>
      <Author>
        <FirstName>مهدی</FirstName>
        <LastName>آقاصرام</LastName>
        <Affiliation></Affiliation>
      </Author>
      <Author>
        <FirstName>فضل‌اله</FirstName>
        <LastName>اديب‌نيا</LastName>
        <Affiliation></Affiliation>
      </Author>
    </AuthorList>
    <History PubStatus="received">
      <Year>2015</Year>
      <Month>11</Month>
      <Day>25</Day>
    </History>
    <Abstract>Sensor node operating system provides a limited number of common services for developers to construct applications for wireless sensor networks. The sensor network community selected TinyOS as the de facto standard with most existing applications, libraries and device drivers available for TinyOS. The programming model of TinyOS is event-based and is not easy to use. In this paper, we present a new task scheduler for TinyOS that includes a new computation concept, named Job. Jobs are a collaborative and non-preemptive way of multitasking. On the next step, we propose a programming model which combines the asynchronous basis of event-driven systems with a more classical programming interface for the developer. As a result, developer that uses such an interface in his application will be provided with the sequential view we wanted. This programming model is suitable for applications that have long running computations and there is a data flow dependency between different tasks.</Abstract>
    <OtherAbstract Language="FA">سيستم عامل TinyOS به‌عنوان پرکاربردترين سيستم عامل گره حس‌گر بي‌سيم، داراي مدل برنامه‌نويسي مبتني بر رويداد است. برنامه‏نویسی مبتنی بر رویداد مستلزم استفاده از ماشین حالات است که برنامه‏نویس را ملزم به مدیریت دستی پشته برنامه می‏کند. به‌همین دلیل پياده‌سازي پردازش‌هاي طولاني در سيستم‌هاي مبتني بر رويداد مانند TinyOS دشوار می‏باشد. در این مقاله سعی کرده‏ایم با ايجاد تغييراتي در زمان‌بند TinyOS، انتزاع برنامه‏نویسی جدیدی برای این سیستم عامل ارائه کنیم که پياده‌سازي پردازش‌هاي طولاني را در آن ساده‌تر مي‌کند و به توسعه‌دهنده برنامه کاربردی امکان کدنویسی رویه‏ای و چندریسه‏ای را می‏دهد. تغییرات در زمان‏بند TinyOS به‌نحوی انجام شده که با برنامه‏های کاربردی قبلی نیز سازگاری داشته باشد. نتایج ارزیابی در یک کاربرد نمونه نشان می‏دهد که از نظر توان مصرفی مدل پیشنهادی تفاوت چندانی با مدل قبلی ندارد، هرچند سربار حافظه مصرفی و سربار پردازشی آن نسبت به مدل قبلی بیشتر است.</OtherAbstract>
    <ObjectList>
      <Object Type="Keyword">
        <Param Name="Value">برنامه‏نویسی چندریسه‏ای
برنامه‏نویسی مبتنی بر رویداد
سیستم عامل
گره حس‏گر بی‏سیم
TinyOS</Param>
      </Object>
    </ObjectList>
    <ArchiveCopySource DocType="Pdf">http://ijece.org/en/Article/Download/27982</ArchiveCopySource>
  </ARTICLE>
</ArticleSet>