زبان های توصیف معماری

سلام.از اینکه سایت  سوفرا  را، برای پاسخ به سوالات خود انتخاب کردید خوشحال هستیم . با محمودی همراه باشید.

کاربرد زبان های توصیف معماری 

این زبان ها امکان توصیف نرم افزاری و سخت افزاری سیستم را فراهم می آورند. این توصیف می تواند شامل ویژگی هایی مانند فرآیند ها ،‌نخ ها ،‌ داده ها ، زیربرنامه ها به علاوه قطعات سخت افزاری مانند پردازنده ها ‌، گذرگاه ها و حافظه باشد. ارتباط بین مولفه ها می تواند به صورت منطقی یا فیزیکی بیان شود.

زبان های توصیف معماری دارای ویژگی های زیر هستند :

  • باید برای ارتباط طراحی با همه طرف های مورد علاقه مناسب باشد.
  • باید وظایف ایجاد ،‌ پالایش و معتبر سازی را پشتیبانی کند.
  • باید توانایی ارائه انواع رایج طراحی را داشته باشد.
  • باید دارای امکانات تحلیلی باشد تا بتوان به سرعت نمونه اولیه ایجاد نمود.

بیشتر این زبان ها دارای ویژگی های مشترکی هستند که عبارتند از :

دارای یک نمایش گرافیکی به همراه نحو رسمی تعریف شده هستند.

  • معمولا دارای ویژگی هایی برای مدل سازی سیستم های توزیع یافته هستند.
  • معمولا دارای امکان ارائه سلسله مراتبی جزئیات هستند.

برخی از نکات مثبت این زبان ها :

  • روشی رسمی برای ارائه طراحی هستند.
  • قابل خواندن توسط ماشین و انسان هستند.
  • امکان طراحی سیستم در سطح بالا را ارائه میکنند.
  • امکان تحلیل سیستم ها را از لحاظ کامل بودن ،‌ سازگاری ،‌ ابهام و عملکرد ایجاد میکند.
  • می توانند از ایجاد خودکار سیستم های نرم افزاری پشتیبانی کنند.

برخی از نکات منفی این زبان ها:

  • توافق بین المللی خاصی برای اینکه زبان های توصیف طراحی باید چه چیزی را ارائه کنند وجود ندارد.
  • ارائه هایی که امروزه استفاده می شوند اغلب برای تجزیه و تحلیل کردن سخت هستند و توسط ابزار های تجاری پشتیبانی نمی شوند.
  • این زبان ها معمولا برای نوع خاصی از تحلیل بهینه و مناسب هستند.

برخی از این زبان ها عبارتند از :

AADL ، یک زبان بزرگ و کامل برای طراحی سیستم های نرم افزاری و سخت افزاری است. این زبان از پردازنده ها درگاه ها و گذرگاه ها و حافظه به علاوه ی فرآیند ها ،‌ نخ ها و داده ها پشتیبانی میکند. تعریف مولفه ها به دو قسمت “انواع مولفه” که بیانگر ویژگی قابل مشاهده برای سایر مولفه ها است و “پیاده سازی مولفه” که قسمت های داخلی را تعریف میکند تقسیم میشود. تصویر پایین یک مثال طراحی سیستم کنترل سرعت در این زبان است.

ACME ، یک زبان کوچک و ساده است. این زبان دارای سیستم های مفهومی ، مولفه ها ،‌ درگاه ها ،‌ نقش ها و ارائه ها است. ویژگی اصلی مربوط به این زبان این است که ارائه های این زبان می توانند بسیار به مدل اساسی نزدیک باشند. این زبان را میتوان زیر مجموعه ای از AADL دانست. مثال زیر پیاده سازی پایپ لاین یونیکس مانند زبان سی است :

Component pipe =

{

Port in;

Port out;

Property implementation : String = “while (!in.eof)

{ in.read; compute; out.write; }”;

}

Rapide ، این زبان مجموعه ای از چندین زبان است که عبارتند از زبان نوع ، زبان تعریف ،‌ زبان محدودیت ،‌ و یک زبان برنامه نویسی قابل اجرا.” زبان نوع”،‌ یک رابط برای” زبان تعریف” که بیانگر طراحی است ارائه می دهد.” زبان محدودیت” نیازمندی ها را برای زمانبندی و سایر الگو های رخداد ها مشخص میکند. هدف اصلی “زبان قابل اجرا” پیاده سازی رفتار مولفه ها و ارتباط بین آنها است.

Wright: این زبان بر اساس مولفه های انتزائی ،‌ اتصال ها ، پیکربندی ها (که نمونه ها از آنها مشتق می شوند) ،‌ ضمیمه ها (توپولوژی سیستم را مشخص میکنند) و سلسله مراتب ها (یک مولفه مولفه دیگر را نگهداری میکند) ایجاد شده است. در پایین یک مثال از عملیات رایج فیلتر است :

Configuration Capitalize

Component UpperCase

Connector Pipe

Instances

Split : SplitFilter

Upper : UpperCase

Merge : MergeFilter

P1, P2, P3 : Pipe

Attachments

Split.Left as P1.Source

Upper.Input as P1.Sink

Split.Right as P2.Source

Merge.Right as P2.Sink

Upper.Output as P3.Source

۴

Merge.Left as P3.Sink

End Capitalize.

Darwin ،‌ این زبان از ساختار سلسله مراتبی پشتیبانی میکند. در این زبان مولفه ها از سایر مولفه ها یا از مولفه های اولیه ساخته میشوند. این زبان همچنین از ساختار های برنامه های موازی و توپولوژی های شبکه پشتیبانی میکند.

Aesop ،‌ این زبان مجموعه ای از ابزار برای توسعه یک مدل سیستم است. این برنامه بر پایه یونیکس است و از ویژگی های پایپ و فیلتر ها پشتیبانی میکند. با وجود یک هسته پویا برای همه محیط ها قابل استفاده است. تمام مدل سازی با استفاده از رابط گرافیکی انجام می شود.

UML ،‌ یک زبان مدل سازی محبوب و پرکاربرد است. از نظر فنی uml یک زبان ADL نیست و برای آن طراحی نشده است. اما برای مدل سازی یک سیستم مناسب است. مزیت اصلی این زبان پرکاربرد بودن آن است و اینکه برنامه نویسان زیادی با آن آشنا هستند.در نسخه ۲٫۰ آن یک زبان محدودیت شی OCL قرار داده شد که یک زبان تعریفی برای توضیح مدل به صورت متنی است. منتقدین این نسخه بیان میکنند که آن بسیار پیچیده و بزرگ است تا بتوان آن را یادگرفت.

گرداوری : کامران محمودی

منابع :

http://en.wikipedia.org/wiki/Architecture_description_language

Architecture Description Languages, Stefan Björnander, Mälardalen University (http://www.mrtc.mdh.se/han/FoPlan/ass2-bjornander.pdf)


2 دیدگاه مقاله ی "زبان های توصیف معماری"

  1. cheap football kits گفت:

    Really looking forward to read more. Really Cool.

  2. bayer leverkusen shirt گفت:

    You know I love your blog!!!

پاسخ دادن به cheap football kits لغو پاسخ

We are glad you have chosen to leave a comment. Please keep in mind that comments are moderated according to our comment policy.