محیط کاربری نرم افزار شبیه ساز OMNET
در این بخش در قالب یک آموزش کوتاه به آشنایی با محیط کاربری نرم افزار شبیه ساز OMNET پرداخته می شود که امیدواریم برای علاقمندان و تازه کاران آمنت مفید باشد.
محیط کاربری آمنت
محیط کاربری امنت یکی از ایده آل ترین محیط های کاربری برای توسعه و اجرای سناریو های شبیه سازی می باشد که محیطی منعطف، محبوب و مبتنی بر جاوا Eclipse است. در واقع محیط کاربری OMNET نسخه سفارشی سازی شده ای از Eclipse می باشد. یکی از مزیت های عمده محیط کاربری آمنت این است که می توان بدون هیچ گونه کد نویسی سناریو های شبیه سازی را پیاده و اجرا نمود. علاوه بر این در صورتی که مواردی خاص از شبیه سازی وجود داشته باشد در محیط کاربری OMNET این امکان وجود دارد تا کد نویسی نیز انجام شود.
شکل زیر محیط کاربری آمنت را نمایش می دهد؛ در سمت چپ پنجره Project Explorer وجود دارد که تمامی فایل ها و فولدر های پروژه های مختلف انجام شده و یا وارد شده به برنامه را نمایش می دهد. به طور مثال با کلیک بر روی فولدر veins از سمت چپ تمامی فایل های کدهای منبع موجود در فریم ونیز مشاهد می شود.
کدهای منبع موجود، الگو و مبنای مناسبی برای ایجاد پروتکل های شبکه شخصی هستند، مورد قابل ذکر دیگر این است که محیط کاربری آمنت به صورت کامل برای برنامه نویسی به زبان سی پلاس پلاس تكامل یافته است در سمت راست. همانطور که در شکل بالا مشخص است، در تب Help مستنداتی در ارتباط با کتابخانه های ++C و همینطور راهنمایی برای توسعه دهندگان ارائه شده است. همچنین اگر فریم ورک Inet را نصب کرده باشید، در پوشه Src با کلیک بر روی مثلث Inet و سپس application و در نهایت dhcp ، کدهای منبع ماژول Dynamic Host Configuration Protocol که در آینت تعبیه شده را شاهد خواهید کرد.
با کلیک مضاعف بر روی DHCPClient.cc پنجره جدیدی باز و محتویات کدها قابل مشاهده خواهند بود. محیط برنامه نویسی در آمنت از کیفیت مناسبی برخوردار است و با رنگ آمیزی کدها و ایجاد تور رفتگی در متن كدها خوانایی و نوشتن کدها را هر چه بیشتر آسان نموده است.
در زیر تکه کد مربوط به DHCPClient.cc را مشاهده می کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include "DHCPClient.h" #include "InterfaceTableAccess.h" #include "IPv4InterfaceData.h" #include "ModuleAccess.h" #include "NotifierConsts.h" #include "RoutingTableAccess.h" Define_Module(DHCPClient); DHCPClient::DHCPClient() { timer_t1 = NULL; timer_t2 = NULL; timer_to = NULL; nb = NULL; ie = NULL; irt = NULL; lease = NULL; } DHCPClient::~DHCPClient() { cancelTimer_T1(); cancelTimer_T2(); cancelTimer_TO(); } |
هیچ نظری ثبت نشده است