پایان نامه:ارائه روشی برای کشف و انتخاب سرویس های وب در محیط های محاسبات فراگیر بر روی گوشی های هوشمند
پایاننامه کارشناسی ارشد در رشته مهندسی فناوری اطلاعات
(طراحی و تولید نرم افزار)
ارائه روشی برای کشف و انتخاب سرویس های وب در محیط های محاسبات فراگیر بر روی گوشی های هوشمند
استاد راهنما:
دکتر بوشهریان
شهریور ماه ۱۳۹۳
(در فایل دانلودی نام نویسنده موجود است)
چکیده
ارائه روشی برای کشف و انتخاب سرویس های وب در محیط های محاسبات فراگیر بر روی گوشی های هوشمند
به کوشش
شاهین چادرباف شوشتری
امروزه تعداد زیادی سرویسهای وب در شبکه های رایانهای عرضه میشوند، که امکان کشف و کلاسهبندی آنها بهطور موثر وجود ندارد. این موضوع باعث میشود، که درخواستکنندگان سرویسهای وب وقت زیادی را صرف پیدا کردن سرویس وب مورد نظر خود، نمایند. این موضوع در محیطهای محاسبات سیار و بهخصوص بر روی گوشیهای هوشمند، مشکلات و چالشهای مربوط به خود را دارد. در این پژوهش به ارائه روشی برای کشف و کلاسهبندی سرویسهای وب در محیطهای محاسبات فراگیر و مناسب برای گوشیهای هوشمند پرداخته شده است. روش ارائه شده برای کشف سرویسهای وب، بر پایه کشف سرویسها مبتنی بر DNS ارائه شده است. روشی که برای کلاسهبندی سرویسهای وب ارائه شده است از دو مرحله پردازش متنی و کلاسهبندی تشکیلشده است. مرحله کلاسهبندی با به کارگیری پایگاهداده واژگانی WordNet و eXtended WordNet Domain صورت میگیرد. برای ارزیابی روش پیشنهای دقت، مدت زمان اجرا و مقدار حافظه مصرفی آن اندازه گیری شده است و نتایج حاصل از اندازه گیری با روشی دیگری که برای کلاسهبندی سرویسها ارائه شده و مبتنی بر SVM است، مقایسه شده است. همچنین از نتایج حاصل از پژوهش برای پیادهسازی یک نرم افزار اندرویدی برای گوشیهای هوشمند استفاده شده است. این نرم افزار سرویسهای وب محیطهایی که گوشی هوشمند در آن قرار میگیرد را کشف و کلاسهبندی مینماید و این اطلاعات را در اختیار کاربر و سایر نرم افزارهای کاربردی که بر روی گوشی هوشمند قرار گرفتهاند، میگذارد.
واژگان کلیدی: سرویس وب، معماری سرویسگرا، کشف سرویس، کلاسهبندی سرویس
فهرست مطالب
عنوان صفحه
فصل ۱- مقدمه ۹
۱-۱- مقدمه ۹
۱-۲- هدف و انگیزه ۱۰
۱-۳- تعریف مسئله ۱۱
۱-۴- ساختار مطالب پایان نامه ۱۲
۱-۵- جمعبندی و نتیجه گیری ۱۲
فصل ۲- مروری بر ادبیات تحقیق و مبانی نظری ۱۶
۲-۱- سرویسهای وب ۱۶
۲-۱-۱- Simple Object Access Protocol (SOAP) 18
۲-۱-۲- WSDL (Web Service Description Language) 20
۲-۱-۳- UDDI (Universal Description, Discovery and Integration) 22
۲-۱-۴- RESTful (Representational State Transfer) 23
۲-۱-۵- مقایسه SOAP و RESTfull 24
۲-۱-۶- کشف سرویس مبتنی بر DNS 26
۲-۲- جمعبندی و نتیجه گیری ۲۹
فصل ۳- پیشینه پژوهشی ۳۳
۳-۱- کلاسهبندی سرویسها مبتنی بر دادهکاوی ۳۳
۳-۱-۱- تشکیل بردار خصوصیتها ۳۴
۳-۱-۲- اعمال روشهای کلاسهبندی دادهکاوی ۳۴
۳-۲- استفاده از تکنیکهای یادگیری ماشین ۳۵
۳-۲-۱- نمونه هایی از کارهای پژوهشی پیشین ۳۶
۳-۳- جمعبندی و نتیجه گیری ۳۸
فصل ۴- ارائه روش پشنهادی ۴۱
۴-۱- کشف سرویسها ۴۱
۴-۲- کلاسهبندی سرویسها ۴۳
۴-۲-۱- Feature Mining 44
۴-۲-۲- Tokenization 44
۴-۲-۳- Stemming 44
۴-۲-۴- Stop List 45
۴-۲-۵- معرفی WordNet Ontology 45
۴-۲-۶- معرفی eXtended WordNet Domains 45
۴-۲-۷- روش کلاسهبندی ارائه شده ۴۶
۴-۳- جمعبندی و نتیجه گیری ۴۷
فصل ۵- پیادهسازی ۵۰
۵-۱- مرور کلی پیادهسازی از دیدگاه مورد استفاده ۵۰
۵-۱-۱- مورد استفاده ثبت دامنه مورد نظر کاربر ۵۱
۵-۱-۲- مورد استفاده مشاهده لیست دامنههای مورد نظر برنامه های کاربردی ۵۲
۵-۱-۳- مورد استفاده مشاهده لیست سرویسهای هر دامنه ۵۳
۵-۱-۴- مورد استفاده ثبت دامنه مورد نظر نرم افزار گوشی ۵۴
۵-۱-۵- دریافت لیست سرویسهای مرتبط با یک دامنه توسط نرم افزارهای کاربردی ۵۵
۵-۲- ساختار بستهها ۵۵
۵-۲-۱- ساختار کلاسهای بسته Activity 57
۵-۲-۲- ساختار کلاسهای بستههای Broadcast Receiver و Service 59
۵-۲-۳- ساختار کلاسهای بسته Business Component 61
۵-۲-۴- ساختار کلاسهای بسته Classification 62
۵-۲-۶- ساختار کلاسهای بسته Data Source 67
۵-۲-۷- ساختار کلاسهای بسته Discovery 70
۵-۲-۸- ساختار کلاسهای بسته Entity 71
۵-۲-۹- ساختار کلاسهای بسته ServiceDirectory 73
۵-۳- جمعبندی و نتیجه گیری ۷۴
فصل ۶- ارزیابی روش پیشنهادی ۷۸
۶-۱- مجموعهداده ۷۸
۶-۲- اجرای روش پیشنهادی ۷۹
۶-۲-۱- بررسی دقت روش پیشنهادی ۸۰
۶-۲-۲- مشخصات محیط اجرا ۸۰
۶-۲-۳- بررسی زمان اجرای روش پیشنهادی ۸۰
۶-۲-۴- میزان حافظه مصرفی روش پیشنهادی ۸۱
۶-۳- اجرای روش مبتنی بر SVM 82
۶-۳-۱- فاز آموزش ۸۳
۶-۳-۲- فاز تست ۸۴
۶-۳-۳- بررسی دقت روش مبتنی بر SVM 84
۶-۳-۴- بررسی زمان اجرای روش مبتنی بر SVM 85
۶-۳-۱- میزان حافظه مصرفی روش مبتنی بر SVM 85
۶-۴- ارزیابی و مقایسه روش پیشنهادی ۸۶
۶-۴-۱- مقایسه دقت ۸۶
۶-۴-۲- مشاهدات متناظر ۸۷
۶-۴-۳- مقایسه زمان اجرا ۸۸
۶-۴-۴- مقایسه حافظه مصرفی ۸۹
۶-۴-۵- تحلیل نتایج ۹۰
۶-۵- جمعبندی و نتیجه گیری ۹۲
فصل ۷- بحث و نتیجهگیری ۹۶
۷-۱- کشف سرویسها ۹۶
۷-۲- کلاسهبندی سرویسها ۹۷
۷-۳- جمعبندی و نتیجه گیری ۹۸
فصل ۸- پیشنهادها و فرصتهای پژوهشی آینده ۱۰۲
۸-۱- جمعبندی و نتیجه گیری ۱۰۴
فهرست شکلها
عنوان صفحه
شکل ۲‑۱- معماری سرویسهای وب ۱۸
شکل ۲‑۲- تفاوت نسخههای WSDL نسخه ۱٫۱ و نسخه ۲٫۰ ۲۱
شکل ۴‑۱- فرآیند کلاسهبندی سرویسهای وب ۴۳
شکل ۵‑۱-نمودار موردهای استفاده ۵۱
شکل ۵‑۲- نمای دامنههای مورد نظر کاربر ۵۲
شکل ۵‑۳-نمایی اصلی برنامه ۵۴
شکل ۵‑۴- نمودار بستهها ۵۶
شکل ۵‑۵- نمودار کلاسهای بسته Activity 58
شکل ۵‑۶- نمودار کلاس بستههای Broadcast Receiver و Service 60
شکل ۵‑۷- نمودار کلاس بسته Business Component و وابستگیها ۶۲
شکل ۵‑۸- نمودار کلاس بسته Classification 64
شکل ۵‑۹- نمودار کلاس بسته Content Provider 66
شکل ۵‑۱۰-نمودار کلاس بسته Data Source 68
شکل ۵‑۱۱- کلاس Service 69
شکل ۵‑۱۲- نمودار کلاس بسته Discovery و بستههای وابسته ۷۱
شکل ۵‑۱۳- نمودار کلاس بسته Entity 73
شکل ۵‑۱۴- نمودار کلاس بسته Directory 74
شکل ۶‑۱- بردار نمونه یک سرویس در روش متنی بر SVM 83
شکل ۶‑۲- نمودار مقایسه دقت روشها ۸۷فهرست جدولها
عنوان صفحه
جدول ۳‑۱- جدول مقایسه دقت کلاسهبندی برای انواع بردارها و روشها ۳۵
جدول ۶‑۱- بررسی دقت روش پیشنهادی ۸۰
جدول ۶‑۲- مشخصات گوشی که به عنوان محیط اجرا استفاده شده ۸۰
جدول ۶‑۳- زمانی اجرای روش پیشنهادی ۸۱
جدول ۶‑۴- حافظه مصرفی روش پیشنهادی ۸۲
جدول ۶‑۵- بررسی دقت روش مبتنی بر SVM 84
جدول ۶‑۶- زمانی اجرای روش مبتنی بر SVM 85
جدول ۶‑۷- حافظه مصرفی روش مبتنی بر SVM 85
جدول ۶‑۸- مقایسه دقت روشها ۸۶
جدول ۶‑۹- بازههای اطمینان مختلف به ازای سطوح اطمینان مختلف برای زمان اجرا ۸۹
جدول ۶‑۱۰- بازههای اطمینان مختلف به ازای سطوح اطمینان مختلف برای حافظه مصرفی ۹۰
فصل ۱- مقدمه
در این فصل به ارائه مقدمهای در مورد موضوع پروژه می پردازیم. در ادامه به بیان انگیزه و هدف تحقیق پرداخته میشود، و سپس مسئلهای که با آن مواجه هستیم توضیح داده میشود. در قسمت آخر نیز ساختار مطالب پایان نامه توضیح داده میشود.
-۱- مقدمه
امروزه در دسترس بودن اینترنت در اکثر مکانها یک تجربه روزمره است. از این رو برای کاربران سیار این انتظار ایجاد شده است، که دستگاهی که از آن استفاده مینمایند، در همه مکانها و زمانها قادر به پردازش باشد. پیشرفتهای اخیری که در تولید دستگاههای سیار صورت گرفته به همراه تحولات بسیاری که در فناروی شبکه های بیسیم رخ داده است، فناوری را به سمت محاسبات سیار و دسترسی مداوم و بدون وقفه به داده ها و اطلاعات میبرد. اگر چه مشکلاتی که در ارتباطات رخ میدهد و البته محدودیتهای دستگاههای سیار یک چالش مهم برای تحقق دسترسی مداوم و بدون وقفه در همه زمانها و مکانها محسوب میشود.
معماری سرویسگرا به عنوان یکی از سبکهای معماری پیشرو در محیطهای محاسبات فراگیر مطرح شده است. معماری سرویسگرا از قابلیت استفاده مجدد[۱]، اتصال سست[۲]، انعطافپذیری در طراحی و قابلیت همکاری[۳] بین سیستمهای ناهمگون[۴]، به صورت موثری پشتیبانی مینماید. معماری سرویسگرا دورنمایی از توسعه نرمفزارهایی در محیطهای محاسبات فراگیر ارائه میدهد که در آن نرم افزارها با به کارگیری قابلیتهای شبکه های رایانهای بتوانند به طور موثر و به صورت خودکار با یکدیگر وارد تعامل شوند.[۱]
۱-۲- هدف و انگیزه
با ظهور و تکامل استفاده از شبکه های رایانهای و اینترنت بر روی گوشیهای هوشمند، دامنه استفاده از گوشیهای هوشمند از کاربردهایی که درون گوشی هوشمند تعبیه شده اند، فراتر رفته و میتوان کارکردهایی در سطح شبکه های رایانهای و اینترنت را برای گوشی هوشمند در نظر گرفت. گوشیهای هوشمند برای اینکه بتوانند کارکردهایی در سطح شبکه های رایانهای و اینترنت داشته باشند، این نیازمندی وجود دارند که بتوانند از سرویسهایی که در اینترنت و شبکه های رایانهای وجود دارد استفاده نماید. اولین گام برای استفادهای موثر از سرویسهایی که ارائه میگردند، کشف و انتخاب سرویس مناسب میباشد. در حال حاضر تعداد زیادی سرویس در شبکه های رایانه و اینترنت برای استفاده عرضه میگردنند. ازدیاد سرویسهای عرضهشده، می تواند مشکل و مانعی بر سر استفاده موثر از سرویسهای وب به وجود آورد. از این رو نیازمند سازوکارهایی برای کشف و کلاسهبندی سرویسهای وب هستیم، تا استفاده کنندگان از سرویسهای وب بتوانند به صورت موثر سرویس وب مورد نظر خود را انتخاب نمایند.
- ۹۹/۰۴/۰۶