نام پژوهشگر: مرتضی بابامیر
محسن خاکسار سعید جلیلی
همواره آزمون و وارسی جزء پیچیده ترین و هزینه برترین گام های توسعه سیستم های نرم افزاری به شمار می آیند. با پدیدار گشتن سیستم های نرم افزاری نوین که بیشتر از پیش، بر پویایی، انعطاف پذ یری، خودمختاری، اندازه پذیری و توزیع شدگیشان افزوده شده است، پیچیدگی و هزینه آزمون و وارسی نیز افزون تر گشته است. در این میان، سیستم های با معماری خدمت گرا، به ویژه خدمت های وبی، با آنکه توانسته اند با بهره گیری از این ویژگی ها، نقشی بسیار برجسته در یکپارچه سازی و تعامل پذیری سیستم های نرم افزاریِ ناهمگون و میان سازمانی، داشته باشند، اما دشواری هایی را بر سر راه آزمون و وارسی پدید آورده اند. یکی از دلایل پایه ای آشکار شدن این دشواری ها آن است که معماری خدمت گرا، این امکان را فراهم می آورد تا با ترکیب چندین خدمت ساده که در کنترل و مالکیت فراهم کنندگان گوناگون و خودمختار قرار دارند، خدمت های با ازرش افزوده بالاتری فراهم گردد. چرا که در این صورت، به دلیل بزرگ شدن افسارگسیخته فضای حالت ها، در دسترس نبودن مستندات کافی و ...، بسیاری از روش های آزمون و وارسیِ موجود دیگر به کار بردنی نیستند. افزون بر این دشواری هایی که بر سر راه آزمون و وارسی ترکیب خدمت ها قرار گرفته اند، ذات پویا، خودمختار و توزیع شده خدمت ها نیز ما را بر آن می دارد تا رفتار خدمت ها، به ویژه خدمت های ترکیبی، را در هنگام اجرا پایش نماییم تا از روی دادن ناهنجاری های احتمالی آگاه شویم و فعالیت های بازیابی درخور را به انجام رسانیم. افزون بر این، پایش ترکیب خدمت ها، سودمندی های دیگری چون کمک به خودوفق پذیری خدمت ها و خودکارسازی فعالیت های پیچیده را نیز فراهم می آورد. در این پایان نامه، مدلی به نام scmon، برای پایش هنگام اجرای ترکیب خدمت ها پیشنهاد، پیاده سازی و ارزیابی شده است. از آنجا که مدل پیشنهادی بر پایه روش های ریختی است، فرآیند پایش کاملاً خودکار انجام می گردد. همچنین به دلیل نزدیک بودن عملگرهای جبر پردازه ای به الگوهای ترکیب خدمت ها و آسان بودنِ به کارگیریِ آن توسط کاربران، مدل پیشنهادی بر پایه جبر پردازه ای csp بنا نهاده شده است. یکی دیگر از برجستگی های این مدل آن است که افزون بر توصیف های نیازمندی، توصیف های سیستمی نیز پوشش داده شده اند، به گونه ای که این گونه توصیف ها به صورت کاملاً خودکار از روی جریان کار ترکیب خدمت ها به دست می آیند. از دیگر برجستگی های مدل scmon آن است که توصیف هایی که رخدادهای پارامتردار را در بردارند، با بهره گیری از کنش های چندبخشی و پیشنهاد ساختار نوینی به نام دستگاه گذار برچسب دار عام و رویه ای برای پیمایش آن، به صورت روشمند پایش می شوند. برای پیاده سازی scmon، چارچوب scmonfw طراحی شده است. این چارچوب به گونه ای پیاده سازی شده است تا جدایی میان منطق پایش و منطق اجرایی را فراهم آورد. همچنین این چارچوب بیان و دستکاری توصیف ها در هنگام اجرا و پایش در دو حالت برخط و برون خط را برای سازش میان کارایی خدمت های ترکیبی و دقت و به هنگام بودن گزارش ناهنجاری ها، فراهم می آورد. ارزیابی های انجام شده نیز نشان می دهد که سربار هنگام اجرای این چارچوب کمتر از 0.18 درصد است که در بسیاری از موارد می توان آن را تحمل نمود و در موارد دیگر نیز می توان با پایش در حالت برون خط میان کارایی خدمت های ترکیبی و دقت و به هنگام بودن گزارش ناهنجاری ها سازش نمود. همچنین در این پایان نامه، توصیف های پایش پذیر در هنگام اجرا تعریف و بررسی شده اند و از دیدگاه پایش هنگام اجرا، دو فرمالیسم مطرح در این زمینه یعنی csp و ltl نیز با هم مقایسه شده اند.
میثم عسکری حسین ابراهیم پور کومله
شناسایی اشیاء حالت خاصی از شناسایی الگو می باشد. شناسایی الگو به مجموعه ای از متدها گفته می شود که هدف آن ها طبقه بندی اشیاء در کلاس های مختلف است. بر حسب کاربرد مورد نظر اشیاء می توانند تصاویر، سیگنال های صوتی و یا هر مقداری که نیاز به طبقه بندی دارد باشند. در "شناسایی اشیاء در تصاویر" پردازش روی تصویر شئ مورد نظر صورت می پذیرد. به طور کلی مراحل شناسایی الگو و به تبع آن مراحل شناسایی اشیاء را می توان به دو بخش استخراج ویژگی ها و طبقه بندی آن ها تقسیم کرد. استخراج ویژگی ها به منظور کم کردن حجم اطلاعات مورد پردازش و استخراج الگو صورت می پذیرد. برای مثال در شناسایی اشیاء به جای این که کل عکس در پایگاه داده ها ذخیره شده و هنگام بازشناسی مورد پردازش قرار گیرد، تنها تعدادی ویژگی از آن استخراج شده و پردازش روی این ویژگی ها صورت می پذیرد. به علاوه با استخراج ویژگی های مناسب تنها با آموزش تعداد محدودی از داده ها کل اشیاء موجود در تصاویر پایگاه داده ها را شناسایی کرد. در این پروژه تمرکز بر روی موازی سازی استخراج ویژگی ها از تصویر به منظور شناسایی اشیاء درون آن است. با وجود انجام تحقیقات فراوان در زمینه ی تشخیص اشیاء مشاهده می شود که هنوز درصد شناسایی سیستم های تشخیص اشیاء به حدی نرسیده است که بتوان از این سیستم ها در کاربردهای واقعی بهره جست. یک دلیل این امر زمانگیر بودن پردازش های انجام شده بر روی تصاویر می باشد که از یک سو باعث شده که نتوان از ویژگی های با دقت بالا اما زمانبر، در سیستم های تشخیص اشیاء استفاده کرد و از سوی دیگر استفاده از اینگونه سیستم ها را در کاربردهای بلادرنگ ناممکن ساخته است. برای غلبه بر این مشکل می توان از الگوریتم های موازی استفاده کرد. موازی سازی سیستم های تشخیص اشیاء را می توان در دو سطح بررسی کرد. در سطح اول می توان موازی سازی را برای پردازشی که بر روی یک تصویر به منظور استخراج ویژگی ها صورت می پذیرد انجام داد. و در سطح بعد می توان از الگوریتم های موازی برای طبقه بندی و تست داده ها استفاده کرد. برای موازی سازی مرحله استخراج ویژگی ها از تصاویر ابتدا الگوریتم انتخاب شده برای استخراج ویژگی ها را به صورت موازی، طراحی خواهیم کرد و سپس آن را بر روی یک پلت فرم موازی پیاده سازی کرده و اجرا خواهیم نمود. اخیراً واحدهای پردازنده ی گرافیکی به سبب کارایی بالا، قیمت مناسب و در دسترس بودن، بسیار مورد توجه قرار گفته اند. این واحدها پردازنده های ساده ای هستند که به منظور انجام محاسبات گرافیکی در کارت های گرافیکی قرار گرفته اند. هر کارت گرافیکی شامل تعداد زیادی از این پردازنده های ساده است که هر یک وظیفه ی پردازش تصویر در قسمتی از صفحه ی نمایش را بر عهده دارد. اخیراً شرکت های سازنده ی کارت های گرافیکی، به کاربران اجازه ی بکارگیری قدرت محاسباتی این پردازنده ها را در برنامه های خود داده اند. اجرای همزمان چندین نخ به صورت همزمان باعث می شود که یک کارت گرافیکی ساده قادر باشد تا چند برابر سریعتر از یک کامپیوتر قدرتمند، عملیات حسابی را انجام دهد. به این ترتیب می توان از این کارت های گرافیکی به عنوان پلت فرمی برای پیاده سازی الگوریتم های موازی استفاده نمود. محدودیت این پلت فرم را می توان در حافظه ی کم آن دانست. به همین دلیل برای کارهایی که نیازمند حافظه ی زیاد هستند، مانند جستجو در پایگاه داده، استفاده از پردازنده ی گرافیکی تسریع چندانی را در پی نخواهد داشت. اما در کارهای محاسباتی استفاده از این پلت فرم بسیار مناسب می باشد. در این پژوهش شناسایی اشیاء مربوط به وسایل نقلیه که عبارتند از ماشین، اتوبوس، دوچرخه، موتور سیکلت و هواپیما مد نظر می باشد. برای این منظور از تصاویر پایگاه داده ی پاسکال 2007 استفاده شده است.
ساناز شیخی مرتضی بابامیر
با رشد روز افزون استفاده از سیستم های کامپیوتری در زندگی روزمره و فعالیت های تخصصی و تمایل به خودکار انجام شدن این فعالیت ها، توانا شدن سیستم ها در سرویس دهی بدون وقفه حتی در حضور خطاها، منابع متغیر و نیازهای گوناگون کاربران از اهمیت بیشتری برخوردار می شود. در گذشته قسمت عمده ی این قابلیت ها توسط نظارت نیروی انسانی تامین می شد و در نتیجه هزینه ی مدیریت این سیستم ها به شدت افزایش می یافت. اخیرا برای حل این مشکل توجه طراحان و توسعه دهندگان به سمت هدایت خودکار سیستم ها از طریق خود تطبیقی جلب شده است. در سیستم خود تطبیق ، مسئولیت کشف خطاها و تنگناها و یا انجام فعالیت جبرانی برعهده ی خود سیستم است. هسته خود تطبیقی یک حلقه ی کنترلی است که در آن سیستم پایش می شود، مشاهدات حاصل از پایش تحلیل می شوند تا صحت سیستم مشخص شود و در صورت وجود خطا سیستم ترمیم می شود. برای مدت زمان طولانی روش های خود تطبیقی در قالب ویژگی های زبان های برنامه-نویسی (مانند مدیریت استثنا) و الگوریتم ها (مانند پروتکل های شبکه) به کار می رفتند. تطبیق پذیری که در این روش ها وجود دارد به شدت آمیخته با برنامه است و در کد برنامه مشخص می شود. جذابیت این روش های داخلی در این است که به محض کشف خطا آن را به دام می اندازند. اما مدیریت خطای داخلی قادر نیست منبع واقعی مشکل را شناسایی کند و راهکار جبرانی ارائه کند. علاوه براین، این روش ها نمی توانند مشکلاتی مانند افت کارایی تدریجی سیستم و یا الگوهای غیر مطمئن را شناسایی کنند. همچنین به دلیل وابستگی این روش ها به کد برنامه، تغییر سیاست های تطبیق پذیری در آن ها بسیار سخت می شود. راه حل این مشکلات استفاده از مدل های معماری نرم افزار برای کشف، تشخیص و بر طرف کردن خطاها و تنگناها است. معماری نرم افزار یک دید سراسری از رفتار نرم افزار ایجاد می کند، ویژگی ها و قیود حاکم بر نرم افزار را به طور صریح بیان می کند و از روش های تحلیل معماری برای کشف مشکلات و ارائه راهکار جبرانی بهره می برد و انعطاف پذیری سیستم را بالا می برد. یکی از مسائل قابل تامل در زمینه تطبیق پذیری مبتنی بر معماری، واکنشی (انفعالی) بودن این روش تطبیق پذیری است. در روش های واکنشی، تصمیم گیری برای انجام عملیات تطبیق پذیری با توجه به حالت جاری سیستم و محیط عملیاتی که در نتیجه بررسی قیود معماری بدست آمده اند صورت می گیرد. در حقیقت راهکار تطبیق پذیری هنگامی انتخاب و اعمال می شود که خطا و یا تنگنایی بوجود آید. هدف روش های واکنشی انتخاب راهکاری است که در لحظه ی بوجود آمدن خطا یا تنگنا، بهره وری سیستم را به حداکثر برساند. اما همیشه این رویکرد به جواب بهینه منتهی نمی شود زیرا در بسیاری از موارد، چند تصمیم که در یک لحظه بهینه هستند هنگامی که با دید کلی و نسبت به یکدیگر سنجیده شوند منجر به بهینگی کامل سیستم نمی شوند. در این پایان نامه به ارائه چارچوبی برای حل مشکل واکنشی بودن سیستم های خود تطبیق مبتنی بر معماری و بهبود عملکرد آن ها می پردازیم. در این چارچوب یک سیستم خود تطبیق مبتنی بر معماری را در نظر می گیریم و با استفاده از پیش بینی حالات این سیستم، روش انتخاب راهکار تطبیق پذیری آن را بگونه ای توسعه می دهیم که برای انتخاب راهکار تطبیق علاوه بر بررسی قیود معماری و توجه به حالت جاری سیستم، حالت پیش-بینی شده برای سیستم نیز در نظر گرفته شود. در طراحی این چارچوب سعی شده تا با بهره گیری از نظریه ی سودمندی ، راهکارهای تطبیقی انتخاب شوند که بتوانند ابعاد کیفی مختلف سیستم را پوشش دهند و بین تحقق ابعاد کیفی مختلف سیستم تعادل برقرار کنند. افزایش پارامترهای تصمیم گیری سبب انتخاب راهکارهای بهینه تری می شود. پیش بینی با استفاده از الگوریتم های ویتربی و شبکه عصبی narx انجام می شود. ویتربی الگوریتمی احتمالی مربوط به مدل مارکوف مخفی است که در کارهای پیش بینی مانند پیش بینی وضعیت آب و هوا کاربرد فراوانی دارد. narx یکی از قدرتمندترین ابزاری است که در پیش بینی سری های زمانی بکار می رود. دو روش پیش بینی به طور جداگانه در انتخاب راهکار تطبیق بهینه به کار گرفته می شوند و نتایج حاصل از این روش ها با یکدیگر مقایسه می شوند. در این چارچوب ابتدا یک سیستم خود تطبیق مبتنی بر معماری را در نظر می گیریم و توصیف سیستم و راهکارهای تطبیق پذیری آن را با استفاده از زبان استیچ که زبانی مختص سیستم های خود تطبیق مبتنی بر معماری است را بدست می آوریم. در گام بعدی برای ساخت مدل مارکوف مخفی، حالات مدل مارکوف مخفی را از روی توصیفات استیچ استخراج می کنیم، به ماتریس های احتمال مدل مارکوف مخفی مقادیر اولیه ای را انتساب می دهیم، سپس این مدل با استفاده از الگوریتم بام ولچ آموزش داده و آن را به عنوان ورودی به الگوریتم ویتربی می دهیم. همچنین معماری اولیه ای برای یک شبکه عصبی narx در نظر می گیریم و پس از تکرار آموزش و تست و ارزیابی، پارامترهای نهایی معماری آن را انتخاب می کنیم. در هر زمان فقط یکی از روش های پیش بینی می تواند مورد استفاده قرار بگیرد. سیستم درحال اجرا به طور مداوم پایش می شود و مقادیر متغیرهای مورد نظر استخراج شده و به نماد های سری زمانی نگاشت می شوند. سری زمانی استخراج شده به عنوان ورودی به الگوریتم ویتربی و یا narx داده می شود. روش پیش بینی تعیین می کند که آیا در اجرای بعدی سیستم در حالت نامطلوبی قرار خواهد گرفت یا خیر. حالت نامطلوب از قبل به برنامه معرفی شده است که در الگوریتم مبتنی بر مدل مارکوف مخفی یکی از حالات مدل و در روش شبکه ی عصبی یکی از سمبل های سری زمانی در نظر گرفته می شود. برای تصمیم گیری درمورد نحوه تطبیق سیستم، وضعیت جاری سیستم ارزیابی می شود و با توجه به نتایج ارزیابی به همراه نتایج حاصل از پیش بینی تعدادی از راهکارهای تطبیق پذیری که می توانند خطا یا تنگنای بوجود آمده را ترمیم کنند و یا از بروز خطا و تنگنا در آینده جلوگیری کنند، انتخاب اولیه می شوند. سپس با استفاده از یک تابع سودمندی به این راهکارها امتیاز داده می شود و راهکار با بالاترین امتیاز برای اجرای نهایی انتخاب می شود. برای ارزیابی چارچوب پیشنهادی پایان نامه، این چارچوب را با دو سیستم خود تطبیق مبتنی بر معماری آزمایش نمودیم. در آزمایش اول، روش پیشنهادی بر یک سیستم سرویس گیرنده سرویس دهنده خودتطبیق و در آزمایش دوم بر یک سیستم کنترل خودکار گرمایش خانه اعمال نمودیم. با توجه به نتایج حاصل از این آزمایش ها، با اعمال چاچوب پیشنهادی بر سیستم های تطبیق پذیر مبتنی بر معماری می توان : ? تعداد دفعات قرار گرفتن سیستم در حالت نامطلوب در آینده را کاهش داد. ? از اعمال راهکار غیرضروری (راهکار که اثری کوتاه مدت دارد) جلوگیری نمود. ? تعداد اجرای راهکاری که منجر به ایجاد وضعیت نامطلوب در آینده شود را کاهش داد. ? عملکرد سیستم را بهبود بخشید.
هدی یمانی حسین ابراهیم پور کومله
رباتیک ازدحامی روشی نوین برای مشارکت تعداد زیادی ربات است و به عنوان کاربردی از هوش ازدحامی در سیستم های چند رباتی مطرح می¬گردد. در بین مسائل مطرح شده در رباتیک ازدحامی، مسئله جستجوی غذا به خاطر پوشش چندین وظیفه، جزو شناخته ترین مسائل در این حیطه است. در این پایان نامه با استفاده از الگوریتم های جستجوی غذا در رباتیک ازدحامی و با الهام گرفتن از رفتار کلونی زنبورهای عسل، به ارائه ی الگوریتم های جستجوی غذای مبتنی بر رفتار زنبورهای عسل پرداخته ایم. در این الگوریتم ها ربات ها با الهام گرفتن از تقسیم وظایف زنبورهای عسل و با به کارگیری استراتژی های استخدام نیرو و مسیریابی و تنها با استفاده از تعاملات محلی منابع غذایی را در یک محیط ناشناخته پیدا می کنند و به خانه باز می گردانند. یکی از چالش های موجود در مسئله جستجوی غذا مصرف بالای انرژی توسط ربات هاست. در این پایان نامه نشان داده شده است که الگوریتم های زنبور عسل ارائه شده در مقایسه با الگوریتم جستجوی غذای تطبیقی و الگوریتم فرمون مجازی موجود، اتلاف انرژی کمتر و کارایی بیشتری دارند. همچنین نشان داده ایم که این الگوریتم ها نسبت به افزایش سایز زمین، افزایش تعداد ربات ها و افزایش میزان غذا مقیاس پذیر است و در صورت ایجاد منابع جدید در محیط این الگوریتم ها به خوبی قادر به یافتن آن ها می باشند.
شیما امیرصدری مرتضی بابامیر
پروتئینها ماکروملکولهایی هستند که تمام اعمال مهم در ارگانیسمها از جمله انتقال مواد غذایی، تشخیص و انتقال پیامها انجام میدهند. از آنجا که عملکرد پروتئینها وابسته به ساختار فضایی آنهاست، پیشگویی ساختار فضایی پروتئین حائز اهمیت است. هدف از این تحقیق پیشگویی ساختار پروتئین با استفاده از اطلاعات ساختاری ساختار دوم است. در روش پیشنهادی در این تحقیق، با استفاده از الگوریتم رقابت استعماری، تعدادی ساختار فوق ثانویه از پروتئین گرفته می شود و سپس بهترین ساختار فوق ثانویه پیش گویی می شود. برتری این روش نسبت به سایر روشهای موجود این است که اطلاعات ساختاری ساختار دوم به عنوان ورودی الگوریتم منجر به پیشگویی دقیقتری میشود که به ساختار فضایی پروتئین نزدیکتر است.
وجیهه نیکخواه مرتضی بابامیر
هدف از ساخت یک درخت تکامل¬نژادی، کنار هم قرار دادن مجموعه¬ای از گونه¬های مختلف زیستی است به¬صورتی که این درخت، روابط تکاملی بین گونه¬های مورد نظر را نشان دهد. برای ساخت این درختان روش¬های متعددی وجود دارد که استفاده از هر روش ممکن است تعدادی درخت متفاوت برای مجموعه¬ی گونه¬های موجود تولید کند. با انتخاب هر پروتئین از یک موجود و بدست¬آوردن پروتئین¬های یکسان یا مشابه در دیگر موجودات، این امکان وجود دارد که توپولوژی درخت و نحوه¬ی کنار هم قرار گرفتن موجودات در هر درخت نیز متفاوت باشد. روش¬هایی وجود دارد که با استفاده از آنها، زیست¬شناسان درختان تکامل¬نژادی مختلف را که همه¬ی این درختان مجموعه¬ی یکسانی از گونه¬ها را دارند، در یک درخت خلاصه کرده و یک درخت توافقی تولید می¬کنند. با بزرگ شدن و زیاد شدن تعداد درختان تکامل¬نژادی، ساخت درخت توافقی حاصل، یک چالش است و در روش¬های موجود، دارای اشکالات و ابهاماتی است. در این تحقیق با استفاده از الگوریتم رقابت استعماری روشی ارائه شده¬است که یک درخت توافقی دودویی را تولید می¬کند و ما نشان می¬دهیم این درخت، از نظر زیستی رابطه¬ی تکاملی بین گونه¬ها را نسبت به روش¬های توافقی دیگر به¬نحو صحیح¬تری نشان می¬دهد و نیز شباهت درخت حاصل به درخت¬های ورودی بیشتر است که در روش¬های دیگر تولید درخت توافقی، شباهت درخت توافقی به درختان تکامل¬نژادی اولیه را در نظر نمی¬گیرد.هدف از ساخت یک درخت تکامل نژادی، کنار هم قرار دادن مجموعه ای از گونه های مختلف زیستی است به صورتی که این درخت، روابط تکاملی بین گونه های مورد نظر را نشان دهد. برای ساخت این درختان روش های متعددی وجود دارد که استفاده از هر روش ممکن است تعدادی درخت متفاوت برای مجموعه ی گونه های موجود تولید کند. روش هایی وجود دارد که با استفاده از آنها، زیست¬شناسان درختان تکامل نژادی مختلف را که همه ی این درختان مجموعه ی یکسانی از گونه¬ها را دارند، در یک درخت خلاصه کرده و یک درخت توافقی تولید می کنند. با بزرگ شدن و زیاد شدن تعداد درختان تکامل نژادی، ساخت درخت توافقی حاصل، یک چالش است و در روش¬های موجود، دارای اشکالات و ابهاماتی است. در این تحقیق با استفاده از الگوریتم رقابت استعماری روشی ارائه شده¬است که یک درخت توافقی دودویی را تولید می¬کند و ما نشان می¬دهیم این درخت، از نظر زیستی رابطه¬ی تکاملی بین گونه¬ها را نسبت به روش¬های توافقی دیگر به¬نحو صحیح¬تری نشان می¬دهد و نیز شباهت درخت حاصل به درخت¬های ورودی بیشتر است که در روش¬های دیگر تولید درخت توافقی، شباهت درخت توافقی به درختان تکامل¬نژادی اولیه را در نظر نمی¬گیرد.
هوتن دهقانی مرتضی بابامیر
در این تحقیق به بررسی کارایی استفاده از الگوریتم ژنتیک برای جستجو در درخت بازی شطرنج پرداخته ایم. کارهای انجام شده در زمینه ی بهبود موتورهای شطرنج با استفاده از الگوریتم ژنتیک به تنظیم ضرایب تابع ارزیابی شطرنج پرداخته اند و یا این که از الگوریتم ژنتیک برای مسئله های خاصی در شطرنج مثل یافتن مات در n حرکت استفاده کرده اند. اما به استفاده از الگوریتم ژنتیک برای جستجو و در نتیجه کاهش فضای جستجو در درخت بازی شطرنج پرداخته نشده است. در این تحقیق به منظور بررسی کارایی استفاده از الگوریتم ژنتیک، موتوری تولید شده است که در آن به جای پیمایش تمامی گره های درخت بازی، تنها شاخه هایی که الگوریتم ژنتیک در قالب کروموزوم تولید می کند پیمایش می شوند. به این منظور بهبود هایی در الگوریتم ژنتیک پایه داده ایم. تا مشکل الگوریتم ژنتیک در زمینه ی تاکتیک کاهش یابد. به منظور بررسی کارایی موتور پیشنهادی آن را با موتور یوفیم بازی داده ایم. از ویژگی های موتور یوفیم این است که قابلیت بازی در پنجاه سطح متفاوت را دارد.
مرتضی بابامیر سعید جلیلی
ساخت نرم افزار، خصوصا در مقیاسی بزرگ، با پیچیدگی محیط ساخت روبرو می باشد. برخی از این پیچیدگی ها بخاطر شبکه ی روابط بین مولفه ها و برخی دیگر بدلیل نیاز به ایجاد آنها بصورت گروهی میان افراد توزیع شده است. این ایده مطرح است که محیط ساخت می تواند حل پیچیدگی های محیطی را بعهده بگیرد وتوجه مهندسین نرم افزار را به پیچیدگی های ذاتی نرم افزار معطوف سازد. در راستای حل پیچیدگی های محیط، فناوری های مهمی ایجاد شده اند. در این پایان نامه پس از شرح این فناوری ها و نوع پیچیدگی که فناوری نظر به حل آن دارد، سعی می شود تا با بهره گیری حداکثر از ایده ها و تجربیات آنها مدلی برای یک محیط عام ساخت نرم افزار بیان شود. به منظور داشتن یک ذهنیت مناسب، نخست تاریخچه ای از ظهور و تکمیل این فناوری ها بیان و سپس به شرح آنها پرداخته می شود. فناوری اول فوق برنامه نویسی است که بیشتر در فاز پیاده سازی، یعنی محیط برنامه نویسی تمرکز می کند. این فناوری مهندس نرم افزار را به دو صورت پشتیبانی می نماید. در ساخت برنامه ها و در پیوندگذاری بین گونه های مختلف یک برنامه و بین برنامه ها و داده ها بصورت خودکار. فناوری دوم، سیستم های فوق رسانه ای باز است که مدیریت مولفه ها و روابط میان آنها و پشتیبانی همکاری گروهی در ساخت نرم افزار را بصورت غیر همروند مطرح می نماید. فناوری سوم پروتکل webdav است که برای کنترل همروندی در ساخت مولفه ها در شبکه ی web، پروتکل این شبکه را گسترش می دهد و محیطی برای تالیف و نگارش توزیع شده بوجود می آورد. در این پایان نامه، مدلی باری یک محیط عام ساخت نرم افزار با دو ویژگی عمده ارائه می شود: همکاری بین کاربران توزیع شده در شبکه ی web برای ساخت مولفه ها، و مدیریت مولفه ها و انواع ساختارهایی که بین آنها در مهندسی نرم افزار وجود دارد. برای این منظور چهار موضوع مطرح می شود.1) گسترش فوق برنامه نویسی به منظور استفاده از آن در شبکه ی web، 2) مدیریت مولفه ها و ساختارهای بعنوان اساس مدل،3) همکاری گروهی در ساخت مولفه ها بر مبنای این اساس، و 4) یک واسط برای تعامل بین مدیریت مولفه ها و کاربران شبکه ی web.