محمد جهانسیر

استفاده از مؤلفه های مبتنی بر چهارچوب،به منظور توسعه نرم افزار کاربردی شبکه های حسگرمطلوب است.مؤلفه های چهارچوب عملکرد(کارایی)تک حسگرها،گره های حسگر و کل شبکه حسگر را تأمین می کند.برنامه های کاربردی با توجه به این مؤلفه ها در حسگرهای برنامه کاربردی و ...» بقیه در ادامه مطلب

4-مهندسی نرم افزار

استفاده از مؤلفه های مبتنی بر چهارچوب،به منظور توسعه نرم افزار کاربردی شبکه های حسگرمطلوب است.

مؤلفه های چهارچوب عملکرد(کارایی)تک حسگرها،گره های حسگر و کل شبکه حسگر را تأمین می کند.برنامه های کاربردی با توجه به این مؤلفه ها در حسگرهای برنامه کاربردی و شبکه کاربردی رده بندی شده اند.

برنامه کاربردی حسگر همان خوبی انباره محلی داده ها عمل اندازه گیری و بازخوانی بدون ایراد حسگر را انجام می دهد.(برنامه کاربردی حسگر آنقدر کامل و بی عیب اندازه گیری و بازخوانی یک حسگر را انجام می دهد که گویا از طریق انباره ی محلی داده ها انجام می شود.).دسترسی کامل به سخت افزار او را قادر به دسترسی مستقیم به سیستم عامل می کند.دسترسی به شبکه غیرممکن است.برنامه کاربردی حسگر،توابع پایه اساسی گره حسگر محلی را که ممکن است توسط برنامه کاربردی گره حسگر مورد استفاده قرار گیرد را تأمین می کند.

برنامه کاربردی گره شامل تمام وظایف مشخص برنامه و توابعی از میان افزار به منظور ساخت و نگهداری شبکه است.به عنوان مثال می توان مسیریابی،جستجوی گره ها، اکتشاف سرویس ها و محلی سازی خود را نام برد.

برنامه کاربردی شبکه حسگر وظایف اصلی و خدمات(سرویس های) مورد نیاز کل شبکه را بدون اختصاص هیچ کار یا سرویسی به گره های خاصی شرح می دهد.برنامه کاربردی شبکه حسگر به عنوان یک واسطه دستاورد های (نتایج) شبکه را ارزیابی کرده و برای مدیر سیستم بیان می کند.

هدف فعالیت های تحقیقاتی ما توسعه چهارچوبی است که بطور اساسی توسعه نرم افزار حسگر،گره حسگر و برنامه کاربردی شبکه  حسگر را ساده کند.این چهارچوب پشتیبانی از توزیع،پیکربندی،مقیاس پذیری و قابلیت حمل را فراهم می کند.چهارچوب باید شامل میان افزاری باشد که اجازه برنامه نویسی معنی دار ماشین توسط سیستم های تعبیه شده را دارد.در نتیجه،تلاش های برنامه نویسی کاهش یافته اند.

 

 

1-4-  معماری های نرم افزار فعلی برای دستگاه های توزیع شده کوچک با ارتباطات شبکه بیسیم

درحال حاضر برای سیستم های تعبیه شده راه حل هایی وجود دارد که معماری های سرویس و اطلاع از محتوا را پشتیبانی می کند.در زیرساخت میان افزار توزیع شده GAIA شرح داده شده است.این ویژگی ها با واحدهای نرم افزاری و شبکه های ناهمگن هماهنگی دارد.شبکه برای محیط مانند دستگاه محصور منفرد پدیدار شده است.دلیل اینکه استفاده از CORBA,XML,SQLوJAVA,GAIA انتخاب مناسبی برای شبکه های حشگر نیست تجهیزات منابع آن است.

روش دیگرTiny-OS  است که در حال حاضر یک چهارچوب پیشرفته را برای شبکه های حسگر فراهم می کند. این روش دوره های کاربرد حافظه و مصرف انرژی را بهینه می کند. Tiny-OS مکانیزم هایی(رویدادها و  مؤلفه ها)را به منظور ایجاد پیوند ایستا بین لایه ها فراهم می کند.موارد مورد نیاز از پیش تعریف شده در هنگام کامپایل مانع تخصیص پویای حافظه در زمان اجرا شده که موجب دستیابی به ترقی در افزایش سرعت می گردد.Tiny-OS اجرای رشته های چندتایی را پشتیبانی کرده و انواع الحاقات اضافی مانند ماشین مجازی Mate و پایگاه داده TinyDB را برای استفاده از همکاری داده ها فراهم می کند.این خدمات درحال حاضر فراهم نیستند.به منظور کمینه سازی مجموعه دستورالعمل های به صورت خیلی کوتاه،برنامه هایی برای Mate از قبل تهیه شده اند.آنها می توانند در یک بسته داده های Tiny-Os تکی با حداکثر طول 24 بایت حمل شوند.بنابراین Mate در زمان اجرا به نرم افزار گره اجازه تطبیق پویا می دهد.

معماری باز و مستقل از سکوی OSGI برای سرویس های سیستم های تعبیه شده پیشنهاد شده است.اگرچه OSGI مناسب شبکه های حسگر نیست چون به منابع زیادی نیاز دارد.بنابراین ناچار به توسعه یک معماری سرویس که ویژگی های مصرف کمینه از منابع را داشته باشد هستیم.

به عنوان یک قاعده کلی، سرویس ها حداقل بخشی از کارهایی که برای شروع ارتباط بطور محلی اجرا می شوند را برای تأمین کننده سرویس دارند.اجرا می تواند در یک کد محلی یا یک ماشین مجازی تطبیق یافته قرار بگیرد.

 

 

2-4- ویژگی های میان افزار شبکه حسگر

اصطلاح میان افزار به لایه ی نرم افزار مابین سیستم عامل و برنامه کاربردی حسگر از یک سو و برنامه کاربردی توزیع شده ای که با شبکه در حال تعامل است از سوی دیگر اطلاق می شود.هدف اصلی لایه ی میان افزار پنهان ساختن پیچیدگی محیط شبکه به کمک جداسازی نرم افزار از پروتکل اداره کننده(راه انداز)،مدیریت حافظه،عملکرد شبکه و موازی سازی می باشد.میان افزار شبکه های حسگر باید:

·          مقیاس پذیر

·          عمومی

·          قابل تطبیق(تطبیقی)

·          انعکاسی(بازتابی)

باشد.

منابع درگیر(حافظه،سرعت پردازش،پهنای باند)برای بهینه سازی هر برنامه کاربردی نیاز به سخت افزارهای موجود دارند.بهینه سازی در زمان کامپایل انجام می شود.در نتیجه برنامه کاربردی کاهش یافته به مؤلفه های اساسی و انواع داده(نوع داده ها)  به خوبی واسطه ها سفارشی شده اند(میان افزار مقیاس پذیر).

مؤلفه های سازنده میان افزار به منظور به حداقل رساندن تلاش های سفارشی سازی برنامه کاربردی یا گره ها به یک رابط عمومی نیاز دارند.استفاده از مؤلفه های یکسان میان افزار در برنامه کاربردی مختلف پیچیدگی های واسطه ها را زیاد می کند.کاهش این سربارها هدف میان افزارعمومی است. تبدیل واسطه ها به برنامه کاربردی درمقایسه با تبدیل برنامه های کاربردی به واسطه ها ی مشترک مهم تر است.به عنوان مثال:یک عملکرد میان افزار برآورد نرخ باد (فرستنده هوشمند،نرخ باد طولانی) واسط شبکه به کمک اولین پارامتر است.با این حال استفاده از این اطلاعات هنگام کامپایل می تواند به منظور بهینه سازی استفاده شود.

احتمال دیگر تغییر معنایی نوع داده هاست.مورد استفاده بالقوه این عمل ایجاد آدرس های درست و دقیقی است که منجر یه تغییر پهنای نوع داده می شود.پهنای نوع داده در ترافیک شبکه تأثیر حیاتی دارد.علاوه بر بهینه سازی سخت افزار گرا،یک برنامه کاربردی بهینه سازی نوع داده نیز وجو دارد.

تحرک گره ها و تغییرات زیربنایی نیازمند تطبیق میان افزار در زمان اجرا با توجه به برنامه کاربردی شبکه حسگر است.میان افزار باید قدرت تبادل پویا و اجرای مؤلفه ها را داشته باشد(میان افزار تطبیق دهنده).

ویژگی بازتاب توانایی سیستم برای فهمیدن و تحت نفوذ گرفتن خودش را تأمین می کند.یک سیستم انعکاسی قادر است که رفتار خودش را به خودش ارائه کند.در نتیجه بازرسی و تطبیق رفتارش، دو مکانیزم اساسی میان افزار شبکه است.بازرسی راههایی را برای آنالیز رفتار ارائه می دهد،به عنوان مثال با اشکال زدایی یا واقعه نگاری.تطبیق اجازه می دهد لایه های میانی اصلاح شوند تا رفتارهای عرضه شده ی موجود برنامه کاربردی تغییر کند.بر خلاف یک میان افزار تطبیق دهنده،یک میان افزار بازتابنده(انعکاسی) مؤلفه ها را مبادله نمی کند اما رفتار بعضی از مؤلفه ها را تغغیر می دهد.وابستگی تغییر استراتژی مسیریابی به تحرک گره ها یک مثال از رفتار انعکاسی است.رابط بین لایه های نرم افزار ثابت می ماند.

 

3-4-  سرویس های شبکه حسگر

علاوه بر عملکردهای محلی شبکه،از قبیل مسیریابی و حمل رو به جلو(ارسال) بسته های اطلاعاتی،معماری های سرویس در آینده نیازمند توانایی تعیین محل و بکارگیری سرویس ها می باشد.یک سرویس برنامه ای است که میتواند به استاندارد سازی عملکردهای خارج(روی) شبکه دسترسی داشته باشد.سرویس ها اجازه می دهند که cascading آگاهی قبلی از یکدیگر انجام شود و بدین گونه (بنابراین) قادر به حل وظایف پیچیده است.

یک سرویس معمولی بکار رفته حین ارزش دهی آغازین گره ها تمرکز چاهک داده ها برای داده های حسگر است.بزرگراه ها یا مجاورت گره ها می توانند این سرویس ها را فراهم کنند.برای دستیابی به این سرویس ها،گره از یک پروتکل کشف سرویس استفاده می کند.

JINI یک تکنولوژی در حال ظهوربرای یرنامه های کاربردی رومیزی است،اما برای شبکه های حسگر با توجه به منابع مورد نیاز نامناسب است.ظهور میکروسیستم ها جایگزینی معماری میزبان برای سیستم های تعبیه شده را پیشنهاد می دهد. این اقتضای اولیه برای سیستم هایی است که توسط یک شبکه مبتنی برIP کنترل می شوند.Client (سرویس گیرنده) می تواند به سرویس های غیر استاندارد در یک شبکه حسگر بواسطه ی یک Proxy Server دسترسی داشته باشد.میزبان جایگزین پروتکل های استاندارد را برای پروتکل های اختصاصی ترجمه می کند و بالعکس.میزبا ن جایگزین به عنوان فراهم کننده سرویس برای شبکه های مبتنی برIP عمل می کند.معماری های سرویس برای شبکه های حسگر بخشی از برنامه کاربردی حسگر است و برخلاف برنامه کاربردی گره رویداد محور براساس اصل Client-Server عمل می کند.

۹۴/۰۴/۰۶