نام پژوهشگر: سید مرتضی بابامیر
مسعود عرب فرد سید مرتضی بابامیر
مخزن معماری سرویس گرا که با نام uddi شناخته می شود در اکثر معماری های توزیع شده بر پایه سرویس مورد استفاده قرار می گیرد. استفاده از این مخزن به مصرف کنندگان سرویس کمک می کند تا به راحتی سرویسی که نیاز دارند را پیدا کنند. اما این مخزن یک مخزن منفعل است بدین معنی که بعد از پیدا کردن سرویس، مصرف کننده دیگر هیچ تعاملی را با مخزن ندارد و این عدم تعامل باعث بروز مشکلاتی برای مصرف کنندگان خواهد شد. ما در این تحقیق قصد داریم تا تمرکز اصلی را بر روی مخزن سرویس گذاشته و عیب منفعل بودن آن را بوسیله تکنیک پایگاه داده فعال مرتفع کنیم. از جمله مشکلاتی که ممکن است برای مصرف کنندگان سرویس اتفاق بیافتد اینست که در صورتی که تولید کننده ای آدرس سرویس خودش را تغییر دهد مصرف کننده از این تغییر مطلع نمی شود و یا اگر اطلاعات مربوط به سرویسی ویرایش شود باز هم مصرف کننده از آن مطلع نمی شود مگر اینکه به مخزن سرکشی کند. برای برقراری ارتباط بین مصرف کننده و مخزن ما از محرک های پایگاه داده استفاده می کنیم تا مشکل منفعل بودن مخزن را برطرف کنیم و بعد از فعال سازی مخزن کارایی مخزن فعال را ارزیابی کنیم. به منظور ارائه عملی بودن مدل پیشنهادی، ما آن را برای یک سیستم اطلاعاتی بیمارستانی نمونه با بیست ایستگاه کاری به کار گرفتیم و کارایی آن را ارزیابی کردیم. مدل پیشنهادی ما از تعدادی سرویسگر ناظر و تعدادی متقاضی تشکیل شده است که در آن سرویسگر ناظر وظیفه اطلاع رسانی در خصوص تغییرات مخزن به متقاضی یا مصرف کنندگان سرویس را به عهده دارد. علاوه بر این، مدل طراحی شده اجازه افزودن قابلیت هایی مانند تحمل پذیری خطا، آمارگیری و دسته بندی مصرف کنندگان سرویس وکنترل متمرکز و تعامل بین مصرف کنندگان سرویس را به مخزن می-دهد. کلمات کلیدی: معماری سرویس گرا – ثبات سرویس – پایگاه داده فعال - اطلاع رسانی به مصرف کننده سرویس .
رضا بابایی سید مرتضی بابامیر
گرایش به سمت استفاده از سیستم های سرویس گرا رو به افزایش است؛ اگرچه ذات بسیار پویای این سیستم ها فرایند راستی آزمایی آنها را در عمل با مشکلات زیادی روبه رو کرده است. راستی آزمایی زمان اجرا اگرچه بیشتر به منظور استفاده در سیستم های حساس به ایمنی طراحی شده است، اما می توان از آن به عنوان روشی جدید در فرایند راستی آزمایی سیستم های سرویس گرا هم بهره برد. در این پروژه فرایند راستی آزمایی زمان اجرای سیستم سرویس گرای حساس به ایمنی به کمک زبان توصیفی asm شرح داده شده است. بدین منظور ابتدا سرویس های سیستم نمونه بر اساس نیازهای کاربر استخراج شده و مطابق با جریانِ کارِ مورد نظر او ارتباطات آنها مشخص می شود. سپس هر یک از این سرویس ها به صورت جداگانه به زبان asm توصیف شده و در هر مورد نیز ارتباط آن با دیگر سرویس ها تعیین می شود. پس از آن که توصیف سیستم به زبان asm مهیا شد، با استفاده از میان افزار padres که بر اساس ساختار شبکه ای توزیع شده با الگوی ناشر/مشترک طراحی شده است، مدل سرویس گرا به صورت انتزاعی پیاده سازی می شود. هر یک سرویس ها روی یکی از عامل های اصلی padres یعنی ناشر و مشترک، نگاشت می شود و آنگاه ویژگی های مورد نظر توسط ناظرهای از پیش تعریف شده و بر اساس قیود و توصیفات asm، وارسی می شوند. قیود مورد نیاز سیستم می تواند در دوسطح حالات سرویس ها و یا داده های تبادلی بین سرویس ها تعریف شود. نتایج اجرای عملی مدل پیشنهادی نشان می دهد که ساختار پویای شبک? ناشر/مشترک منطبق با معماری سرویس گرا می باشد و اضافه و کم کردن ناظرها (و به طور کلی سرویس ها) توسط کاربر به سادگی امکان پذیر است. از نظر کارایی، این مدل زمان یافتن نقض قیود را تغییری نمی دهد هر چند که تعداد سرویس ها به طور قابل توجهی افزایش یافته باشد. با این حال padres مشکل استفاد? از حافظه بدون آزاد کردن آن را دارد که طراح را مجبور می کند تا به طور دقیقی تعداد کاربران را روی یک ماشین فیزیکی بر اساس میزان حافظ? در دسترس آن مشخص نماید.
اعظم اصیلیان بیدگلی حسین ابراهیم پور کومله
پردازش تصویر و بینایی ماشین از علوم پرکاربرد در شاخه علوم رایانه می باشد. سامانه بینایی ماشین تصاویری از محیط اطراف خود گرفته و با تحلیل آن ها تعیین می کند که چه می بیند. یکی از معروف ترین روش های بازشناسی اشیا، هسته تطبیق هرمی مکانی است. هسته تطبیق هرمی مکانی به همراه ماشین بردار پشتیبان از دقت خوبی در بازشناسی اشیا برخوردار است. این روش علاوه بر دقت، مطلوبیت بالایی در بین محققان در این زمینه دارد. اما مراحلی که معمولا در سامانه های بازشناسی اشیا از جمله ایجاد هسته تطبیق هرمی مکانی انجام می گیرد زمان گیر و دارای محاسبات زیاد هستند. تلاش در استخراج ویژگی هایی از کل تصاویر یک پایگاه داده و تحلیل این ویژگی ها برای به کار بردن آن در این سامانه می تواند بسیار زمان گیر باشد. بنابراین موازی سازی الگوریتم کمک زیادی به کارایی آن خواهد کرد. جعبه ابزار محاسبات موازی matlab یکی از مفیدترین ابزار در این زمینه خواهد بود. در این پایان نامه بعد از تحقیق روی روش های مختلف بازشناسی اشیا سعی شده است با استفاده از این ابزار، الگوریتم های تشکیل هسته تطبیق هرمی مکانی و الگوریتم تشخیص اشیا در تصاویر بر اساس روش معروف وایولا- جونز به صورت موازی پیاده سازی شوند. اجرای موازی الگوریتم روی کلاستری از رایانهها انجام شده است و بسته به تعداد پردازنده ها و هسته های هر پردازنده تا چندین برابر سرعت را در پی خواهد داشت که ما در این پیاده سازی به حداکثر 15 برابر سرعت در محاسبه هسته تطبیق هرمی مکانی و 19 برابر در الگوریتم تشخیص اشیا با استفاده از 5 رایانه با پردازنده های quad دست یافتیم. در این پیاده سازی به جای اجرای کل الگوریتم توسط یک رایانه هر یک از آن ها وظیفه اجرای بخشی از الگوریتم را بر عهده خواهند داشت. همچنین با ارائه راه حل هایی سعی شده است ارتباطات بین نودهای کلاستر-که همواره یکی از مشکلات روش های موازی سازی است- کمترین هزینه را برای انتقال داده در پی داشته باشد.
صفیه طهماسبی پور سید مرتضی بابامیر
یک معمار نرم افزار با استفاده از سبک های معماری و ویژگی های کیفی موردنظر، طراحی معماری نرم افزار را انجام می دهد. ویژگی های کیفی نرم افزار نقش حیاتی در توسعه نرم افزار دارند که به عنوان معیار گزینش برای انتخاب پیاده سازی نهایی از بین طراحی های مختلف بکار می روند. برای بکارگیری هر ویژگی کیفی، تاکتیک هایی معرفی شده است. هر تاکتیک، در میزان تحقق ویژگی کیفی خاص تاثیر می گذارد زیرا تاکتیک ها، چگونگی پیاده سازی ویژگی های کیفی را در سبک های معماری تعیین می کنند. بنابراین پیاده سازی تاکتیک ها، برای برآورده کردن ویژگی های کیفی در سبک های معماری نقش مهمی دارند. در این پژوهش چگونگی پیاده سازی و تاثیر تاکتیک های ”فراهم بودن“، ” امنیت“ و ”کارایی“ در سبک های رایج معماری نرم افزار بدست آورده شد. سپس با توجه به نتایج به دست آمده، روشی برای انتخاب بهترین سبک از بین سبک های رایج معماری ارائه شد. با استفاده از این روش می توان بهترین سبک معماری را برای هر کدام یا ترکیبی از ویژگی های کیفی مذکور بدست آورد. در این پژوهش ابتدا سناریوهای مربوط به تاکتیک های مذکور تهیه شد. سپس سبک های رایج معماری با استفاده از روش مبتنی بر سناریوsaam ارزیابی شدند. از دو روش ارزیابی مذکور، نتایج یکسانی برای انتخاب سبک معماری مناسب با توجه به ویژگی کیفی مورد نظر بدست آمد.
اعظم فرخ سید مرتضی بابامیر
با افزایش روزافزون حجم اطلاعات مورد مبادله میان سیستم های نرم افزاری و گسترش میزان پیچیدگی چنین نرم افزارهایی، تقاضا برای سیستم هایی که عمر طولانی و قابلیت دسترسی بالا داشته باشند، رو به افزایش است. دست یابی به چنین سیستم هایی نیازمند خصوصیات ویژه ای است که از جمله مهم ترین آن ها قابلیت تطبیق این سیستم ها با تغییرات پیش آمده در شرایط زمان اجرا است. این امر باعث مطرح شدن موضوع تحقیقاتی سیستم های تطبیق پذیر شده است. سیستم خودتطبیق سیستمی است که رفتار خود را برای پاسخ به تغییرات محیط اصلاح می کند. یکی از انواع سیستم های خودتطبیق، سیستم های خودترمیم می باشند که باید بدون از دست دادن داده ها یا ایجاد تاخیر قابل توجه در پردازش، قادر به بازیابی از حوادث غیرمنتظره ای که ممکن است برخی از قطعات سیستم را دچار اختلال کنند، باشند. یکی از مهم ترین مسائل در طراحی این سیستم ها، قابلیت نگهداری است. قابلیت نگهداری یک سیستم رابطه معکوس با اتصال و رابطه مستقیم با چسبندگی دارد. یک سطح مناسب برای تطبیق پذیری می تواند سطح معماری نرم افزار باشد. معماری نرم افزار از طریق مولفه ها و اتصال دهنده ها و ارتباطات میان آن ها تعریف می شود. معماری های تطبیق پذیر از آن دسته معماری ها هستند که پویایی در حین اجرا را پشتیبانی می کنند، لذا می توانند معماری خود را تغییر داده و تغییرات را در زمان اجرای سیستم عملیاتی گردانند. این پایان نامه به مقایسه کمی سبک های مختلف معماری خودترمیم می پردازد و ویژگی قابلیت نگهداری را در سبک های خودترمیم مورد بررسی قرار می دهد. در این پایان نامه، معیارهایی برای اندازه گیری اتصال و چسبندگی به منظور ارزیابی سبک های معماری سیستم های خودترمیم ارائه کرده ایم. بطور کلی نتایج نشان می دهند که سبک معماری زنجیره ای از پیکربندها، کم ترین میزان اتصال و بیشترین میزان چسبندگی را دارد؛ در نتیجه در مقایسه با سایر سبک های خودترمیم، بهترین سبک از نظر قابلیت نگهداری می باشد.
محمد مهدی مروتی سید مرتضی بابامیر
نرم افزار خود تطبیق نرم افزاریست که قادر است خودش را در زمان اجرا به منظور پاسخگویی به تغییر نیازها، اهداف سیستم و محیط، تغییر داده تا با شرایط جدید تطیبق پیدا کند. یکی از مهم ترین مواردی که در نرم افزارهای خود تطبیق باید مورد بررسی قرار گیرد و مدیریت شود، عدم قطعیت است. مدیریت عدم قطعیت به معنی تلاش برای شناخت نتیجه و حاصل سیستم است، در شرایطی که تمام جنبه های سیستم کاملا شناخته شده نباشد. به عبارت دیگر "در حقیقت ما نمی توانیم در مورد رخداد یا نتیجه یک رویداد یا تصمیم اطمینان داشته باشیم". منظور از عدم قطعیت در نرم افزار خود تطبیق، شرایط و اهداف متغیر سیستم می باشد که ممکن است در زمان اجرا تغییر کنند. در صورت بررسی و مدیریت عدم قطعیت، تطبیق بهینه تری انجام شده و در نتیجه سیستم با سودمندی بیشتری به حیات خود ادامه می دهد. در مهندسی نرم افزار، عدم قطعیت می تواند با درجات متفاوتی رخ دهد و در مراحل تولید نرم افزار همچون مهندسی نیازها، توصیف، طراحی و پیاده سازی مشاهده شود. عدم قطعیت در نرم افزارهای خود تطبیق دارای منابع متفاوتی است، که برای مقابله و رویارویی با آنها روش های خاصی توسعه داده شده است. بدین منظور روش های مقابله با عدم قطعیت در نرم افزارهای خود تطبیق را در هر دسته از منابع شناخته شده عدم قطعیت به صورت مجزا مورد بررسی قرار می دهند. یکی از منابع عدم قطعیت ساده سازی فرضیات است، که در این پایان نامه بر روی آن متمرکز شدهایم. ساده سازی فرضیات به معنی بررسی مسئله بدون در نظر گرفتن تمام جزئیات یا به عبارت دیگر، چشم پوشی از جزئیات مسئله است. ساده سازی فرضیات در نرمافزارهای خود تطبیق به دلیل عدم دقت و ناصحیح بودن مدل های تحلیلی بوجود می آید. مدل های تحلیلی به منظور استدلال در مورد تاثیر انتخاب های تطبیق بر ویژگی های کیفی سیستم، مورد استفاده قرار می گیرند. در واقع، مدلهای تحلیلی با استفاده از تخمینهای انجام شده به منظور تعیین تاثیر پیکربندی بر ویژگیهای کیفی سیستم، باعث بوجود آمدن سادهسازی فرضیات و در نتیجه تولید عدم قطعیت در سیستم میشود. یکی از مهم ترین قسمت های نرم افزار خودتطبیق که نیازمند مدیریت عدم قطعیت است، قسمت تصمیم گیری در انتخاب پیکربندی مناسب، در شرایط متفاوت زمان اجرا است. با توجه به استفاده تمامی روش های موجود از مدل های تحلیلی به منظور تخمین اثر پیکربندی بر ویژگی های کیفی و همچنین استفاده از این تخمین ها در تحلیل ها یشان، این روش ها با ساده سازی فرضیات، خود منبعی برای عدم قطعیت به حساب می آیند. در پایان نامه ارائه شده، ابتدا به منظور یافتن پیکربندی بهینه از روش جستجوی کامل استفاده می کنیم. در این روش با توجه به شرایط موجود، تمامی پیکربندی های ممکن مورد بررسی قرار گرفته و بهینه ترین پیکربندی با توجه به قیود سیستم و اولویت های کاربران انتخاب می شود. با توجه به اینکه استفاده از محدوده عدم قطعیت(نظریه امکان) نسبت به نقطه تخمین(نظریه احتمال) نماینده بهتری برای نمایش رفتار سیستم است، در روش پیشنهادی رفتار سیستم بر پایه نظریه امکان نشان داده می شود. نقطه ضعف این روش هزینه زمانی بالا به دلیل بررسی تمام پیکربندی های ممکن و بررسی تمام ویژگی های کیفی است، به همین دلیل برای یافتن پیکربندی بهینه از الگوریتم ژنتیک استفاده می کنیم که در این صورت، هزینه زمانی در بهترین حالت به بیش از 4.5 برابر کاهش دادیم. همچنین محدوده عدم قطعیت سیستم در مرتفع کردن نیازهای کاربران در این روش در مقایسه با روش های موجود، در هر سه نقطه حداقل، میانگین و حداکثر بهبود یافت.
المیرا حسن زاده سید مرتضی بابامیر
افزایش روزافزان استفاده از برنامه نویسی همروند به دلیل بهبودهایی که در زمان پاسخ گویی، راندمان و استفاده بهینه از منابع مهیا می کند، در نرم افزارهای امروزی مشهود است. با وجود همه ی خواست گاهی که برای برنامه نویسی همروند وجود دارد، پیامدهای منفی حاصل از برنامه نویسی همروند، اتکاپذیری سیستم های همروند را به چالش می کشد. از طرفی رفع این پیامدها با روش های معمول وارسی و تست، در اغلب موارد منجر به کسب نتیجه بهینه و کارا نمی گردد. این امر به این خاطر است که عدم قطعیت و تعداد حالت های ممکن، در این گونه برنامه ها نسبت به برنامه های متوالی بسیار بیشتر است و با افزایش تعداد واحدهای همروند این عدم قطعیت به صورت نمایی افزایش پیدا می کند. در راهکار پیشنهادی، نخست با نگاشت رفتارهای زمان اجرای واحدهای همروند به سری های زمانی، ساختار اطلاعاتی را ایجاد کرده ایم، که قابل پردازش باشد و در ادامه این ساختار اطلاعاتی را در شبکه های عصبی، که مبتنی بر نیازمندی های دامنه پیکربندی می شوند، برای پیش بینی بن بست مورد استفاده قرار دادیم. به منظور ارزیابی دقت راهکار پیشنهادی در پیش بینی بن بست، این راهکار را بر روی یک برنامه ی چندنخی نوشته شده به زبان جاوا ارزیابی کردیم. نتایج حاصل از این ارزیابی بیان گر کارایی راهکار ما با دقتی معادل 73.29 درصد بود که این دقت با در نظر داشتن ساختار تصادفی برنامه ی چندنخی مورد آزمون، عملکرد قابل توجهی می باشد.
هدا بانکی سید مرتضی بابامیر
یک نرم افزار مطلوب باید قادر باشد علاوه بر نیازهای وظیفه مندی، خصیصه های کیفی مورد نیاز سیستم را نیز فراهم نماید. سبک های معماری نرم افزار علاوه بر توصیف نرم افزار و تجزیه آن به مولفه ها، تاثیر عمده ای بر روی خصیصه های کیفی نرم افزار طراحی شده دارند. تحلیل و ارزیابی کمی میزان این تاثیر گذاری سبب می شود مناسب ترین سبک برای طراحی معماری انتخاب گردد. تا کنون خصیصه های کیفی مختلف در سبک های معماری نرم افزار بوسیله روش های گوناگون مورد ارزیابی کیفی قرار گرفته اند. ولی از آنجایی که ارزیابی کیفی خیلی دقیق نیست، در این نوشتار روش های مختلفی که برای ارزیابی کمی سبک ها ارائه شده است، مورد بررسی قرار می گیرند و برای ارزیابی کمی خصیصه های کیفی قابلیت اطمینان، کارایی و امنیت در سبک های معماری داده مشترک، شی گرا، لوله و فیلتر روشی مبتنی بر شبکه های پتری رنگی ارائه می شود. در این روش ابتدا سبک های معماری با استفاده از شبکه پتری رنگی مدل می شوند، سپس با توجه به قواعدی که برای ارزیابی بیان شده است، برای آنالیز شبکه و محاسبه مقدار دقیق خصیصه های مذکور از نرم افزار cpntools استفاده می گردد. در پایان بوسیله رتبه بندی سبک ها از نظر میزان ارضای خصیصه های کیفی مورد نظر، بهترین سبک برای پیاده سازی مشخص می شود.
فاطمه کریمیان سید مرتضی بابامیر
پیمانه های خطادار ریسک قابل توجهی در نرم افزار به وجود می آورند، بنابراین توسعه و نگهداری نرم افزار را هزینه بر می کنند. پیشگویی پیمانه های خطادار به منظور معرفی پیمانه های مستعد خطا درچرخه ی حیات توسعه ی نرم افزار لازم است. در این پیشگویی متریک های نرم افزار به عنوان متغیرهای مستقل و پیمانه های خطادار و بی خطا به عنوان متغیر وابسته در نظر گرفته می شود. در پیشگویی خطا، داده های ناهماهنگ و انتخاب بهترین صفات خاصه دو موضوع مهم است که باید قبل از ساخت مدل بررسی شوند؛ ولی در پژوهش های گذشته به ندرت به این دو مسئله همزمان پرداخته شده است. بنابراین این تحقیق از چهار سناریو برای استفاده ی همزمان نمونه گیری و انتخاب صفت خاصه استفاده کرده است که عبارتند از: 1) انتخاب صفات خاصه و مدل پیشگویی خطا براساس داده اصلی 2) انتخاب صفات خاصه بر اساس داده اصلی و مدل پیشگویی خطا از روی داده نمونه گیری شده 3) انتخاب صفات خاصه بر اساس داده نمونه گیری شده و مدل پیشگویی خطا از روی داده اصلی 4) انتخاب صفات خاصه و مدل پیشگویی خطا براساس داده نمونه گیری شده. این پژوهش از روش نمونه گیری با نام نمونه گیری بیش از حد اقلیت ترکیبی (smote) برای هماهنگ کردن داده ها استفاده می کند، زیرا نمونه ها را از روشی غیرتصادفی انتخاب می کند و از روش انتخاب صفت مبتنی بر همبستگی (cfs) برای انتخاب بهترین صفات خاصه بهره برده است؛ چرا که این روش جزء روش های مناسب است. به علاوه از 17 روش ساخت مدل برای پیشگویی خطای نرم افزار و 13 پایگاه داده عمومی ناسا در مخزن promise استفاده کرده است. نتایج تجربی این تحقیق نشان می دهد که ساخت مدل از طریق داده ی نمونه گیری شده نتایج بهتری نسبت به ساخت مدل از روی داده ی اصلی دارد. همچنین روش های bagging، kstar و جنگل تصادفی بهترین طبقه بند در سناریو 2 و 4، و bagging، شبکه ی بیز و logitboost بهترین طبقه بند در همه ی سناریوها و به ازای تمامی پایگاه داده ها براساس پارامتر ارزیابی ناحیه ی زیر منحنی مشخصات عملیاتی گیرنده ) (auc است.
مهشید انصاری نجف آبادی سید مرتضی بابامیر
در یک سیستم مبتنی بر عامل، وظایف بوسیله ی عامل ها انجام می شود. در انجام این وظایف، رفتارجمعی بین عامل ها باید به گونه ای تنظیم شود که سودمندی به حداکثر برسد. سودمندی برحسب استفاده از پردازنده و زمان تکمیل کل وظایف محاسبه می گردد به نحوی که هرچه استفاده از پردازنده بیشتر و زمان تکمیل کل وظایف کمتر شود سودمندی بیشتر خواهد شد.