شنبه ۷ اسفند ۱۳۹۵
 
 
 
کلمه عبور خود را فراموش کرده اید؟
 

 
 
 مطالعه و بررسي زبان Ada
C++/CLI
تاریخ ثبت:  ۸۶/۲/۲۲
تعداد نمایش:  ۹۱۶۶
  نویسنده: علی اکبر رمضانی
 
   ۶  نفر تا این لحظه به این مقاله امتیاز داده اند.
 
   Bookmark and Share

 Ada يک زبان برنامه نویسی زبان برنامه نويسي نوع دار ساخت یافته ساخت يافته است، که به وسيله ي Jean Ichbiah از Cii Honeywell Bull  در دهه ي 1970 طراحي شده و بيشتر براي مخاطب قرار دادن وظايف يکسان به عنوان زبان برنامه نویسی C زبان برنامه نويسي C و زبان برنامه نويسيC++  جا داده شد.Ada  به نام Ada, Lady Lovelace، اولين برنامه نويس کامپيوتر نامگذاري شد.

 

تاريخچه

در دهه ي 1970م ، اداره دفاع آمريکا با تعدادي از زبان هاي برنامه نويسي مختلف که براي   پروژه هايش استفاده شد تحت تاثير قرار گرفت که برخي از آنها اختصاصي و يا غير قابل استفاده بودند. درسال 1975م گروه کاري زبان مرتبه بالاتر "(HOLWG)" به منظور کاهش اين تعداد با پيدا کردن يا ايجاد يک زبان برنامه نويسي مناسب براي تجهيزات اداري تشکيل شد، نتيجه Ada بود. کل زبان هاي برنامه نويسي در حال استفاده براي چنين پروژه هايي از بيشتر از 450 در سال 1983م به حدود 37 تا سال 1996م تنزل کرد.

گروه کاري يک سري از اسناد تجهيزات زباني را ايجاد کرد- اسناد Strawman ، Tinman، و Ironman و بعدها Steelman. بسياري از زبان هاي موجود به طور رسمي دوره شدند، ولي تيم در سال 1977م به اين نتيجه رسيد که هيچ کدام از زبان هاي موجود مشخصات لازم را ندارند.

درخواست ها براي پيشنهاداتي براي يک زبان برنامه نويسي جديد مطرح شد و چهار پيمانکار براي گسترش پيشنهادات تحت نام هاي قرمز (Intermetrics)، سبز(Cii Honeywell Bull)، آبي (SoftEch)، و زرد ("SRI" International)، اجير شدند. در ماه مي 1979، پيشنهاد سبز، که به وسيله ي Jean Ichbiah درCii Honeywell Bull، مطرح شده بود. انتخاب شد و Ada نام گرفت. اين پيشنهاد جانشيني براي زبان برنامه نويسي LIS و Ichbiah بود و گروهش در دهه ي 1970 گسترش يافته بود.

اين زبان در سال 1983 داراي استاندارد ANSI شد  ANSI/MIL-STD 1815

1815م سال تولد Ada Lovelace است و استاندارد ISO نيز در 1987م بود. اين نسخه از زبان، از زمان تطابق آن با"ANSI"با عنوان Ada 83 شناخته شد.

Ada 95، استاندارد "ISO/ANSI"مشترک ISO-8652: 1995 آخرين استاندارد برايAda است. که در فوريه 1995م پذيرفته شد. (باعث شد که Ada 95 اولين زبان زبان برنامه نويسي شي گرا استاندارد ISO شود). براي کمک به اصلاح استاندارد و پذيرش آينده نيروي هوايي آمريکا پشتوانه اي براي گسترش کامپايلر GNAT ي کرد.

کار روي بهبود و به روز کردن محتواي فني زبان برنامه نويسي Ada ادامه يافت. اصلاحيه تکنيکي براي Ada 95 در اکتبر 2001 منتشر شد. فعلاً، بيشتر کارها براي توليد يک ضميمه براي Ada 95 در سال 2005 انجام شده است.

 

ويژگي هاي زبان

 Ada براي سيستم هاي بلادرنگ و نهفته ارائه شده است و کماکان براي همان اهداف استفاده  مي شود. نسخه ي تازه ي Ada 95 که به وسيله ي Tucker Taft از Intermetrics بين 1992م و 1995م طراحي شد پشتيباني براي سيستم ها، برنامه نويسي هاي مالي و عددي را بهبود داده است.

از ويژگي هاي قابل توجه Ada، تايپ قوي، چک زمان اجرا، پردازش موازي، دسته بندي استثناء وgenericها مي باشد. Ada 95 پشتيباني براي برنامه نويسي شي گرا، شامل مخابره پويا و قالبهاي مشابه C++ را اضافه کرده است.

پياده سازي هاي Ada نوعاً از جمع آوري زباله براي مدیریت حافظه مديريت حافظه استفاده نمي کند. Ada يک شکل محدود از مديريت حافظه بر اساس ناحيه را پشتيباني مي کند، که اجازه ي بعضي از موارد دسترسي به حافظه ي تخصيص نيافته را که بايد زمان کامپايل شناسايي شود مي دهد.

Ada چک هاي موقع اجرا را به منظور جلوگيري از دسترسي به حافظه ي تخصيص نيافته، خطاهاي سرريز بافر و اشکال هاي قابل اجتناب ديگر انجام مي دهد. اين چک ها مي توانند براي افزايش کارآيي از کار بيافتد. Ada همچنين شامل ابزارهايي براي کمک به تغيير برنامه است. به همين دليل، اين زبان در سيستم هاي بحراني مانند ارتباطات هوايي، تسليحات و فضاپيما    استفاده ي گسترده اي دارد.

در ضمن تعداد زيادي از چک هاي زمان کامپايل براي کمک به جلوگيري از اشکالات را حمايت  مي کند که قابل شناسايي تا زمان اجرا در بعضي ديگر از زبان ها نيست، يا نياز به چک هاي صريح دارد که به کد اصلي اضافه شود.

تعريف زبان Ada بين استانداردهاي سازماندهي بين المللي براي استاندارد سازي در اين که محتواي رايگان دارد غير معمول است. يکي از نتايج آن اين است که سند استاندارد (به عنوان کتاب"مرجع دستي" يا "RM" شناخته شده) يک مرجع معمول است که برنامه نويسان Ada براي جزئيات تکنيکي به آن متوسل مي شوند به همين ترتيب به عنوان کتاب درسي استاندارد، زبان هاي برنامه نويسي ديگر را آماده مي کند.

 

اهداف طراحي زبان Ada

Ada در ابتدا براي ۳ هدف طراحي شده بود:

1-   قابليت اطمينان و نگهداري برنامه (Program reliability and maintenance)

2-   برنامه نويسي به عنوان يک فعاليت انساني (Programming as a human activity)

3-   کارايي (Efficiency)

اين تجديد نظر زبان طراحي شده بود که انعطاف پذيري و قابليت توسعه بيشتر ، کنترل اضافي براي مديريت حافظه و همزماني و پکيج هاي استانداردگرا در جهت پشتيباني از نواحي کاربردي را مي نمايد .

از ويژگيهاي زبانها اين است که با قابليت اعتماد بالا و نگهداري ساده به خوبي انتشار يابند از اين رو اهميت بر روي اعتماد برنامه ، در حالت نوشتن قرار داده شده بود. براي مثال نقش هاي زبان نياز داشتند که متغير ها به صورت صريح تعريف شوند و نوع آنها مشخص شوند . از آنجا که نوعهاي يک متغير مشابه است ، کامپايلرها مي توانند از اينکه عمليات بر روي متغير ها با خصوصيات الحاق شده براي نوع Abject  ها سازگار است مطمئن باشند . زبانها اغلب از کامپايلهاي مجزا براي واحد هاي مختلف برنامه پشتيباني مي کنند تا توسعه و نگهداري برنامه آسان شود واز همان درجه چک کردن داخل واحد ها براي چک کردن بين واحد ها استفاده ميکند .

يک برنامه Ada ترکيب يک يا چند واحد برنامه ايست . واحد هاي برنامه شامل زير برنامه ها Package  ها ، Task ها  و واحد هاي محافظت شده است .

هر واحد برنامه معمولا شامل دو بخش است

1-    Specification : شامل اطلاعاتي است که بايد توسط واحد هاي ديگر قابل ديدن باشد

2- Body:شامل جزيات پياده سازي است که نيازي نيست براي ديگر واحدها قابل ديدن باشد.

يک برنامه Ada به صورت نرمال از واحد هاي برنامه هاي کتابخانه براي امکانات کلي استفاده ميکند.

همه کتابخانه ها با يک روش سلسله مراتبي ساختاربندي ميشوند، اين تجزيه منطقي يک زير سيستم را به مولفه هاي فردي اش تجزيه مي نمايد. متن واحد برنامه کامپايل شده مجزا بايد نام واحدهاي کتابخانه اي که نياز دارد را ذکرکند.


واحد هاي برنامه (Program Unit)

1-   زير برنامه :يک واحد اساسي براي توضيح يک الگوريتم است .

دو نوع زير برنامه وجود دارد:

1- Procedure

                        2- Function

2- Package : يک Package واحدي اساسي است براي تعريف مجموعه اي منطقي از موجوديتهاي وابسته .

براي مثال يک Package ميتواند براي معرفي يک مجموعه از تعاريف نوع و عملگرهاي مشارکتي استفاده شده باشد.قسمتي از Package ميتواند از User  پنهان باشد، بنابراين User  اجازه دسترسي به خصوصيات منطقي تعريف شده توسط Package را دارد .

زير برنامه ها و Package ها ممکن است به طور مجزا کامپايل شوند و به صورت سلسله مراتبي از پدر و فرزند مرتب شوند

3- Task : يک Task واحدي اساسي براي تعريف يک کار است که ترتيبي از عمليات ميباشد. و ممکن است به طور همزمان با ديگر Task  ها اجرا شود . Task ها ممکن است برروي چند کامپيوتر ، چند پردازنده يا يک Processor  اجرا شوند

4- واحد محافظت شده : يک واحد محافظت شده يک واحد اساسي براي تعريف عمليات محافظ شده در جهت هماهنگي استفاده از داده هاي Share  شده بين Task ها ميباشد.

 

شکست Ariane 5

وجود نقص در يک برنامه Ada و يا غير فعال کردن چک کننده هاي Ada باعث شکست راکت   Ariane 5 آژانس فضايي اروپا شد.

 

مطالعه وبررسي زبانAda از 3 نقطه نظر:

1-      Data : داده هاي Ada  شکل توسعه يافته اي از انواع پاسکال هستند اما قدرت تعريف نوع جديد درآنها بيشتر است .

انواع داده هاي اوليه : شامل صحيح ، حقيقي، کاراکتري،بولي،رشتهايو اشاره گر

انواع ساختمان داده : بردارها ، آرايه ها و فايلها

انواع دادهاي کاربر ساز: رکورد ، زير نوع و ...

 

2-   عملیات پایه ای (Primitive Operation :/ * mod rem + - abs not &  = /=  ،   >  ،   >=  ،   < ،<= in   -  not in-    And -Or- Xor- And then- Or Else)

3-   Sequence Control: ترتيب انجام عمليات:

1- در داخل عبارات جبري:عمليات با تقدم از چپ به راست انجام ميشود . Ada دراي عمليات مدار کوتاه (And then,OR Else) است به طوري که اگر ارزيابي اولين عملوند براي تعيين مقدار عبارت کافي باشد فقط اولين عملوند را ارزيابي ميکند – استثنا پرانتز است

2- بين دستورات : ترتيب اجرا بدين ترتيب است که از آدرس پايين تر به آدرس بيشتر اجرا ميشود – استثنا ها – if case loop

3-   بين برنامه اصلي و فرعي استثنائ اين مورد پردازش موازي است.

 

  کیفیت مقاله ارائه شده از نظر شما   
برای دادن رتبه به این مقاله می بایست Login کرده باشید.
  درباره نویسنده
علی اکبر رمضانی
همه مقاله های نوشته شده توسط این کاربر (۲)
 
  پیام جدید
هیچ سؤال یا نظری برای این موضوع فرستاده نشده است.

 عنوان فرستنده تاریخ

Copyright © 2006 - 2016 All Rights Reserved.
Please direct your questions or comments to