دسته بندی | ریاضی |
بازدید ها | 13 |
فرمت فایل | doc |
حجم فایل | 79 کیلو بایت |
تعداد صفحات فایل | 16 |
*مقاله ویژگی ها و کاربرد الگوریتم ها*
چکیده : در این گزارش ما به بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای(2 Phase Locking) ایجاد شده اند خواهیم پرداخت. محور اصلی این بررسی بر مبنای تجزیه مساله کنترل همروندی به دو حالت read-wirte و write-write میباشد. در این مقال، تعدادی از تکنیکهای همزمان سازی برای حل هر یک از قسمتهای مساله بیان شده و سپس این تکنیکها برای حل کلی مساله با یکدیگر ترکیب میشوند.
در این گزارش بر روی درستی و ساختار الگوریتمها متمرکز خواهیم شد. در این راستا برای ساختار پایگاه داده توزیعی یک سطحی از انتزاع را در نظر میگیریم تا مساله تا حد ممکن ساده سازی شود.
1. مقدمه : کنترل همروندی فرآیندی است که طی آن بین دسترسی های همزمان به یک پایگاه داده در یک سیستم مدیریت پایگاه داده چند کاربره هماهنگی بوجود میآید. کنترل همروندی به کاربران اجازه میدهد تا در یک حالت چند برنامگی با سیستم تعامل داشته باشند در حالیکه رفتار سیستم از دیدگاه کاربر به نحو خواهد بود که کاربر تصور میکند در یک محیط تک برنامه در حال فعالیت است. سخت ترین حالت در این سیستم مقابله با بروز آوری های آزار دهنده ای است که یک کاربر هنگام استخراج داده توسط کاربر دیگر انجام میدهد. به دو دلیل ذیل کنترل همروندی در پایگاه داده های توزیعی از اهمیت بالایی برخوردار است:
1. کاربراان ممکن است به داده هایی که در کامپیوترهای مختلف در سیستم قرار دارند دسترسی پیدا کنند.
2. یک مکانیزم کنترل همروندی در یک کامپیوتر از وضعیت دسترسی در سایر کامپیوترها اطلاعی ندارد.
مساله کنترل همروندی در چندین سال قبل کاملا مورد بررسی قرار گفته است و در خصوص پایگاهدادههای متمرکز کاملا شناخته شده است. در خصوص این مسال در پایگاه داده توزیعی با توجه به اینکه مساله در حوزه مساله توزیعی قرار میگیرد بصورت مداوم راهکارهای بهبود مختلف عرضه میشود. یک تئوری ریاضی وسیع برای تحلیل این مساله ارائه شده و یک راهکار قفل دو مرحله ای به عنوان راه حل استاندارد در این خصوص ارائه شده است. بیش از 20 الگوریتم کنترل همروندی توزیعی ارائه شده است که بسیاری از آنها پیاده سازی شده و در حال استفاده میباشند.این الگوریتمها معمولا پیچیده هستند و اثبات درستی آنها بسیار سخت میباشد. یکی از دلایل اینکه این پیچیدگی وجود دارد این است که آنها در اصطلاحات مختلف بیان میشوند و بیان های مختلفی برای آنها وجود دارد. یکی از دلایل اینکه این پیچدگی وجود دارد این است که مساله از زیر قسمتهای مختلف تشکیل شده است و برای هر یک از این زیر قسمتها یک زیر الگوریتم ارائه میشود. بهترین راه برای فائق آمدن بر این پیچدگی این است که زیر مساله ها و الگوریتمهای ارائه شده برای هر یک را در ی.ک سطح از انتزاع نگاه داریم.
با بررسی الگوریتمهای مختلف میتوان به این حقیقت رسید که این الگوریتمها همگی ترکیبی از زیر الگوریتمهای محدودی هستند. در حقیقت این زیر الگوریتمها نسخههای متفاوتی از دو تکنیک اصلی در کنترل همروندی توزیعی به نامهای قفل دو مرحله ای و ترتیب برچسب زمانی میباشند.
همانطور که گفته شد، هدف کنترل همروندی مقابله با تزاحمهایی است که در اثر استفاده چند کاربر از یک سری داده واحد برای کاربران بوجود میآید است. حال ما با ارائه دو مثال در خصوص این مسائل بحث خواهیم نمود. این دو مثال از محک معروف TPC_A مقتبس شده اند. در این مثالها، یک سیستم اطلاعات را از پایگاه داده ها استخراج کرده و محاسبات لازم را انجام داده و در نهایت اطلاعات را در پایگاه داده ذخیره مینماید.
حالت اول را میتوان بروزآوری از دست رفته نامید. حالتی را تصور کنید که دو مشتری از دو سیستم مجزا بخواهند از یک حساب مالی برداشت نمایند. در این حالت فرض کنید در غیاب سیستم کنترل همروندی، هر دو با هم اقدام به خواندن اطلاعات و درج اطلاعات جدید در سیستم میکنند. در این حالت در غیاب سیستم کنترل همروندی تنها آخرین درج در سیستم ثبت میشود. این حالت در شکل 1 نشان داده شده است.
شکل 1 نمایش حالت بروز آوری از دست رفته
حالت دوم حالتی است که در آن اطلاعات صحیح از پایگاه داده استخراج نمیشود. در این حالت فرض کنید دو مشتری بخواهند کارهای ذیل را انجام دهند.
در غیاب کنترل همروندی همانطور که در شکل 2 نشان داده شدهاست، تزاحم بین پروسس ها بوجود خواهد آمد. فرض کنید در زمانی که مشتری 1 اطلاعات را از حساب Y خوانده و اطلاعات حساب X را دریافت نموده و 1 میلیون از حساب Y برداشت نموده ولی هنوز 1 میلیون به حساب X و اریز نکرده مشتری 2 اطلاعات کل دو حساب را دریافت نموده و نتیجه را چاپ نماید. در این حالت مشتری شماره 2 اطلاعاتی را که به عنوان بیلان نمایش میدهد 1 میلیون از مقدار واقعی کمتر است. این حالت یک فرق اساسی با حالت اول دارد و آن این است که در این حالت نتیجه نهایی در پایگاه داده درست خواهد بود در حالیکه اطلاعات دریافت شده بصورت موقت غلط خواهند بود.
شکل 2 خواندن اطلاعات نادرست از سیستم
مساله کنترل همروندی در پایگاه داده های توزیعی تا حدودی شبیه مساله دوبهدو ناسزگاری در سیستم عامل میباشد. در مساله دوبهدو ناسازگاری، هماهنگی جهت دسترسی به منابع سیستم ائم از حافظه، ابزارهای ورودی و خروجی و CPU و .... بوجود میآید. در این حالت راه حلهای گوناگونی ائم از قفلها، سمافورها، مونیتورها و ... پیشنهاد شده است.
دسته بندی | کامپیوتر و IT |
بازدید ها | 19 |
فرمت فایل | docx |
حجم فایل | 1623 کیلو بایت |
تعداد صفحات فایل | 94 |
چکیده
در مهندسی سخت افزار روش مبتنی بر مولفه به طور گسترده در ساخت قطعات جدید مورد استفاده قرار گرفته است (یعنی استفاده از قطعات سخت افزاری از پیش ساخته شده ).
مهندسین سخت افزار نیاز دارند که بازدهی طراحی را با مونتاژ نمودن بلوکهای قابل استفاده مجدد از قبیل : Microprocessor ، DSP ، on chips encryption /decrepti و غیره بدست بیاید. روش مبتنی بر مولفه ، کیفیت و قابلیت اعتماد محصولاتی که هر کدام از مولفه هایش به خوبی تست شده است را افزایش می دهد .
هر چند که ، تغییر چشمگیری در تولیدات نرم افزاری وجود نداشت . هر مـحصول نرم افزاری جـدید نیاز به طـراحی داشت و برنامه نویسان کد منبع را خط به خط می نوشتند تا اینکه برنامه تمام شود . پیشرفت بزرگ توسعه نرم افزار در طول 50 سال گذشته از برنامه نویسی خط به خط با استفاده از کد ماشین تا برنامه نویسی خط به خط با استفاده از زبانهای برنامه نویسی سطح بالا صورت گرفت.
کلیدواژه : مهندسی نرم افزار، مؤلفه ، سخت افزار
فهرست مطالب
عنوان صفحه
فصل اول: کلیات
مقدمه .................................................................................................................................. 1
مولفه های نرم افزاری ........................................................................................................... 3
تعریف و توصیف مولفه ها .................................................................................................... 4
واسط ها .............................................................................................................................. 5
قرار دادها ............................................................................................................................ 5
مولفه ها والگوها ................................................................................................................... 6
مولفه ها و چارچوب های نرم افزاری ..................................................................................... 7
توسعه و پیاده سازی مولفه ها ................................................................................................. 9
فصل دوم: مؤلفه ها و معماری نرم افزار
نقش های معماری نرم افزار................................................................................................... 17
1- تخمین و ارزیابی............................................................................................................. 17
2- مدیریت تغییر.................................................................................................................. 19
3- معماری نر م افزار پویا..................................................................................................... 19
روند طراحی معماری نرم افزار............................................................................................... 19
تولید مولفه بر اساس معماری................................................................................................. 21
1- مولفه های ساخته شده بر حسب نیاز................................................................................. 22
2- مولفه های پیش موجود ................................................................................................... 22
2-1- مولفه های قابل استفاده مجدد....................................................................................... 23
2-2- مولفه های تجاری........................................................................................................ 24
طراحی معماری بر اساس مولفه ............................................................................................. 24
فصل سوم: تکنولوژی های موجود در مهندسی نرم افزار و مدل های مؤلفه ای مربوط به آنها
بررسی تاریخی..................................................................................................................... 28
زبان توصیف معماری ACME............................................................................................. 29
1- مدل مولفه ای Java Beans........................................................................................... 32
مدل مولفه ای COM, DCOM, MTS and COM+...................................................... 34
مدل مولفه ای CORBA..................................................................................................... 34
مدل مولفه ای NET............................................................................................................. 35
مدل مولفه ای CSGI........................................................................................................... 36
فصل چهارم: مدل های ارزیابی کیفیت اجزای نرم افزار
ضوابط چندگانه انتخاب......................................................................................................... 41
ویژگی های ارزیابی.............................................................................................................. 42
ارزیابی بر اساس برتری های داخلی قطعات........................................................................... 44
ارزیابی بر اساس برتری های بیرونی قطعات........................................................................... 46
انتخاب نهایی....................................................................................................................... 47
فصل پنجم: ادغام و ترکیب مؤلفه ها
ادغام مولفه ها....................................................................................................................... 51
از ادغام تا ترکیب................................................................................................................. 52
اسمبلی قابل پیش بینی از مولفه های قابل تایید........................................................................ 56
فناوری مولفه های قابل پیش بینی........................................................................................... 57
تحلیل مبتنی بر معماری......................................................................................................... 59
تأیید مؤلفه ها....................................................................................................................... 60
سبک های معماری و مدل های مولفه ها................................................................................. 61
فصل ششم: تحول و نگهداری در سیستم های نرم افزار مبتنی بر مؤلفه ها
انواع نگهداری نرم افزار......................................................................................................... 64
تحول نرم افزار..................................................................................................................... 65
1-تست جعبه سیاه................................................................................................................ 65
1-1-روشهای آزمون مبتنی بر گراف....................................................................................... 66
1-2-افراز هم ارزی.............................................................................................................. 66
3-1-3-تحلیل مقادیر مرزی................................................................................................... 67
1-4-آزمون آرایه های متعامد................................................................................................. 67
1-5-تست جعبه سیاه برای CBSها...................................................................................... 67
1-6- چالشهای همراه تست جعبه سیاه................................................................................... 68
2- تست جعبه سفید............................................................................................................. 69
2-1-تست مسیرهای پایه...................................................................................................... 69
2-2-تست ساختار کنترلی..................................................................................................... 70
2-3- چالشهای همراه تست جعبه سفید.................................................................................. 70
3-تست مبتنی بر UML برای CBSها................................................................................. 71
چالشهای نگهداری و تست مبتنی بر UML........................................................................... 71
1- چرا UML.................................................................................................................... 71
نتیجه گیری کلی .................................................................................................................. 73
منابع و مأخذ
منابع فارسی ........................................................................................................................ 77
منابع لاتین........................................................................................................................... 77
فهرست اشکال
شکل (1-1) چارچوب مولفه................................................................................................... 7
شکل (1-2) مدل مولفه........................................................................................................... 8
شکل (1-3) رابطه میان مفاهیم بیان شده................................................................................... 8
شکل (1-4) مدل UML مربوط به مولفه ها.......................................................................... 10
شکل (1-5) نمونه ای از توصیف واسط ها در زبان IDL......................................................... 11
شکل (1-6) مدل UML جنبه معنایی مولفه ها........................................................................ 12
شکل (1-7) نمونه ای از دیاگرام توصیف مولفه....................................................................... 12
شکل (1-8) مدل UML خصوصیات فراتابعی....................................................................... 14
شکل (2-1): روند طراحی معماری نرم افزار........................................................................... 20
شکل (2-2): انواع ترکیبات ممکن در تبدیل معماری / مؤلفه..................................................... 21
شکل (3-1): شکل مربوط به مؤلفه......................................................................................... 30
شکل (3-2): معماری سه لایه مؤلفه ها.................................................................................... 30
شکل (3-3): شکل اتصال دهنده............................................................................................. 31
شکل (3-4): لینک ارتباطی مؤلفه و اتصال دهنده..................................................................... 31
شکل (3-5): یک سیستم مجموعه ای و مؤلفه های اتصال دهنده................................................ 31
شکل (3-6): مدل مؤلفه ای جاوا............................................................................................ 32
شکل (3-7): پیاده سازی و ارتباطات اشیاء جاوا...................................................................... 33
شکل (3-8): اسمبلی مؤلفه ها................................................................................................ 33
شکل (3-9): مؤلفه کوربا...................................................................................................... 34
شکل (3-10): پیاده سازی مؤلفه کوربا.................................................................................... 35
شکل (3-11): استفاده Container....................................................................................... 35
شکل (3-12): مدل مؤلفه ای NET....................................................................................... 36
شکل (3-13): پیاده سازی مؤلفه NET.................................................................................. 36
شکل (3-14): واسط های مؤلفه............................................................................................. 37
شکل (3-15): بسته بندی مؤلفه.............................................................................................. 37
شکل (4-1): ویژگی های انتخابی........................................................................................... 43
شکل (4-2): ویژگی های انتخابی و معیارها............................................................................ 44
شکل (4-3): مثال................................................................................................................. 45
شکل (4-4): ویژگی های داخلی .......................................................................................... 46
شکل (4-5): ویژگی های بیرونی........................................................................................... 47
شکل (5-1): پروکسی فشرده سازی (توسط Alexander- Wolf)........................................ 55
شکل (5-2): فناوری مؤلفه های قابل پیش بینی....................................................................... 58
شکل (6-1): فعالیت های مربوط به نگهداری.......................................................................... 65
شکل (6-2): چارچوب تست جعبه سیاه برای CBS............................................................... 68