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

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

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

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

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

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

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

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

 

برخي از نكات مثبت اين زبان ها :

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

 

برخي از نكات منفي اين زبان ها:

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

 

 

 

 

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

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 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
Feel free to contribute!

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

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