معرفی شبکه حسگر

شبكه حسگر/كارانداز (حس/كار) شبكه اي است متشكل از تعداد زيادي گره كوچك. در هر گره تعدادي حسگر و/يا كارانداز وجود دارد. شبكه حس/كار بشدت با محيط فيزيكي تعامل دارد. از طريق حسگرها اطلاعات محيط را گرفته و از طريق كار انداز ها واكنش نشان مي دهد. ارتباط بين گره ها بصورت بي سيم است. هرگره بطور مستقل و بدون دخالت انسان کار میکند و نوعا از لحاظ فيزيكي بسيار كوچك است ودارای محدودیت هایی در قدرت پردازش, ظرفيت حافظه, منبع تغذيه, …

میباشد. اين محدوديت ها مشكلاتي را بوجود مي آورد كه منشأ بسياري از مباحث پژوهشي مطرح در اين زمينه است. اين شبكه از پشته پروتكلي شبكه هاي سنتي پيروي مي كند ولي بخاطر محدودیت ها و تفاوتهاي وابسته به كاربرد, پروتكل ها بايد باز نويسي شوند. اين مقاله ضمن معرفي شبكة حس/كار و شرح ويژگيها, محدوديت ها, كاربردها, ايده ها و چالش ها, به طرح موضوعات پژوهشي در اين زمينه مي پردازد.

پيشرفتهاي اخير در فناوري ساخت مدارات مجتمع در اندازه هاي كوچك از يك سو و توسعه فناوري ارتباطات بي سيم از سوي ديگر زمينه ساز طراحي شبكه هاي حس/كار بي سيم شده است.تفاوت اساسی این شبکه ها ارتباط آن با محیط و پدیده های فیزیکی است شبکه های سنتی ارتباط بین انسانها و پایگاه های اطلاعاتی را فراهم میکند در حالی که شبکه ی حس/کار مستقیما با جهان فیزیکی در ارتباط است با استفاده از حسگرها محیط فيزيكي را مشاهده کرده, بر اساس مشاهدات خود تصميم گيري نموده و عمليات مناسب را انجام می دهند. نام شبكه حس/كار بي سيم يك نام عمومي است براي انواع مختلف كه به منظورهاي خاص طراحي مي شود. برخلاف شبكه هاي سنتي كه همه منظوره اند شبكه هاي حس/كار نوعا تك منظوره هستند. در صورتي كه گره ها توانايي حركت داشته باشند شبكه مي تواند گروهي از رباتهای کوچک در نظر گرفته شود كه با هم بصورت تيمي كار مي كنند و جهت مقصد خاصي مثلا بازي فوتبال يا مبارزه با دشمن طراحي شده است. از ديدگاه ديگر اگر در شبكه تلفن همراه ايستگاههاي پايه را حذف نماييم و هر گوشی را یک گره فرض گنیم ارتباط بین گره ها باید بطور مستقيم يا از طريق يك يا چند گره مياني برقرار شود. اين خود نوعي شبكه حس/كار بي سيم مي باشد. اگرچه به نقلي تاريخچه شبکه های حس/کار به دوران جنگ سرد و ايده اوليه آن به طراحان نظامي صنايع دفاع آمريكا برمیگردد. ولي اين ايده مي توانسته در ذهن طراحان رباتهاي متحرك مستقل يا حتي طراحان شبكه هاي بي سيم موبايل نيز شكل گرفته باشد. به هر حال از آنجا كه اين فن نقطه تلاقي ديدگاه هاي مختلف است تحقق آن مي تواند بستر پياده سازي بسياري از كاربردهاي آينده باشد. كاربرد فراوان اين نوع شبكه و ارتباط آن با مباحث مختلف مطرح در كامپيوتر و الكترونيك از جمله امنيت شبكه, ارتباط بلادرنگ‌, پردازش صوت و تصوير, داده كاوي, رباتيك ,طراحي خودكار سيستم هاي جاسازي شده ديجيتال و… ميدان وسيعي براي پروهش محققان با علاقمندي هاي مختلف فراهم نموده است.

ساختار كلي شبكه حس/كار بي سيم

قبل از ارائه ساختار كلي ابتدا تعدادي از تعاريف کلیدی را ذكر مي كنيم.
حسگر : وسيله اي كه وجود شيئ رخداد يك وضعيت يا مقدار يك كميت فيزيكي را تشخيص داده و به سيگنال الكتريكي تبديل مي كند. حسگر انواع مختلف دارد مانند حسگرهاي دما, فشار, رطوبت, نور, شتاب سنج, مغناطيس سنج و…

كارانداز : با تحريك الكتريكي يك عمل خاصي مانند باز و بسته كردن يك شير يا قطع و وصل يك كليد را انجام مي دهد
گره حسگر: به گره ای گفته مي شود كه فقط شامل يك يا چند حسگر باشد.
گره كارانداز: به گره ای گفته مي شود كه فقط شامل يك يا چند كارانداز باشد.
گره حسگر/كارانداز: به گره ای گفته مي شود كه مجهز به حسگر و كار انداز باشد.
شبكه حسگر : شبكه اي كه فقط شامل گره هاي حسگر باشد. اين شبكه نوع خاصي از شبكه حس/كاراست. در كاربردهايي كه هدف جمع آوري اطلاعات و تحقيق در مورد يك پديده مي باشد كاربرد دارد. مثل مطالعه روي گردبادها.

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

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

 

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

ساختار نيمه خودكار: در اين ساختار داده ها توسط گره ها به سمت چاهك هدايت شده و فرمان از طريق چاهك به گره هاي كار انداز صادر شود. شكل(۳) را مشاهده كنيد

شكل(۳) ساختار خودكار

شكل(۴) ساختار نيمه خودكار

از طرف ديگر در كاربردهاي خاصي ممكن است از ساختار بخش بندي شده يا سلولي استفاده شود كه در هر بخش يك سردسته وجود دارد كه داده هاي گره هاي دستة خود را به چاهك ارسال مي كند. در واقع هر سردسته مانند يك مدخل عمل ميكند.
۳- ساختمان گره
شكل(۵) ساختمان داخلي گره حس/كار را نشان مي دهد. هر گره شامل واحد حسگر/ كارانداز, واحد پردازش داده ها, فرستنده/گيرنده بي سيم و منبع تغذيه مي باشد بخشهاي اضافي واحد متحرك ساز, سيستم مكان ياب و توليد توان نيز ممكن است بسته به كاربرد در گره ها وجود داشته باشد.واحد پردازش داده شامل يك پردازندة كوچك و يك حافظه با ظرفيت محدود است داده ها را از حسگرها گرفته بسته به كاربرد پردازش محدودي روي آنها انجام داده و از طريق فرستنده ارسال

مي كند. واحد پردازش مديريت هماهنگي و مشاركت با ساير گره ها در شبكه را انجام مي دهد. واحد فرستنده گيرنده ارتباط گره با شبكه را برقرار مي كند. واحد حسگر شامل يك سري حسگر و مبدل آنالوگ به ديجيتال است كه اطلاعات آنالوگ را از حسگرگرفته و بصورت ديجيتال به پردازنده تحويل مي دهد. واحد كارانداز شامل كارانداز و مبدل ديجيتال به آنالوگ است كه فرامين ديجيتال را از پردازنده گرفته و به كارانداز تحويل مي دهد. واحد تامين انرژي, توان مصرفي تمام بخشها را تامين

مي كند كه اغلب يك باطري با انرژي محدود است. محدوديت منبع انرژي يكي از تنگناهاي اساسي است كه در طراحي شبكه هاي حس/كار همه چيز را تحت تاثير قرار مي دهد. در كنار اين بخش ممكن است واحدي براي توليد انرژي مثل سلول هاي خورشيدي وجود داشته باشد در گره هاي متحرك واحدي براي متحرك سازي وجود دارد. مكان ياب موقعيت فيزيكي گره را تشخيص مي دهد. تكنيكهاي مسيردهي و وظايف حسگري به اطلاعات مكان با دقت بالا نياز دارند. يكي از مهمترين مزاياي شبكه هاي حس/كار توانايي مديريت ارتباط بين گره هاي در حال حركت مي باشد.

شكل(۵) ساختمان داخلی گره حسگر/كارانداز

۴- ويژگي ها
وجود برخي ويژگي ها در شبكه حسگر/ كارانداز, آن را از ساير شبكه هاي سنتی و بي سيم متمايز مي كند. از آن جمله عبارتند از:
• تنگناهاي سخت افزاري شامل محدوديتهاي اندازة فيزيكي, منبع انرژي, قدرت پردازش, ظرفيت حافظه
• تعداد بسيار زياد گره ها
• چگالي بالا در توزيع گره ها در ناحيه عملياتي
• وجود استعداد خرابي در گره ها
• تغييرات توپولوژي بصورت پويا و احيانا متناوب
• استفاده از روش پخش همگاني در ارتباط بين گره ها در مقابل ارتباط نقطه به نقطه
• داده محور بودن شبكه به اين معني كه گره ها كد شناسايي ندارند

كاربردها:
كاربردها به سه دسته نظامي تجاري پزشكي تقسيم مي شوند. سيستم هاي ارتباطي, فرماندهي, شناسايي, ديده باني وميدان مين هوشمند, سيستم هاي هوشمند دفاعي از كاربردهاي نظامي مي باشد. در كاربردهاي مراقبت پزشكي سيستم هاي مراقبت از بيماران ناتوان كه مراقبي ندارند. محيطهاي هوشمند براي افراد سالخوده و شبكه ارتباطي بين مجموعه پزشكان با يكديگر و پرسنل بيمارستان و نظارت بر بيماران از جمله كاربرد هاي آن است.كاربردهاي تجاري

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

مطابق شكل زیر پشته پروتكلي از يكطرف داراي پنج لايه افقي شامل لايه هاي فيزيكي, پيوند داده, شبكه, انتقال, و كاربرد و از طرفي داراي سه لايه عمودي مديريت توان, مديريت جابجايي, و مديريت وظيفه است. لايه فيزيكي وظيفه اش عمليات مدولاسيون و ارسال و دريافت در سطح پايين مي باشد. لايه كنترل دسترسي رسانه بايد قادر باشد با حداقل تصادم بروش پخش همگاني با هر گره همسايه ارتباط برقرار كند. لايه شبكه وظيفه مسيردهي داده هايي كه از لايه انتقال مي آيد را بر عهده دارد. لايه انتقال وظيفة مديريت جريان انتقال بسته ها را در صورت نياز كاربرد, بر عهده دارد.

بسته به كاري كه شبكه براي آن طراحي شده انواع مختلف نرم افزارهاي كاربردي مي تواند روي لايه كاربرد استفاده شود و خدمات مختلفي را ارائه نمايد. یک زبان پردازه نویسی بنام زبان وظیفه و پرسشگری حسگر پیشنهاد شده که پرس وجوها و فرمانهای آن مبتنی بر با ویژگی داده محوری شبکه حس/کاراست. بعنوان مثال “چه تعداد لانه پرنده خالي در محدوده شمال شرقي جنگل وجود دارد”يا “اگر تا يك ساعت بعد تعدادلانه هاي خالي بيشتر از يك حد معيني شد اعلام شود” برای اطلاعات بیشتر به مراجعه کنید.
لايه عمودي مديريت توان با دخالت در كليه لايه هاي افقي چگونگي مصرف توان براي گره را تعيين مي كند. در واقع براي كاهش مصرف انرژي به الگوريتم ها و پروتكل هاي توان آگاه نيازمنديم. مثلا اينكه يك گره پس از دريافت يك پيغام از يكي از همسايه هايش دريافت كننده اش را خاموش كند باعث جلوگيري از دريافت دوباره پيغام و در نتيجه كاهش مصرف انرژي مي گردد. ايده ديگري كه مي تواند همزمان استفاده شود اين است گره ای كه به سطح پايين انرژي رسيده به همسايه هايش اعلام همگاني مي كند كه انرژي اش در حال اتمام است و نمي تواند در مسيردهي پيغامها

شركت داشته باشد. گره هاي همسايه پس از آن پيغام ها را از طريق گره هاي ديگر مسيردهي خواهند كرد. لايه عمودي مديريت حركت, به بكار گيري روشهاي مكان آگاه بر مي گردد جابجايي گره را تشخيص داده و ثبت مي كند بنابراين يك مسير برگشت تا كاربر هميشه مديريت مي شود و رد گره متحرك دنبال مي شود. مديريت وظيفه وظايف گره ها را زمانبندي كرده و متعادل مي سازد. مثلا اگر وظيفة حس به يك ناحية معين محول شد همة گره هاي حسگر آن ناحيه لازم نيست

عمليات حس را بطور همزمان انجام دهند بلكه اين وظيفه مي تواند بسته به كاربرد به برخي گره ها مثلا به گره هايي قابليت اطمينان بيشتر يا ترافيك كمتر يا انرژي بيشتر دارند محول شود. براي تضمين اين نكته بايد از الگوريتم هاي كارآگاه استفاده نمود. با وجود موارد فوق گره ها در شبكه حس/كار مي توانند با روشهاي توان كارا باهم كار كرده و داده ها را در يك شبكه متحرك حس/كار مسير دهي كنند و منابع را بين گره ها به اشتراك گذارند.

موضوعات مطرح
عوامل متعددی در طراحي شبکه های حس/کار موثر است و موضوعات بسیاری در این زمینه مطرح است که بررسی تمام آنها در این نوشتار نمیگنجد از این رو تنها به ذکر برخی از آنها بطور خلاصه اکتفا می کنیم.

۱- تنگناهاي سخت افزاري: هرگره ضمن اينكه بايد كل اجزاء لازم را داشته باشد بايد بحد كافي كوچك, سبك و كم حجم نيز باشد بعنوان مثال در برخي كاربردها گره يايد به كوچكي يك قوطي كبريت باشد و حتي گاهي حجم گره محدود به يك سانتيمتر مكعب است و از نظر وزن آنقدر باید سبك باشد كه بتواند همراه باد در هوا معلق شود. در عين حال هر گره بايد توان مصرفي بسيار كم, قيمت تمام شده پايين داشته و با شرايط محيطي سازگار باشد. اينها همه محدوديتهايي

است كه كار طراحي و ساخت گره هاي حس/كار را با چالش مواجه ميكند. ارائه طرح های سخت افزاری سبک و کم حجم در مورد هر یک از اجزای گره بخصوص قسمت ارتباط بی سیم و حسگرها از جمله موضوعات تحقیقاتی است که جای کار بسیار دارد. پيشرفت فن آوري ساخت مدارات مجتمع با فشردگي بالا و مصرف پايين, نقش بسزايي در كاهش تنگناهاي سخت افزاري خواهد داشت.
۲- توپولوژي: توپولوژي ذاتي شبكه حس/كار توپولوژي گراف است. بدليل اينكه ارتباط گره ها بي سيم و بصورت پخش همگاني است و هر گره با چند گره ديگر كه در محدوده برد آن قرار دارد ارتباط دارد. آلگوريتم هاي كارا در جمع آوري داده و كاربردهاي ردگيري اشياء شبكه را درخت پوشا در نظر مي گيرند. چون ترافيك اصولا بفرمي است كه داده ها از چند گره به سمت يك گره حركت مي كند.

مديريت توپولوژي بايد با دقت انجام شوديك مرحله اساسي مديريت توپولوژي راه اندازي اوليه شبكه است گره هايي كه قبلا هيچ ارتباط اوليه اي ندشته اند در هنگام جايگيري و شروع بكار اوليه بايد بتوانند با يكديگر ارتباط برقرار كنند. الگوريتم هاي مديريت توپولوژي در راه اندازي اوليه بايد امكان عضويت گره هاي جديد و حذف گره هايي كه بدلايلي از كار مي افتند را فراهم كنند. پويايي توپولوژي از خصوصيات شبكه هاي حس/كار است كه امنيت آن را به چالش مي كشد. ارائه روشهاي مديريت توپولوژي پويا بطوري كه موارد امنيتي را هم پوشش دهد از موضوعاتي است كه جاي كار زيادي دارد.

۳- قابليت اطمينان: هر گره ممكن است خراب شود يا در اثر رويدادهاي محيطي مثل تصادف يا انفجار بكلي نابود شود يا در اثر تمام شده منبع انرژي از كار بيفتد. منظور از تحمل پذيري يا قابليت اطمينان اين است كه خرابي گره ها نبايد عملكرد كلي شبكه را تحت تاثير قرار دهد. در واقع مي خواهيم با استفاده از اجزاي غير قابل اطمينان يك شبكه قابل اطمينان بسازيم. براي گره k با نرخ

خرابي k قابليت اطمينان با فرمول(۱) مدل مي شود. كه در واقع احتمال عدم خرابي است در زمان t بشرط اينكه گره در بازة زماني (۰,t) خرابي نداشته باشد. به اين ترتيب هرچه زمان مي گذرد احتمال خرابي گره بيشتر مي شود.

(۱)
۴- مقياس پذيري : شبكه بايد هم از نظر تعداد گره و هم از نظر ميزان پراكندگي گره ها, مقياس پذير باشد. بعبارت ديگر شبكه حس/كار از طرفي بايد بتواند با تعداد صدها, هزارها و حتي ميليون ها گره كار كند و از طرف ديگر, چگالي توزيع متفاوت گره ها را نيز پشتيباني كند. چگالي طبق فرمول (۲) محاسبه مي شود. كه بيانگر تعداد متوسط گره هايي است كه در برد يك گره نوعي

(مثلادايره اي با قطر۱۰ متر) قرار مي گيرد. A: مساحت ناحيه كاري N:تعداد گره در ناحيه كاري و R: برد ارسال راديويي است. در بسياري كاربردها توزيع گره ها اتفاقي صورت مي گيرد و امكان توزيع با چگالي مشخص و يكنواخت وجود ندارد يا گره ها در اثر عوامل محيطي جابجا مي شوند. بنابراين چگالي باید بتواند از چند عدد تا چند صد گره تغيير كند. موضوع مقياس پذيري به روشها نيز مربوط مي شود برخي روشها ممكن است مقياس پذير نباشد يعني در يك چگالي يا تعداد محدود از گره كار كند. در مقابل برخي روشها مقياس پذير هستند ۲ (۲)

۵- قيمت تمام شده : چون تعداد گره ها زياد است كاهش قيمت هر تك گره اهميت زيادي دارد. تعداد گره ها گاهی تا میلیونها میرسد. در این صورت کاهش قیمت گره حتی به مقدار کم تاثیر قابل توجهی در قیمت کل شبکه خواهد داشت.

۶- شرايط محيطي : طيف وسيعي از كاربرد ها ي شبكه هاي حس/كار مربوط به محيط هايي مي شود كه انسان نمي تواند در آن حضور داشته باشد. مانند محيط هاي آلوده از نظر شيمياي, ميكروبي, هسته اي ويا مطالعات در كف اقيانوس ها و فضا ويا محيط هاي نظامي بعلت حضور دشمن ويا در جنگل و زيستگاه جانوران كه حضور انسان باعث فرار آنها مي شود. در هر مورد , شرايط محيطي بايد در طراحي گره ها در نظر گرفته شود مثلا در دريا و محيط هاي مرطوب گره حسگر در محفظه اي كه رطوبت را منتقل نكند قرار مي گيرد.

۷- رسانه ارتباطي: در شبكه هاي حس/كار ارتباط گره ها بصورت بي سيم و از طريق رسانه راديويي, مادون قرمز, يا رسانه هاي نوري ديگر صورت مي گيرد. اكثرا از ارتباط راديويي استفاده مي شود. البته ارتباط مادون قرمز ارزانتر و ساختنش آسانتر است ولي فقط در خط مستقيم عمل مي كند.

۸- توان مصرفي گره ها: گره هاي شبكه حس/كار بايد توان مصرفي كم داشته باشند. گاهي منبع تغذيه يك باتري ۲/۱ ولت با انرژي ۵/. آمپر ساعت است كه بايد توان لازم براي مدت طولاني مثلا ۹ ماه را تامين كند. در بسياري از كاربردها باتري قابل تعويض نيست. لذا عمر باطري عملا عمر گره را مشخص مي كند. بعلت اينكه يك گره علاوه بر گرفتن اطلاعات(توسط حسگر) يا اجراي يك

فرمان(توسط كارانداز) بعنوان رهياب نيز عمل مي كند بد عمل كردن گره باعث حذف آن از توپولوژي شده و سازماندهي مجدد شبكه و مسيردهي مجدد بسته عبوري را در پی خواهد داشت. در طراحي سخت افزار گره ها استفاده از طرح ها و قطعاتي كه مصرف پاييني دارند و فراهم كردن امكان حالت خواب براي كل گره يا براي هر بخش بطور مجزا مهم است.

۹- افزايش طول عمر شبكه: يك مشكل اين است كه عمر شبكه هاي حس/كار نوعاً كوتاه است. چون طول عمر گره ها بعلت محدوديت انرژي منبع تغذيه كوتاه است. علاوه بر آن گاهي موقعيت ويژة يك گره در شبكه مشكل را تشديد مي كند مثلاً در گره ای كه در فاصل يك قدمي چاهك قرار دارد از يكطرف بخاطر بار كاري زياد خيلي زود انرژي خود را از دست مي دهد و از طرفي از كار

افتادن آن باعث قطع ارتباط چاهك با كل شبكه مي شود و از كار افتادن شبكه مي شود. برخي راه حل ها به ساختار برمي گردد مثلا در مورد مشكل فوق استفاده از ساختار خودكار راهكار مؤثري است.(به بخش ۲ مراجعه شود) بعلت اينكه در ساختار خودكار بيشتر تصميم گيري ها بطوري

محلي انجام مي شود ترافيك انتقال از طريق گره بحراني كم شده, طول عمر آن و در نتيجه طول عمر شبكه افزايش مي يابد. مشكل تخليه زود هنگام انرژي در مورد گره هاي نواحي كم تراكم در توزيع غير يكنواخت گره ها نيز صدق مي كند (به ۴ مراجعه كنيد) در اينگونه موارد داشتن يك مديريت توان در داخل گره ها و ارائه راه حل هاي توان آگاه بطوري كه از گره هاي بحراني كمترين استفاده را بكند مناسب خواهد بود. اين نوعي به اشتراك گذاري منابع محسوب مي شود لذا در صورت داشتن مدیریت وظیفه و مدیریت توان مناسب توزیع با چگالی زیاد گره ها در میدان حسگر/ کارانداز طول عمر شبکه را افزایش میدهد. ارائه الگو های ساختاري مناسب و ارائه روشهاي مديريتي و آلگوریتم ها توان آگاه با هدف افزايش طول عمر شبكه حس/كار از مباحث مهم تحقيقاتي است.

۱۰- ارتباط بلادرنگ و هماهنگي : در برخي كاربردها مانند سيستم تشخيص و جلوگيري از گسترش آتش سوزي يا سيستم پيش گيري از سرقت سرعت پاسخگويي شبكه اهميت زيادي دارد. در نمايش بلادرنگ فشار بر روي مانيتور بسته هاي ارسالي بايد بطور لحظه اي روزآمد باشند. براي تحقق بلادرنگ يك روش اين است

كه براي بسته هاي ارسالي يك ضرب العجل تعيين شود و در لايه كنترل دسترسي رسانه بسته هاي با ضرب العجل كوتاهتر زودتر ارسال شوند مدت ضرب العجل به كاربرد بستگي دارد. مسئلة مهم ديگر تحويل گزارش رخدادها به چاهك, يا كارانداز ناحيه, به ترتيب وقوع آنهاست در غير اين صورت ممكن است شبكه واكنش درستي انجام ندهد. نكته ديگر

هماهنگي كلي شبكه در ارتباط با گزارشهايي است كه در مورد يك رخداد از حسگرهاي مختلف به كاراندازهاي ناحيه مربوطه داده مي شود. بعنوان مثال در يك كاربرد نظامي فرض كنيد حسگرهايي جهت تشخيص حضور يگان هاي پياده دشمن و كاراندازهايي جهت نابودي آن در نظر گرفته شده چند حسگر حضور دشمن را به كار اندازها اطلاع مي دهند شبكه بايد در كل منطقه, عمليات را به يكباره شروع كند. در غير اين صورت با واكنش اولين كارانداز, سربازان دشمن متفرق شده و عمليات با شكست مواجه مي شود. بهرحال موضوع بلادرنگ و هماهنگي در شبكه هاي حس/كاربخصوص در مقياس بزرگ و شرايط نامطمئن از مباحث تحقيقاتي است.

۱۱- امنيت و مداخلات : موضوع امنيت در برخي كاربردها بخصوص در كاربرد هاي نظامي يك موضوع بحراني است و بخاطر برخي ويژگي ها شبكه هاي حس/كار در مقابل مداخلات آسيب پذير ترند. يك مورد بي سيم بودن ارتباط شبكه است كه كار دشمن را براي فعاليت هاي ضد امنيتي و مداخلات آسانتر مي كند.

مورد ديگر استفاده از يك فركانس واحد ارتباطي براي كل شبكه است كه شبكه را در مقابل استراق سمع آسيب پذير مي كند. مورد بعدي ويژگي پويايي توپولوژي است كه زمينه را براي پذيرش گره هاي دشمن فراهم مي كند. اينكه پروتكل هاي مربوط به مسيردهي, كنترل ترافيك و لايه كنترل دسترسي شبكه سعي دارند با هزينه و سربار كمتري كار كنند مشكلات امنيتي بوجود مي آورد مثلا براي شبكه هاي حسگر در مقياس بزرگ براي كاهش تأخير بسته هايي كه در مسير طولاني در طول شبكه حركت مي كنند يك راه حل خوب اين است كه اولويت مسيردهي به بسته هاي عبوري داده شود. همين روش باعث مي شود حمله هاي سيلي مؤثرتر باشد. يكي از نقاط

ضعف شبكه حس/كاركمبود منبع انرژي است و دشمن مي تواند با قرار دادن يك گره مزاحم كه مرتب پيغام هاي بيدار باش بصورت پخش همگاني با انرژي زياد توليد مي كند باعث شود بدون دليل گره هاي همسايه از حالت خواب خارج شوند. ادامة اين روند باعث به هدر رفتن انرژي گره ها شده و عمر آنها را كوتاه مي كند. با توجه به محدوديت ها بايد دنبال راه حل هاي ساده و كارا مبتني ب

ر طبيعت شبكه حس/كار بود. مثلا اينكه گره ها با چگالي بالا مي توانند توزيع شوند و هر گره داراي اطلاعات كمي است يا اينكه داده ها در يك مدت كوتاه معتبرند از اين ويژگي ها مي توان بعنوان يك نقطه قوت در رفع مشكلات امنيتي استفاده كرد. اساسا‏ً چالشهاي زيادي در مقابل امنيت شبكه حس/كاروجود دارد. و مباحث تحقيقاتي مطرح در اين زمينه گسترده و پيچيده است.

۱۲- عوامل پیش بینی نشده: یک شبکه حسگر کارانداز تابع تعداد زیادی از عدم قطعیت هاست. عوامل طبیعی غیر قابل پیش بینی مثل سیل زلزله, مشکلات ناشی از ارتباط بی سیم و اختلالات رادیویی, امکان خرابی هر گره, کالیبره نبودن حسگرها, پویایی ساختار و مسیردهی شبکه, اضافه شدن گره های جدید و حذف گره های قدیمی, جابجایی گره ها بطور کنترل شده یا در اثر عوامل طبیعی و غيره. سؤالی كه مطرح است این است که در این شرایط چگونه میتوان چشم اندازی

فراهم کرد که از دیدگاه لایه کاربرد شبکه یک موجودیت قابل اطمینان در مقیاس بزرگ دارای کارایی عملیاتی مشخص و قابل اعتماد باشد. باتوجه به اینکه شبکه های حسگر کارانداز تا حدود زیادی بصورت مرکزی غیر قابل کنترل هستند و بصورت خودکار یا حداقل نیمه خودکار عمل میکنند باید بتوانند با مدیریت مستقل بر مشکلات غلبه کنند. از این رو باید ویژگی های خود بهینه سازی خود سازماندهی و خود درمانی را داشته باشند. اینها از جمله مواردی هستند که بحث در مورد آنها آسان ولی تحقق آن بسیار پیچیده است. بهرحال اين موضوعات ازجمله موارد تحقیقاتی می باشند

نمونه ی پیاده سازی شده شبکه حس/كار
ذره ی میکا
یک نمونه از پیاده سازی سخت افزاری گره های حسگر ذره میکا دانشگاه برکلی امریکا است.این نمونه, یک واحد حس/کار کوچک (چندین اینچ مکعب) با یک واحد پردازنده مرکزی ,منبع تغذیه,رادیو و چندین عنصر حسگر اختیاری می باشد. پردازشگر آن یک پردازنده ۸- بیتی از خانواده ی اتمل می باشد همراه با ۱۲۸ کیلو بایت حافظه ی برنامه, ۴کیلوبایت RAM برای داده ۵۱۲کیلوبایت حافظه ی فلش .این پردازنده فقط یک کمینه از مجموعه دستورالعمل های ریسکRISK) )را بدون عمل ضرب, شیفت با طول متغیر و چرخش پشتیبانی می کند.رادیوی آن یک رادیوی مصرف پایین۹۱۶ مگاهرتز با پهنای باند۴۰ کیلو در ثانیه روی یک کانال تسهیم شده منفرد با محدوده ی نزدیک به ۱۲ متر می باشد. رادیو در حالت دریافت ۴٫۸ میلی آمپر, در حالت ارسال تا ۱۲میلی آمپر ودر حالت خواب ۵ میکرو آمپر مصرف می کند.

شکل(۶) ذره میکا

ذره میکا در اندازه های مختلف وجود دارد,کوچکترین آن اغلب به عنوان غبار هوشمند شناخته می شود.طرح پژوهشی غبار هوشمند که به وسیله ی پروفسور پیتستر وکان رهبری و هدایت می شود موفق به دستیابی حدی برای اندازه ومصرف توان در گره های حسگر خود مختار شده است.کاهش اندازه برای ساختن گره های ارزان و البته تسهیل گسترش آن بسیار مهم است.گروه تحقیقاتی امیدوارند که ضمن حفظ موثر توانایی های حسگری وارتباطی می توانند موارد لازم حسگری , مخابره اطلاعات و محاسبات سخت افزاری همراه با منبع تغذیه را در اندازه ای در حدود چند میلیمتر مکعب فراهم کنند. این گره میلیمتر مکعبی غبار هوشمند نام دارد که حقیقتاَ قلمرو

چیزهای ممکن شدنی است.چنان که نمونه های آتی آن می تواند به قدری کوچک باشد که معلق در هوا باقی مانده و به وسیله جریان هوا شناور شود و برای ساعت ها یا روزها موارد حس شده را ارسال کند. غبار هوشمند می تواند اطلاعات را با استفاده از یک تکنولوژی بازتابنده ی نوری جدید, به صورت غیر فعال ارسال کند این یک راه معقول وارزان برای پراب یک سنسور یا تایید دریافت اطلاعات را فراهم می کند ارسال نوری فعال نیز ممکن است اما اتلاف انرژی بیشتری دارد.

شکل(۷) ساختار داخلی غبار هوشمند

بررسي نرم ا فزارهاي شبيه سازي شبكه
امروزه تكنولوژي شبيه سازي به طرز موفقيت آميزي در جهت مدل سازي ، طراحي و مديريت انواع سيستم هاي هوشمند به كار گرفته شده و در اين راستا ابزارها و تكنيك هاي متعددي خلق شده كه به طور مثال مي توان به تكنيك شبيه سازي رويدادگردان اشاره كرد كه اساس عملكرد بسياري ازشبيه سازهاي نوين مي باشد. كاربرد شبيه سازي در مورد شبكه هاي ارتباطي نيز سابقه اي ۱۵ ساله دارد كه هنوز هم در حال رشد مي باشد ، دلايل استفاده از شبيه سازي در اين حوزه را مي توان در دو مورد خلاصه كرد :

۱-پيدايش و گسترش شبكه هايي باتكنولوژي پيچيده
۲-خلق ابزار ها و نرم افزارهاي خاص شبيه سازي شبكه ها
نرم افزارهای شبیه ساز شبکه توانايي شبيه سازي شبكه هاي ارتباطي را بدون نياز به كد نويسي و معمولآ از طريق واسط هاي گرافيكي فراهم مي كنند. وجود عناصر شبيه سازي شده اي متناظر با عناصر واقعي ( روترها و سوئيچ ها ، … ) در اين گونه موارد علاوه بر بالا بردن دقت ، باعث افزايش سهولت و سرعت در فرآيند شبيه سازي مي شود و به اين ترتيب براي كاربران ناآشنا با فن برنامه نويسي بسيار مناسب مي باشد.

 

خصوصيات لازم براي شبيه سازهاي شبكه

خصوصياتي كه شبيه سازهاي شبكه بايد داشته باشند عبارتند از :
۱-انعطاف در مدل سازي :
كاربر بايد قادر باشد انواع جديدي از منابع معمول شبكه همچون گره ها ، لينك ها و پروتكل ها را به مجموعه موجود در شبيه ساز بيفزايد.
۲-سهولت در مدل سازي :
وجود واسط گرافيكي و امكان مدلسازي به صورت ساخت يافته ، به شكلي كه مدل هاي پيچيده بر اساس مدلهاي ساده طرح شوند و همچنين قابليت استفاده مجدد از ماژول ها از خصوصياتي مي باشد كه باعث تسريع در فرآيند شبيه سازي مي گردند.
۳-اجراي سريع مدل ها :
زمان پردازش در شبيه سازي هاي بزرگ براي شبكه هايي با تعداد زياد گره بسيار مهم مي باشد كه لازمه آن مديريت صحيح حافظه مي باشد.
۴-قابليت مصور سازي :
نمايش گرافيكي عناصر شبكه در حال تبادل پيغام ها با يكديگر به رفع خطاهاي شبيه سازي و درك نحوه كاركرد آن بسيار كمك مي كند. در برخي نرم افزارهاي شبيه ساز اجراي مصور سازي همزمان با اجراي شبيه ساز و در برخي ديگر پس از انجام آن و به صورت Play Back انجام مي گيرد.
۵- قابليت اجراي مجدد و تكراري شبيه سازي :
هدف از انجام شبيه سازي به طور عمده تحقيق تآثير يك يا چند پارامتر (براي مثال متوسط طول بسته ها و يا ظرفيت بافرها) بر كارايي شبكه مي باشد و به همين خاطر تكرار پذيري يك شرط لازم براي اين نرم افزارها مي باشد. در مجموع بايد توجه داشت كه خلق يك شبيه ساز شبكه دقيق و معتبر مستلزم بكارگيري تكنولوژي شبيه سازي در كنار دانش شبكه و پروتكل هاي آن مي باشد.البته در كنار خصوصيات فوق وجود برخي قابليت ها بر ارزش هر ابزار شبيه ساز خواهد افزود كه از آن ميان مي توان به چند مورد اشاره ذيل اشاره كرد :

۱- وجود ماژول هاي دروني از پيش آماده شده متناظر با عناصر و پروتكل هاي شبكه .
۲-وجود يك مولد عدد تصادفي و در شكل هاي پيشرفته تر قابليت خلق كميت هاي با توزيع هاي تصادفي گوناگون چرا كه اغلب رخدادها در يك فرآيند شبيه سازي اعم از توليد و ارسال بسته ها و يا ايجاد خرابي در آنها ، از نوع فرآيندهاي تصادفي مي باشند.
۳-حمايت از كاربران به بهنگا

م سازي هاي به موقع (بخصوص در مورد پروتكلهاي جديد) بهمراه مستندات كامل و گويا.
۴- ارائه گزارشهايي از پارامتر هاي كارايي شبكه (نرخ خروجي، بهره وري ، تآخير انتقال،…) در قالب ارقام و منحني ها به همراه امكان انجام عمليات آماري روي نتايج از ديگر ويژگي هاي مثبت يك شبيه ساز مي باشد.

شبيه ساز NS(v2)
شروع به كار اين نرم افزار به پيش از پروژه VINT مربوط مي گردد.شبيه ساز NS در سال ۱۹۸۹توسط گروه تحقيقاتي شبكه NRG در آزمايشگاه LBNL و بر اساس شبيه ساز شبكه ديگري موسوم به REAL طراحي شده است كه توسعه آن تا امروز ادامه داشته و بخصوص پس از انتخاب شدن به عنوان ابزار شبيه ساز پروژه VINT جديت و سرعت يافته است.آخرين نسخه آن NS 2.1b8 روي شبكه اينترنت قابل دسترسي مي باشد.

معماري دروني :NS
NS2 از گونه شبيه سازهاي رويدادگردان مي باشد و از طريق پيگيري رخدادها در طول زمان هاي گسسته ، شبيه سازي را پيش مي برد اين شبيه ساز در دو محيط برنامه نويسي C++ و OTCL و بصورت شيئ گرا طرح شده .NS بر اساس مدلي موسوم به VuSystem كار مي كند كه در ادامه به طور خلاصه در مورد آن توضيح مي دهيم.

مدل VuSystem
شبيه سازهاي شبكه عمدتآ از دو بخش با تمايلات گوناگون تشكيل يافته اند :
۱-گروهي از بلاك هاي سازنده كه عناصري همچون گره ها ، لينك ها ، صف ها ، مولدهاي ترافيك و پروتكل ها را شبيه سازي مي كنند.

۲-يك رابط كه معمولآ از آن تحت عنوان زبان تشريح شبيه سازي يا SDL ياد مي شود و وظيفه دارد بلوك هاي سازنده فوق را در فرآيند شبيه سازي به يكديگر متصل كند.
در مورد اين دو بخش يك مشكل اساسي پيش روي طراحان شبيه سازهاي شبكه وجود دارد. در حالي كه براي بلوك هاي سازنده كارايي و سرعت اجرا هدف اصلي مي باشد.SDL نيازمند انعطاف و سهولت تغيير در پيكر بندي مي باشد و نيل به اين دو هدف با يك محيط برنامه نويسي واحد مشكل مينمايد.بنابراين مدل VuSystem كه توسط David Wetherall در دانشگاه MIT پيشنهاد شده ، راه حل را در استفاده از دو محيط برنامه نويسي جداگانه براي دو بخش فوق مي

داند.مطابق اين مدل بلوك هاي سازنده با يك زبان كامپايلي (براي مثال C++ ) و بخش رابط آنها در يك محيط مفسري (مانند OTCL) پياده سازي مي شوند.
طراحان NS-2 با بكار گيري مجموعه اي از اشياء موسوم به اشياء دو تكه موفق به اعمال مدل VuSystem در شبيه ساز خويش گشته اند . مطابق اين مدل NS-2 متشكل از مجموعه اي از اشياء مي باشد كه در دو محيط دوگانه كامپايلي/ مفسري و از طريق فراخواني متدهاي يكديگر ، ارتباط برقرار مي كنند.

شبيه ساز OMNeT++

OMNeT++ يك شبيه ساز شيئ گرا مي باشد و از دسته نرم افزارهاي discrete event است. ++ OMNeT مخفف Objective Modular Network است و مبتني بر C++ است. چون اين نرم افزار در محيط C++ نوشته شده است در اغلب محيط ها باكامپايلر C++ قابل اجرا مي باشد. به وسيله DoS و X- windowپشتيباني شده و به Win3.1 و Win95 و WinNT قابل حمل است. نويسنده اين نرم افزار با يك شركت مجارستاني توزيع كننده OPNETهمكاري داشته است. اين فرد عضو چندين پروژه شبيه سازي شبكه بوده و مدل شبيه سازي سيستم VSAT در OPNET را نوشته است

. از لحاظ ساختاري اين نرم افزار سلسله مراتبي از ماژول هاي تو در تو مي باشد كه ماژول ها از طريق تبادل پيغام با يكديگر در ارتباط هستند. در پائين ترين سطح اين سلسله مراتب ماژول هاي خود كاربر قابل ايجاد مي باشند. مي تواند اجراي شبيه سازي را به صورت موازي پيش ببرد.با اين نرم افزار هر نوع مكانيزم زمانبندي قابل بكار گيري است.زبان متني براي توصيف توپولوژي دارد كه به آن NED گويند و بوسيله هر ابزار پردازشگر متني (مانند perl و awk) قابل ايجاد است. همين فرمت بوسيله اديتور گرافيكي قابل بكار گيري است. ++OMNeT واسط قوي براي ديباگ كردن و تريس كردن فراهم مي كند.
همان طور كه ذكر شد OMNeT++ ساختار ماژولي دارد بنابراين تمام ابزار مورد نياز در قالب ماژول هستند.اين ماژول ها ساختار سلسله مراتبي دارند. در بالاترين سطح ماژول سيستم قرار دارد. ماژول سيستم حاوي زير ماژول ها مي باشد.كه اين زير ماژول ها مي توانند حاوي زير ماژول هاي ديگري باشند الي آخر.شمايي از ساختار ماژولي در شكل آمده است.عمق ماژول هاي تو در تو محدود نيست.بنابراين كاربر مي تواند مدل منطقي سيستم واقعي خود را پياده سازي كند.

شکل(۸)

دو نوع ماژول داريم ماژول هاي مركب و ساده .ماژولهاي مركب همانطور كه از نامش پيداست به ماژول هايي گفته مي شود كه زير ماژول ها را در بر دارند.ماژول هاي ساده ماژول هايي هستند كه بوسيله خود كاربر ايجاد مي شوند.در حقيقت ماژول هاي ساده الگوريتم هاي مدل هستند.
همه ماژول هاي سيستم در قالبي به نام module type هستند. كاربر براي توصيف مدل modul type ها را به كار مي گيرد ( نمونه هايي از module type را براي ايجاد module type هاي پيچيده تر بكار مي گيرد). در مجموع ماژول سيستم نمونه اي از module type هاي از پيش تعريف شده

است.زماني كه module type به عنوان بلاك سازنده بكار گرفته شود تفاوتي بين ماژول ساده و ماژول مركب نيست. بدين مفهوم كه كاربر براي سادگي مي تواند يك ماژول ساده را به چندين ماژول ساده بشكند و در قالب يك ماژول مركب بگنجاند يا برعكس قابليت هاي يك ماژول مركب را در يك ماژول ساده خلاصه كند.
همان طور كه ذكر شد ماژول ها از طريق تبادل پيغام با يكديگر ارتباط برقرار مي كنند.در شبكه واقعي پيام ها مي توانند فريم ها يا بسته ها باشند. ماژول هاي ساده از طريق ارسال مستقيم پيغام يا به كمك مسيرهاي از پيش تعريف شده با يكديگر در ارتباط هستند.گيت ها واسط هاي ماژول ها هستند كه داراي بافر مي باشند و عامل اتصال دهنده لينك ها به يكديگرند.لينك ها تنها در يك سطح از سلسله مراتب ماژول قابل ايجاد هستند. بدين معنا كه در يك ماژول مركب دو زير ماژول مي توانند از طريق گيت هاي متناظر متصل شوند ويا يك زير ماژول با ماژول مركب خود مرتبط شود.
در ساختار سلسله مراتبي پيام ها از طريق لينك ها يا اتصالات قابل انتقال هستند كه مبدأ و مقصد پيغام ها ماژول هاي ساده مي باشند.به سري لينك ها يا اتصالاتي كه از يك ماژول ساده شروع و به يك ماژول ساده ختم مي شود مسير (route) گويند.
پارامترهاي زير را مي توان براي يك لينك مقداردهي نمود:

۱-(sec) Propagation Delay
2-(errors/bit) bit error rate
3- (bits/sec) data rate

شکل(۹)

شبیه ساز Ptolemy II
این گزارش مدل سازی و چهارچوب شبیه سازی نرم افزاری را که visualsense نامیده می شود و برای شبکه های حسگر به کار گرفته می شود را شرح می دهد.این نرم افزار بر روی نرم افزار Ptolemy II (بطلمیوس)تشکیل شده است.
این چهار چوب تعریف اکتور گرا از شبکه های حسگر,کانال های انتقال بی سیم ,رسانه های فیزیکی از قبیل کانال صوتی و زیر سیستم های سیمی را پشتیبانی می کند.
ساختار نرم افزار شامل یک مجموعه ای از کلاس های پایه برای تعریف کانال ها و گره های حسگر است. یک کتابخانه از زیر کلاس ها , برخی مدل های کانال و مدل های گره و یک چهارچوب ویژوالی گسترش پذیر را , فراهم می کند. گره های مرسوم می توانند بوسیله زیرکلاسِ کلاسهای پایه و تعریف رفتار در جاوا یا بوسیله ایجاد مدل های ترکیبی با استفاده از چند محیط مدل سازی Ptolemy II ایجاد و تعریف گردند.

شکل(۱۰)
Visualsense یک پیکر بندی از Ptolemy II است که طراحی مؤلفه گرا از شبکه های حسگر و شبیه سازی طبیعی و ویژوالی آن را فراهم می کند.
دامنه DE در Ptolemy II مدل های با توپولوژی های اتصال داخلی که به طور پویا تغییر می کنند, را پشتیبانی می کند.تغییرات در اتصالات به عنوان تغییر در ساختار مدل بحث می شود. نرم افزار به طور دقیق برای پشتیبانی از دسترسی چند نخ کشی شده به این قابلیت تغییر و دگرگونی طراحی شده است.بنابراین یک نخ می تواند شبیه سازی مدل را در حالی اجرا کند که نخ دیگر ساختار مدل را تغییر می دهد, برای مثال بوسیله اضافه کردن , حذف یا حرکت اکتور ها تا تغییرات اتصالات میان اکتورها , نتیجه قابل پیشگویی و سازگار است.
سر راست ترین استفاده های دامنه DE در Ptolemy II شبیه به دیگر چهارچوب های مدل کننده رویداد گسسته از قبیل NS , OPNET , VHDL هستند .مؤلفه ها (که اکتور نامیده می شوند) پورت هایی دارند و پورت ها به هم وصل می شوند تا توپولوژی انتقال را مدل کند.Ptolemy II یک ویرایشگر ویژوالی برای ساخت به صورت بلوک دیاگرام تهیه می کند.(شکل ۱۱)

شکل (۱۱)مدل DE نمونه در Ptolemy,به عنوان بلوک دیاگرام نمایش داده شده است.

مدل سازی شبکه های بی سیم:
در این بخش, ما شرح می دهیم که چطور مدل هایی از شبکه های حسگر بی سیم ایجاد کنید و آن را اجرا کنید .

اجرای یک مدل پیش ساخته:
این یک مدل ساده شده از یک سیستم متمرکز صوتی است که در آن از میدانی از گره های حسگر استفاده می کند که یک صدا را شناسایی و بوسیله پیام رادیویی به مرکز گزارش می کند تا موقعیت صدا را مثلث بندی کند.شکل۱۲ نشان می دهد که مدل شامل Wireless Director ,که به عنوان یک مدل بی سیم تعریف می کند, دو مدل کانال(یک مدل کانال رادیویی و یک مدل کانال صوتی) یک تعدادی یادداشت(متون شرح دهنده مدل) و اکتور هایی در مدل است.هر یک از این مؤلفه ها یک نقش در مدل ایفا می کند. هدایت کننده در اجرای مدل پا به میان می گذارد.مدل های کانال با ارتباط میان اکتور ها سروکار دارد.اکتور ها سیگنال هایی از طریق کانال می فرستند و دریافت می کنند.

شکل(۱۲) نمایش Visualsense از مدل wireless sound detection

مدل قابل اجراست.روی مثلث قرمز رنگ در نوار ابزار کلیک کنید ,در نتیجه اکتور منبع صوت (که با دوایر متحد المرکز شفاف نمایش داده شده است)در یک الگوی دایره ای شروع به حرکت می کند که بوسیله یک فلش آبی رنگ در شکل ۱۳ نمایش داده شده است. اکتور منبع صوت رویداد هایی از طریق مدل کانال صوتی منتشر می کند.این رویدادها با یک تاخیر زمانی که بستگی به فاصله میان گره های دایره ای آبی رنگ دارد, منتشر می شود.موقعی که این گره ها صدا را شناسایی

می کنند,آنها یک سیگنال رادیویی از طریق مدل کانال رادیویی پخش می کنند و آیکون های آنها به رنگ قرمز تغییر می کند تا به طور ویژوالی نشان دهد که آنها این کار را انجام داده اند. سیگنال های رادیویی شامل یک مهر زمانی رویداد صوتی شناسایی شده است.اکتور مثلثی در مرکز (که با یک آیکون سبز رنگ نشان داده است)این سیگنال رادیویی را دریافت می کند(اگر آن در برد فرستنده باشد),و مهر های زمانی را برای تخمین موقعیت منبع صوت استفاده می کند. آن سپس موقعیت را ترسیم می کند, نتیجه در نمودار شکل ۱۳ نشان داده شده است.

شکل(۱۳)نمایش مدل در حال اجرا

تغییر پارامترها :
مدل پارامترهایی دارد که شما می توانید با آنها آزمایش انجام دهید.پارامتر های دو مؤلفه ی منبع صوت و کانال صوتی در شکل ۱۴ نشان داده شده است. برای بدست آوردن صفحه پارامترها روی اکتور دابل کلیک کنید و یا روی آن راست کلیک کرده و گزینه configure را انتخاب کنید.این منبع صوت یک پارامتر دارد که soundRange نام دارد. اگر شما مقدار پارامتر از ۳۰۰ متر مثلا به ۵۰۰ متر آنگاه آیکون دایره ای برای اکتور افزایش می یابد,و اجرای مجدد مدل منجر به افزایش خط سیر منبع صوت مثلث بندی شده می شود.در پارامتر های کانال صوتی , شما می توانید یک مقدار غیر صفر برای lossProbability تنظیم کنید, در این مورد فقط بعضی از رویداد های صوتی شناسایی خواهند شد.تنظیم seed به یک مقدار غیر صفر باعث می شود تا آزمایش تکرار پذیر باشد, بدین معنی که هر آزمایش همان توالی از اعداد را ایجاد خواهد کرد. رها کردن Seed در مقدار پیش فرض “۰L” آزمایش جدیدی را در هر اجرا ثمر می دهد.

شکل(۱۴)پارامتر های اکتور منبع صوت(سمت چپ)و مدل کانال صوتی(سمت راست)

ساختار یک مدل پیش ساخته:

۱ ) نمایش بصری(آیکون ها):
ابتدا اکتور منبع صوت را بررسی کنید.در ابتدا توجه کنید که چه طور آیکون آن موقعی که پارامتر soundRange را تغییر می دهید , عوض می شود.تعریف آیکون می تواند بوسیله راست کلیک روی آیکون و انتخاب “Edit Custom Icon” نمایش داده شود(ویرایش شود).توجه کنید که برای این اکتور ,شما باید ماوس را روی خط دور یکی از دایره های متمرکز قرار دهید.پنجره ظاهر شده در شکل ۱۵ نمایش داده شده است.به یاد داشته باشید که فقط بخش مرکزی آیکون قابل مشاهده است.

در نوار ابزار روی Zoom Fit (همچنانکه در شکل ۱۵ قابل مشاهده است) برای دریافت تصویر کامل کلیک کنید(شکل ۱۶ را ببینید).کتابخانه در سمت چپ می تواند برای اضافه کردن آیتم ها به آیکون استفاده شود.
به دایره بیرونی توجه کنید,اندازه آن موقعی که پارامتر soundRange تغییر داده شود ,تغییر پیدا می کند.روی آن دابل کلیک کنید (یا راست کلیک کنید و Configure را انتخاب کنید),پنجره پارامتر در شکل ۱۷ ظاهر می شود.توجه کنید که پارامتر های width وheight بوسیله عبارات با مقدار “soundRange*2” داده شده است.زبان اصطلاحی که می تواند اینجا استفاده شده است قدرتمند است.

شکل(۱۵)انتخاب “edit custom icon” بعد از کلیک راست روی منبع صوت

شکل(۱۶)نتیجه کلیک روی Zoom fit در نوار ابزار

ما می توانیم دایره بیرونی با یک رنگ نیمه شفاف که درجه ماتی آن به پارامتر soundRange بستگی دارد (شکل ۱۸) .در این شکل انتخاب کننده (در سمت راست نشان داده شده) برای انتخاب رنگ قرمز استفاده شد, و مقدار alpha از رنگ

شکل(۱۷)پارامتر های دایره بیرونی اکتور منبع صوت

,که چهارمین عنصر از آرایه تعریف کننده رنگ است, به طور دستی با “soundRange/1000.0” تنظیم شد.نتیجه در شکل ۱۹ نشان داده شده است.

شکل(۱۸)تنظیم fill color دایره بیرونی منبع صوت که به SoundRange بستگی دارد

شکل(۱۹)نتیجه تغییر رنگ دایره بیرونی منبع صوت

۲)کانال ها :
مدل نشان داده شده درشکل ۱۲ دو مدل کانال دارد که در شکل ۲۰ باضافه پارامترهایشان نشان داده شده است. شما می توانید ببینید که تنها اختلاف میان این دو کانال(گذشته از نام آنها)مقدار پارامتر propagationSpeed است.برای کانال رادیویی ,آن با مقدار “Infinity” تنظیم می شود,ر حالی که برای کانال صوتی ,آن با “۳۴۰٫۰”(meters/second) تنظیم می شود.
توجه کنید که هر دو کانال یک پارامتر به نام defaultProperties با مقدار “{range=Infinity}” دارند. این عبارت یک record با یک فیلد به نام ” range” با مقدار “Infinity” تعیین می کند. فیلد های پارامتر defaultProperties از یک کانال, مسیر هایی را که در یک ارسال ویژه می تواند به طور منحصر به فرد سفارشی شود را , تعیین کند .در این مورد ,یک ارسال ویژه از طریق هر کانال می تواند به طور اختیاری یک برد را تعیین کند.اگر آن تعیین نشود ,آنگاه پیش فرض استفاده می شود,که بی نهایت است,تعیین می کند که هیچ محدودیتی وجود ندارد. یک ارسال در رسیدن به گیرنده موفق خواهد بود و اهمیت ندارد که چقدر از گیرنده دور است.

شکل(۲۰)کانال شکل ۱۲ و پارامتر هایش

۳)اکتور های مرکب :
ما دیدیم که چه طور می توانیم نمایش ویژوالی از یک اکتور را سفارشی کنیم.چه طور ما می توانیم رفتار آن را تعیین کنیم؟ اکتور منبع صوت در شکل ۱۲ به طور واقعی یک composite actor است که رفتار آن به وسیله مدلPtolemy مشخص می شود.برای تشخیص این تعریف ,روی اکتور راست کلیک کنید و Look Insideرا انتخاب کنید .مدل داخلی در شکل ۲۱ نمایش داده شده است.
منبع صوت مرکب در شکل ۲۱ یک DE Director دارد که این مدل را به عنوان یک مدل رویداد گسسته از Ptolemy II تعریف می کند.مدل هایDE به خوبی با مدل های بی سیم کار می کنند.بنا بر این وجود مدل های DE در گره های بی سیم عادی است. پارامتر soundRange بعد از DE Director با مقدار پیش فرض ۳۰۰ نمایش داده شده است. مدل شامل دو بخش است ,بخش بالایی که یک رویداد صوتی را می فرستد,و یک بخش پایینی که آیکون را حرکت می دهد.

شکل(۲۱)نتیجه Look Inside اکتور منبع صوت در شکل ۱۲

در ابتدا به بخش بالاتر توجه کنید.آن یک کلاک و یک port که “soundPort” نامیده می شود دارد.(شکل ۲۲) پارامترهای هم کلاک و هم پورت بوسیله دابل کلیک روی آنها (یا راست کلیک روی آنها و انتخاب configure) بدست می آیند, همچنین در شکل نشان داده شده اند. به یاد داشته باشید که period کلاک با ۲٫۰ تنظیم می شودو values با{۱} تنظیم می شود,یک آرایه تک عنصری با عدد صحیح ۱٫ این اشاره دارد به این که کلاک باید یک صوت را هر دو ثانیه تولید کند. مقدار تولید شده عدد صحیح ۱ است که هیچ معنی خاصی ندارد.

مؤلفه soundPort نیز پارامتر هایی دارد, همچنانکه در شکل ۲۲ نشان داده شده است. پارامتر outsideChannel یک پارامتر با مقدار رشته ای است که مقدار “SoundChannel” را دارد.این نام کانالی است که این پورت برای ارسال استفاده خواهد کرد, و باید مطابق با نام کانال نشان داده شده در شکل ۲۰ باشد.پارامتر outsideTransmitProperties مقدار ” {range=soundRange}” را دارد که یک record با یک فیلد به نام “range” با مقدار داده شده با عبارت “soundRange” دارد,که به سادگی مقدار از پارامتر soundRange از اکتور مرکب بدست می آید.توجه داشته باشید که این کار مقدار پیش فرض بی نهایت را برای این فیلد , باطل خواهد ساخت.

بنابراین پارامتر soundRange فقط ظاهر ویژوالی آیکون را کنترل نمی کند,بلکه برد ارسال را نیز کنترل می کند.
به منظور تصمیم گیری که آیا گیرنده در برد هست یا خیر,همه نمونه های ایجاد شده توسط Visualsense موقعیت آیکون را به عنوان یک نمایشی از موقعیت گره استفاده می کنند.بخش هایی اختیاری اند .
اگرچه همه این نمونه ها موقعیت دو بعدی را استفاده می کنند, ساختار نرم افزار بیان شده موقعیت سه بعدی را نیز پشتیبانی می کند.

شکل(۲۲)بخشی از مرکب در شکل قبلی که رویداد صوتی را تولید می کند

۴)کنترل اجرا :
WirelessDirector در شکل ۱۲ مؤلفه ای است که اجرای مدل را کنترل می کند.مانند اغلب مدل ها آن نیز پارامترهایی دارد پارامترهای آن در شکل ۲۳ نشان داده شده اند.توجه کنید که زمان توقف با “MaxDouble”

شکل(۲۳)پارامتر های wireless director در شکل ۱۲

تنظیم می شود,که عدد بسیار بزرگ است.این تعیین می کند که مدل باید برای همیشه اجرا گردد.
توجه کنید که پارامتر synchronizeToRealTime از Director کنترل می شود.این بدین معنی است که هنگامی که مدل را اجرا می کنید,اکتور کلاک که یک صوت را در هر ۲ ثانیه یکبار تولید می کند,اجازه داده نخواهد شد تا رویداد هایی را در سرعت بیشتر ایجاد کند.این پارامتر برای دریافت مقیاس های زمانی واقع گرایانه هنگام اجرا استفاده می شود.معمولا ,این پارامتر باید برای مدل های در حال اجرا کنترل شود.دیگر پارامترهای Director درباره میزان سازی عملکرد شبیه ساز رویداد گسسته است.آنها فراتر از قلمرو این گزارش هستند.

۵)ساخت یک مدل جدید :
حالا ما می خواهیم به ایجاد یک مدل شبکه بی سیم حسگر جدید بپردازیم.در هر پنجره Visualsense , FileNewGraph Editor را انتخاب کنید.این کار پنجره ای مانند آنچه در شکل ۲۴ نشان داده شده را نتیجه می دهد.آن شامل یک Wireless Director است,و نه هیچ چیز دیگری .PowerLossChannel را از کتابخانه ی WirelessChannel در سمت چپ بکشید ,همچنانکه در شکل ۲۵ نشان داده شده است.

به پارامتر های این کانال توجه کنید , که در شکل ۲۵ نشان داده شده است .دقت کنید که پارامتر defaultProperties شامل یک رکورد به همراه دو فیلداست,{range=Infinity, power=Infinity}.این کانال می تواند برای مدل های مختلف در توان ارسال و همچنین اتلاف توان به عنوان تابعی از فاصله استفاده شود. ما مدلی را خواهیم ساخت که اگر گیرنده به اندازه کافی توان دریافت کند ارتباط را بدست می آورد,در غیر این صورت ارتباط را بدست نخواهد آورد.
Documentation برای اکتور PowerLossChannelو(سایر اکتورها) می تواند بوسیله کلیک راست روی اکتور و انتخابGet Documentation بدست بیاید.در این مثال , ما صفحه نمایش داده شده در شکل ۲۶ را خواهیم داشت که متن تولید شده برای کلاس جاوا که این کانال را مشخص می کند , نشان می دهد.بالای این صفحه نمایش, ارث بری زنجیره ای این اکتور نمایش داده شده که اشاره دارد به اینکه , اکتور از LimitedRangeCannel توسعه یافته است.به همین ترتیب از DelayChannel و بعد از ErasureChannel و آن نیز از AtomicWirelessChannel گسترش می یابد.هر یک از این

کانال ها مقدار کمی سودمندی را اضافه می کنند, و کد منبع برای هر یک به عنوان یک مثالی از اینکه چه طور مدل های کانال را تعریف می کنند , فراهم می شود.شما می توانید کد منبع را با راست کلیک و انتخاب Look Inside ببینید.(شکل ۲۷).به عنوان مثال در شکل ۲۷ متن , پارامتر powerPropagationFactor را توضیح می دهد.

شکل(۲۴)پنجره ساخت یک مدل جدید

شکل(۲۵)مدل جدید ثابت شده با یک کانال

شکل(۲۶)پنجره documentation برای PowerLossChannel

“انتشار توان به عنوان یک عبارتی که ارزیابی می شود و سپس در فیلد توان از مشخصات ارسال قبل از رها سازی به گیرنده ضرب می شود.برای راحتی کار ,یک متغیرکه distance نامیده شده در دسترس است و معادل با فاصله میان فرستنده و گیرنده است موقعی که فرمول انتشار توان ارزیابی می شود.بنابراین, عبارت می تواند به این فاصله بستگی داشته باشد .مقدار فیلد توان باید به عنوان توان در فرستنده تفسیر شود ولیکن به عنوان چگالی توان در گیرنده باید تفسیر گردد.یک گیرنده ممکن است چگالی توان را با بازدهی اش و یک قلمرو(به طور نمونه قلمرو آنتن ) افزایش دهد.یک گیرنده می تواند سپس توان بدست آمده را برای مقایسه در برابر یک آستانه قابل کشف,یا برای تصمیم گیری نسبت سیگنال به تداخل, برای استفاده کرد.

مقدار پیش فرض powerPropagationFactor 1.0/(4*PI*distance*distance) است.فرض بر این است که توان ارسال به صورت یکنواخت در یک کره به شعاع distance توزیع شده است.نتیجه افزایش این بوسیله یک توان ارسال چگالی توان(توان بر واحد سطح)است.گیرنده باید این چگالی توان را بوسیله قلمرو حسگری که آن را برای گرفتن انرژی استفاده می کند,افزایش دهد(مثل ناحیه آنتن) و همچنین یک فاکتور بازدهی که نشان می دهد که چه طور آن به طور مؤثر انرژی را می گیرد.

شکل(۲۷)منبع کد برای PowerLossChannel

فیلد توان از مشخصات ارسال می تواند بوسیله فرستنده به عنوان رکورد با یک فیلد توان از نوع دابل پشتیبانی شود.مقدار پیش فرض این کانال بی نهایت است.”
به ما اجازه بدهید تا یک مدل را با استفاده از این پارامتر ها بسازیم.
دو نمونه از WirelessComposite را از کتابخانه ActorWirelessActors در سمت چپ بکشید. آنها را به Transmitter و Receiver بوسیله کلیک راست روی آنها و انتخاب Customize Name تغییر نام دهید(شکل ۲۸).این مؤلفه ها به پورت نیاز دارند .برای ایجاد آن روی آنها کلیک راست کنید و Configure Ports را انتخاب نمایید.روی دکمه ADD کلیک کنید و یک پورت خروجی با نام output برای فرستنده ایجاد کنید و یک پورت

شکل(۲۸)مدل ثابت شده با دو نمونه از wirelesscomposite

ورودی به نام input برای گیرنده ایجاد کنید(شکل ۲۹). روی هر پورت کلیک راست کرده و configureرا انتخاب کنید و outsideChannel را با “PowerLossChannel” مشخص کنید(این قسمت باید واقعا با نام کانال منطبق باشد).

شکل(۲۹)مدل با پورت های اضافه شده به فرستنده و گیرنده

ما کار فرستنده و گیرنده با مدل های ساده از گره ها شروع می کنیم. برای انجام این کار,فرستنده را Look Inside می کنیم,که پنجره شکل ۳۰ حاصل می شود.توجه کنید که پورت خروجی در بالا سمت چپ واقع شده است.آن را به یک مکان قابل قبول تر انتقال دهیدو به آن یک نمونه از اکتور PoissonClock از کتابخانه ActorsSourceTimedSource را اتصال دهید(شکل ۳۱).برای ساخت یک اتصال, از پورت خروجی اکتور PoissonClock کلیک کنید و بکشید,یا Ctrl+Click کرده و از پورت خروجی فرستنده به پورت خروجی اکتور PoissonClock بکشید.اکتور PoissonClock رویدادهایی را در زمان های تصادفی تولید می کند, در جایی که زمان بین رویدادها از یک متغیر تصادفی نمایی با ابزار داده بوسیله پارامتر meanTime از پوآسون کلاک بدست می آید.مقدار پیش فرض آن ۱٫۰ استکه برای اهداف ما مناسب است.اگر به پنجره بالاتر بر گردید و روی WirelessDirector دابل کلیک کنید تا پارامتر synchronizeToRealTime آن را ست کنید, سپس فرستنده رویداد هایی را با نرخ متوسط یک در ثانیه تولید خواهد کرد.

شکل(۳۰)درون فرستنده

شکل(۳۱)فرستنده تکمیل شده
اکتور گیرنده را Look Inside کنید و مدل نشان داده شده در شکل ۳۲ را بسازید. اکتور Ramp می توانید در کتابخانه اکتورها تحت مسیر زیر پیدا کنید:

SourceSequenceSource
و اکتور display را از مسیر زیر بیابید:
SinksGenericSinks

همچنانکه در سمت چپ شکل نشان داده شده است.حال مدل آماده اجرا می باشد.روی مثلث قرمز رنگ در نوار ابزار کلیک کنید نتیجه اجرا در display در شکل ۳۳ نشان داده شده است.Ramp تعدادی از ورودی ها را تولید می کند. اگر شما به یاد داشته باشید که پارامتر synchronizeToRealTime را ست کنید,سپس تعدادی عدد در زمانهای تصادفی با فاصله میانگین یک ثانیه ظاهر خواهد شد.
شما ممکن است بخواهید تا فایل خود را ذخیره کنید(FileSave).از پسوند .xml(یا moml) استفاده کنید تا مطمئن شوید که Visualsense این را به عنوان یک فایل مدل تشخیص خواهد داد.

شکل(۳۲)گیرنده تکمیل شده

شکل(۳۳)display که نتیجه اجرای توضیح داده شده بالا را نمایش می دهد

اجازه دهید که این مدل را برای اینکه اتلاف توان کانال به عنوان تابعی از فاصله مشاهده شود,اصلاح نماییم.برای انجام این کار ,اکتور GetProperties در کتابخانه ActorWirelessActor پیدا کنید,وجایگزین اکتور Ramp در داخل گیرنده کنید (شکل ۳۴) .حال مدل را اجرا کنید نتایج در display در شکل ۳۵ وجود دارد.توجه کنید که توان دریافت شده همیشه بی نهایت است,که بسیار مفید نیست.

شکل(۳۴)گیرنده اصلاح شده که مشخصات دریافت شده را نمایش می دهد.

شکل(۳۵)display که نتیجه استفاده از گیرنده طراحی شده در بالاست.

در واقع,فرستنده توان ارسال را مشخص نکرده است,و PowerLossChannel یک توان پیش فرض بی نهایت دارد,همانند شکل ۲۵٫ اتلاف توان معرفی شده توسط کانال نا مربوط است,زیرا در این مدل توان ارسال بی نهایت است و موقعی که اتلاف غیر صفر افزوده می شود,باز هم توان بی نهایت حاصل می شود.
برای آنکه به یک مدل معقول تری از اتلاف انرژی دست پیدا کنیم توان انتقال را بوسیله کلیک راست روی پورت خروجی فرستنده و تنظیم پارامتر outsideTransmitProperties به “{power=1.0}” تنظیم کنید(شکل ۳۶) اجرای مجدد شبیه شکل ۳۷ خواهد بود ,که تغییر پذیری سطح توان بوسیله حرکت گیرنده در اطراف فرستنده در حالیکه مدل در حال اجراست,بدست می آید.

شکل(۳۶)تنظیم توان ارسال فرستنده

شکل(۳۷)display که نتیجه استفاده از مجموعه توان ارسال را در شکل بالا نشان می دهد.

به شکل ۳۷ توجه کنید که یکی از مقادیر توان دریافت شده بی نهایت دارد.این موقعی رخ می دهد فرستنده وگیرنده بر یکدیگر منطبق باشند.ازDocumentation برای PowerLossChannel فراخوانی کنید که مقدار فیلد Power در مشخصات دریافت شده یک چگالی توان است,نه یک توان مطلق .از این رو اگر فرستنده و گیرنده یک فضای فیزیکی را اشغال کنند و فرستنده یک منبع نقطه ای باشد,آنگاه چگالی توان در گیرنده بی نهایت است.به طور نمونه, یک مدل گیرنده این چگالی توان را بوسیله یک سطح آنتن دهی مؤثر و یک بازده آنتن دهی افزایش خواهد داد تا یک سطح توان دریافت شده مطلق را دریافت کند.