بخشی از مقاله

خلاصه

قابلیت تکامل نرم افزار یک ویژگی کیفی چند وجهی است که توانایی سیستم را برای پذیرفتن تغییرات آینده توصیف میکند که باعث بهبود ارزش اقتصادی نرمافزار و انطباق با نیازهای کاربر و معمارمیشود. در واقع در طول چرخه فعالیت نرم افزار برای تکامل سیستم و تولید محصولات جدید نیازها و درخواستهای جدید مطرح شده که بایستی در نرم افزار به طور صحیح آدرس دهی شده تا محصول جدید با ویژگی جدید تولید شوند که باعث پیدایش سبک جدبد معماری معماری نرم افزار پویا شده است.[13,3]از روشهای رسمی توصیف معماری نرمافزارپویا ، روش مبتنی بر گراف1 را میتوان نام برد از اهمیت بالایی برخودار شده است.. از مزایای اصلی این روش نسبت به دیگر روشها، میتوان به رسمی بودن این روش و ارائه توصیف گرافیکی از معماری اشاره کرد که باعث درک بهتری میشود. در این تحقیق قصد بر این است که ابتدا به توصیف جامع روش گراف گرامر پرداخته و سپس با ذکر نمونه مثالی در معماری نرم افزار پویا و توصف این قوانین کاربرد آن را بر توصیف معماری مورد قرار داد.

کلمات کلیدی: معماری نرم افزار پویا، معماری نرم افزار، ، گراف گرامر ، زبان توصیف معماری.

.1 مقدمه

روشهای مختلفی برای توصیف معماری نرمافزار در نظرگرفته شده است، که به طبقات زیر اشاره خواهد شد:[8,9] - 1 استفاده از نمادگذاری زبان مدل سازی یکپارچه. - UML - 2

- 2 استفاده از زبان توصیف معماری. - ADL - 3 - 3 استفاده از تکنیکهای رسمی

2. روشهای رسمی در توصیف معماری نرمافزار

در علم کامپیوتر، به ویژه مهندسی نرمافزار روشهای رسمی ، تکنیکهای مبتنی بر ریاضیات هستند که برای مشخصه سازی توسعه و اعتبار سنجی نرمافزار و سختافزار استفاده خواهند شد. اصولاَ استفاده از روشهای رسمی در طراحی سختافزار و نرمافزار مورد تاکید میباشد، به دلیل اینکه اعتبار سنجی سیستم را بالامیبرد. روشهای رسمی به خاطر اینکه زیر بنای سیستماتیک و ریاضی دارند، از عمومیت بالایی برخوردارند و برای همگان قابل فهم میباشد. از دیگر مزایای روشهای رسمی به این مورد میتوان اشاره کرد که روشهای رسمی توانایی بالایی در توصیف وجوه رفتاری مؤلفه هادارند.[10,9,8,7]

3.انواع روشهای رسمی توصیف معماری نرمافزار پویا:

از جمله روشهای توصیف رسمی معماری نرمافزار پویا به - روشهای مبتنی بر گراف - روشهای مبتنی بر پردازش جبری-روشهای مبتنی بر منطق و سایر روشها - میتوان اشاره کرد. این چهار روش در منبع [2]مورد مقایسه قرار گرفته اند. در ادامه در مورد هر کدام از آنها مختصر توضیحی ارائه میشود.

✓روشهای مبتنی بر گراف:

روش طبیعی برای مشخص کردن معماری نرمافزار و سبک معماری میباشد. در این روش از نمودارهای گرامری برای توصیف ویژگیهای معماری سیستم استفاده میشود .هم چنین پیکربندی مجدد در معماری پویا، توسط این روش با استفاده از قوانین بازنویسی گراف تعیین میشود.در این روش مؤلفه و اتصالگر به صورت فرالبه مشخص شده اند - به عنوان نمونه . - Cham

✓روش جبری پردازش:1

جبر پردازشی معمولاَ برای مطالعه سیستمهای همزمان استفاده میشود. در این روش معماری سیستم بصورت گراف ضمنی مشخص میشود و پیکربندی مجدد توسط محاسبات انجام میشود - به عنوان نمونه، . - Darwin

✓روش مبتنی بر منطق:2

منطق به عنوان پایه رسمی برای توصیف معماری نرمافزار پویا استفاده میشود. در این روش معماری سیستم بصورت گراف ضمنی مشخص میشود و پیکربندی مجدد توسط قواعد منطق مرتبه اول و منطق زمانی بیان میشود که فهم آن مشکل است.از جمله روشهابه، زبان پیکربندی مجدد عمومی,ZCL اشاره میکنیم که از زبان توصیف Z استفاده میکنند.

✓سایر روشها:

روشهایی که مکانیزهای پیکربندی مجدد آنها مطابق با اصول روشهای ذکر شده بالا نمیباشد. به عنوان مثال در روش C2.SADEL ، معماری توسط روش غیر رسمی ADLS توصیف میشود و قوانین تکامل توسط زبان اصلاحات معماری بیان میشود.

.4  اهمیت روش گرامری در توصیف معماری نرمافزار پویا

در این پژوهش از نمودارهای گرامری به عنوان یک چارچوب رسمی برای نگاشت مفاهیم مختلف معماری نرمافزار پویا استفاده میشود[1]

از مزایای این روش نسبت به سایر روشهای توصیف معماری نرم افزار پویا به موارد زیر میتوان اشاره کرد:
✓نمودار گرامری یک فرم رسمی و گرافیکی از معماری را ارائه میکند.

✓امکان توصیف ریسکها و پیکربندی مجدد در این روش وجود داشته است.

✓نمودارهای گرامری درک بهتری از ویژگیهایی که توسط این توصیفات ارائه میشودرا میدهد.

✓روش رسمی گراف گرامربه مدلسازی و توصیف سیستم نرم افزاری میپردازد.

✓یک روش فعال برای دستیابی به آنالیز و تکامل است.

✓پیکربندی مجدد توسط قواعد بازنویسی گراف انجام میشود.

.5  روش گراف گرامر در توصیف معماری نرمافزار پویا

روش گراف گرامر، یک روش رسمی برای توصیف معماری میباشد که از حدود 40 سال پیش در توصیفات معماری نرم افزار بکار گرفته شده است. این روش به دلیل رسمی بودن از مزایای روشهای رسمی برخوردار است و هم چنین به دلیل ارائه نمایش گرافیکی قابلیت فهم و درک را بهبود بخشیده است و قابلیت تعریف معماری پویا را نیز دارد که از دلایل انتخاب این روش برای توصیف معماری پویا در پژوهش حاضر میباشد.[13,1,3]

.6  توصیف معماری نرمافزار پویا با استفاده ازگراف گرامرمافوق[5,6]

برای اینکه به توصیف معماری نرمافزار پویا با استفاده از الگوی گراف گرامر مافوق بپردازیم لازم است که ابتدا المانها و عناصر مربوطه را معرفی و تعاریف مرتبط با آنها را بیان کنیم

تعریف-1 فرا لبه:1

یک بخش واحدی که تعدادی شاخک دارد که به گره متصل میشود. هر فرا لبه ،مجموعهای از لبههاست و باشاخکهای برچسب شده مرتب میشوند .در این شکل گره A، یک فرا لبه با 3 شاخک است که لبهها اتصالگر بین گره و فرا لبه را مشخص کرده است .

•تعریف -2 گراف مافوق:
جفتی از الفبای برچسب نامیده شود ، - L= - V,IEچندتایی زیر می باشد که بصورت عبارت پایین نمایش می دهند:
بنابراین گراف مافوق -  H= - V  ,E  ,s  ,t  ,Iبصورت زیر نوشته می شود. :

✓ Vو E مجموعه متناهی از گره و لبه است.
✓ - S, t :E ⟶ V* -  دو نگاشت نشان دهنده منبع و فرا لبه است که * بیانگراین است که فرا لبه میتواند به لیستی ازگرهها متصل شود.
✓ - lV: V ⟶ LV , lE:  E:  ⟶LE - دو تا برچسب توابع از گره وفرا لبه است که Vو E را به دو مجموعه متناهی از برچسبها نکاشت میکند.

مؤلفه و اتصالگر به عنوان فرا لبه و درگاه ارتباطی بین مؤلفه و اتصالگر به عنوان گره مدل شدند.فرا لبه ، با نام مؤلفه / اتصالگر وتعاملات آنهابرچسب میشوند. مؤلفه فرا لبه، توسط مستطیل ارائه میشود و اتصالگر فرا لبه، توسط مستطیل لبه گرد ارائه میشود و اتصالگر به گره ضمیمه توسط خطوط نازک که برچسب گرهای را حمل میکند نمایش داده میشود.در ادامه برای اینکه مفهوم گراف مافوق بیشتر قابل فهم باشند یک نمونه گراف مافوق را آنالیز میکنیم و عناصر مربوط به آن را مشخص مینماییم.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید