PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مطالعه و بررسی زبان ada



hoora
19th November 2009, 08:59 PM
یکزبان برنامه نویسی زبانبرنامه نویسی نوع دارساخت یافته ساختیافته است، که به وسیله ی 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- بین برنامه اصلی و فرعی استثنائ این مورد پردازش موازی است.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

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