دانلود ترجمه مقاله معماری نرم افزار مقاوم در برابر خطا – مجله اسپرینگر

 

 عنوان فارسی مقاله: معماری نرم افزار مقاوم در برابر خطا
 عنوان انگلیسی مقاله: Fault Tolerant Software Architectures
دانلود مقاله انگلیسی: برای دانلود رایگان مقاله انگلیسی با فرمت pdf اینجا کلیک نمائید

 

سال انتشار  2003
تعداد صفحات مقاله انگلیسی  20 صفحه
تعداد صفحات ترجمه مقاله  32 صفحه
مجله  معماری سیستم های بسته
دانشگاه  برزیل
کلمات کلیدی  اصلاح معماری، تحمل پذیری خطا، مشخصات رسمی، معماری های نرم افزاری
نشریه Springer

 


فهرست مطالب:

 

چکیده
۱ مقدمه
۲ مراحل توسعه نرم افزار
۳  نهایی ساختن خصوصیات تحمل پذیری خطای نرم افزار
۴ اصلاح معماری های نرم افزار مقاوم در برابر خطا
۱ ۴ دسته بندی خصوصیات تحمل پذیری خطا
۲ ۴ اصلاح تکراری معماری
۵ یک مثال
۶ کارهای وابسته (مربوطه)
۷ نتایج

 


 

بخشی از ترجمه:

 

 ۱ مقدمه

توسعه نرم افزار به امری نهایت سخت و دشوار تبدیل می شود زیرا جنبه های غیر تابعی مختلف ( مثلاً دسترس پذیری، پایایی و قابلیت اعتماد، امنیت و…) باعث اختلاف در جنبه های الگوریتمی نرم افزار می شوند ( به عبارتی هدف خاص نرم افزار). طراح نرم افزار در جریان اصلاح برخی ویژگیهای مجرد و خلاصه به ساختار نرم افزاری درست توسعه یافته یا در جریان استفاده از راه حل های موجود در چارچوب کاربردی جدید، با مشکلات متعددی مواجه می شود. استفاده از اصل جدایی نگرانیها برای تحلیل و شناخت مستقل دخالتهای متقابل جنبه های مختلف نرم افزاری ، شک برانگیز بوده است چرا که فرض استقلال همیشه صدق نمی کند. به ویژه در حوزه نرم افزار مقاوم در برابر خطا، تلاشهای زیادی در جهت شناسایی تعدادی از تجریدهایی که به خصوصیات مهم نرم افزار پردازنده و جزئیات بی ربط مربوط به خصوصیات تحمل پذیری خطای نرم افزار را سرکوب می کنند.
مقاله حاضر بر تحلیل خصوصیات تحمل پذیری خطای نرم افزار و استفاده از آنها در تشریح معماری نرم افزار تاکید می کند. کارموجود در رشته نرم افزار مقاوم در برابر خطا تصدیق می کند که رفتار سیستم در حضور خطاها، برطبق حوزه جداگانه ای از مفهوم و طراحی نرم افزار شکل می گیرد. برای تشریح مدهای خطای ممکن برای نرم افزار، تعدادی از معانی خطا تعریف و طیف وسیعی از تکنیک های تحمل پذیری خطا مستقل از برخی حوزه های کاربردی خاص توسعه یافته است. تعدد مکانیسم های فراهم کننده تحمل پذیری خطا، با ناامیدی جستجوی جامع صورت گرفته توسط انسانها برای مکانیسم مقاوم در برابر خطا را نمایش می دهد که به بهترین شکل ممکن با کاربرد مورد نظر برازش دارد. به علاوه، بدون مبنایی مشترک برای پشتیبانی از ادغام خصوصیات تحمل پذیری خطا با دیگر جنبه های نرم افزاری، تائید صحت و درستی نرم افزار حاصله غیر ممکن می شود.
با حمایت حقایق فوق الذکر، هدف تحقیق حاضر فراهم نمودن وسیله ای برای پشتیبانی از تحلیل سیستماتیکی خصوصیات تحمل پذیری خطای نرم افزار و استدلال در مورد صحت و درستی ادغام آن ها در معماری نرم افزار می باشد. مانه به دنبال پشتیبانی  زبان شناختی از شرح خبری جنبه های تحمل پذیری خطای نرم افزار در مراحل مختلف و نه به دنبال ترویج برخی واژگان های اصطلاحات گرافیکی هستیم که نمایش گرافیکی روابط میان موجودیت های نرم افزاری هر مرحله را تسهیل می نمایند.

7. نتایج
دراین مقاله، یک چارچوب رسمی مطرح کردیم که از توسعه و اصلاح معماریهای نرم افزار مقاوم در برابر خطا پشتیبانی می کند. در اینجا از این چارچوب برای ثبت و مستدسازی رسمی خصوصیات نرم افزار در رابطه با تحمل خطا استفاده کرده و براساس اصلاح مشخصات و صحت آنها برگرفته از کاربردش، یک طرحواره دسته بندی برای سازماندهی خصوصیات تحمل پذیری خطای نرم افزار پیشنهاد کرده ایم. از طرحواره دسته بندی برای نشان دادن تعدادی از اصلاحات درست احتمالی به طراح برای خصوصیت تحمل پذیری خطای نرم افزاری معلوم استفاده شده است. هدف ما پشتیبانی زبان شناختی یا گرافیکی از بیان خصوصیات تحمل پذیری خطای نرم افزار نبود. بلکه بر مبنای رسمی پایه فرایند اصلاح برخی ویژگیهای مجرد در یک شرح گسترده از معماری نرم افزار مقاوم در برابر خطا تاکید کردیم.
ابتکار مشارکت ما در آن است که وسایلی برای استدلال در مورد ترکیب، اصلاح و هم ارزی خصوصیات تحمل پذیری خطای نرم افزار در مراحل مختلف توسعه نرم افزار ، در اختیار طراح قرار می دهیم. در اینجا از کار قبلی بهره می گیریم که براساس تکنیک های منطق گزاره ای و تطبیق مشخصات، در مورد هم ارزی و سازگاری خصوصیات نرم افزار در حالت کلی استدلال می کنیم. تحقیق فعلی ما از نقطه ای دور می شود که تشخیص دادیم بهره گیری از نیازمندیهای تحمل پذیری خطا در ساختار برنامه کاربردی از پیش تعریف شده، منجر به ناهمسانیهای مختلفی در میان محدودیت های تحمیل شده به جنبه های مختلف نرم افزار می گردد. براساس این مشاهده، به این نتیجه رسیدیم که انتخاب مکانیسم مقاوم در برابر خطا با معنای مناسب باید با راهنمایی طرحواره دسته بندی انجام بگیرد تا بدین طریق درست و کارآمد ظاهر شود. بایاس ریاضی پیشنهاد شده در این مقاله، وسیله ای برای ساخت چنین طرحواره دسته بندی فراهم نموده و آن را با خصوصیات تحمل پذیری خطای جدیداً مشخص شده غنی می سازد. به علاوه، پایه و اساس رسمی امکان ادغام کار حاضر با شیوه های موجود پیرامون استدلال راجع به محدودیت های الگوریتمی نرم افزاری را فراهم می آورد که براساس منطق گزاره ای عمل می کنند.

 


بخشی از مقاله انگلیسی:

 

1 Introduction

Software development becomes extremely difficult as different nonfunctional aspects (e.g.availability, reliability, security, etc) interfere with the algorithmic aspects of the software(i.e. the specific purpose that the software serves). The software designer is confronted withnumerous problems when trying to refine some abstract specifications into a well organizedsoftware structure, or when trying to incorporate existing solutions into a new applicationframework. Employing the principle of “separation of concerns” in order to independentlyanalyze and understand the mutual interferences of the various software aspects, has beendoubted since the independence assumption does not always hold. Particularly, in thedomain of fault tolerant software, a lot of effort has been made to identify a number ofabstractions that capture the important software properties and suppress the irrelevantdetails with respect to the fault tolerance software properties (e.g. see [5j and [14]).The focus of this paper is the analysis of fault tolerance software properties, and theirincorporation in the description of a software architecture. Existing work in the field of faulttolerant software testifies that the system behavior in the presence of failures forms by its owna separate domain of software conception and design. A number of failure semantics havebeen defined to describe the possible failure modes of a software, and a wide range of genericfault tolerance techniques have been developed independently from some specific applicationdomain. The consequent plurality of mechanisms providing fault tolerance, renders hopelessan exhaustive search performed by humans for the fault tolerant mechanism that best fitsa given application. In addition, without a common basis to underpin the integration ofthe fault tolerance properties with other software aspects, verifying the correctness of theresulting software becomes impossible. Fostered by the aforementioned facts, our research aims at providing means to supportthe systematic analysis of fault tolerance software properties, and the reasoning on thecorrectness of their integration within a software architecture. We do not seek to providesome linguistic support for the declarative description of the fault tolerance software aspectsat different development stages, nor to promote some lexicon of graphic terms that wouldfacilitate the graphical representation of relations among software entities of each stage. Ourprimary motivation is to relieve the software designer from the burden of refining by handthe abstract software specifications in order to obtain a concrete system, and our objectiveis to provide a formal framework for the specification of fault tolerance software properties,which fulfills the following criteria:1. It is precise enough so as to allow the accurate expression of fault tolerant properties,while at the same time it should be generic enough so as not to restrict theindependence of the algorithmic software aspects.2. It is rich enough so as to allow the deduction of properties equivalence or compatibility.3. It supports means that guarantee the refinement correctness which represents a transitionfrom a software development stage to the next one. It should also be possible to use these means in the reverse sense, to identify the abstract specifications from whicha given property is derived.The remainder of this paper is structured as follows: in the next section we present alayered decomposition of the software development process that provides an insight fromdifferent viewpoints on the analysis of the fault tolerance software properties. In Section 3we define the formal framework that supports the specification of fault tolerance softwareproperties, the reasoning on the correctness of their refinements, and the deduction of theproperties of their compositions. In Section 4 we propose a classification schema based onthe previously introduced formal framework, which organizes the fault tolerance propertiesin a way that allows their systematic and efficient retrieval during a specification refinementprocess. The practical use of the classification schema is discussed in Section 5. A comparisonwith related work is presented in Section 6, and the paper concludes with a brief summary,a discussion on the originality of our contribution, and a presentation of current work andopen issues.2 Software Development StagesTraditionally, the software development procedure has been decomposed into the followingstages: requirements, specifications, design, coding, testing, and maintenance. In this sectionwe introduce a different decomposition that is better suited for the analysis of the faulttolerance software properties. The proposed decomposition reflects the successive refinementsof the abstract and macroscopic view on the fault tolerance software properties, intoa microscopic and elaborated description of the software elements that accomplish a givenfault tolerant functionality. Notice that the proposed development decomposition is complementaryto the traditional one rather than an alternative, and it permits the designer tofocus on the fault tolerance aspects of software development.

 


 عنوان فارسی مقاله: معماری نرم افزار مقاوم در برابر خطا
 عنوان انگلیسی مقاله: Fault Tolerant Software Architectures

 

دانلود رایگان مقاله انگلیسی

 

خرید ترجمه فارسی مقاله با فرمت ورد

 

خرید نسخه پاورپوینت این مقاله جهت ارائه 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا