stringtranslate.com

JOVIAL

JOVIAL یک زبان برنامه نویسی سطح بالا بر اساس ALGOL 58 است که برای توسعه سیستم های تعبیه شده (سیستم های کامپیوتری تخصصی که برای انجام یک یا چند عملکرد اختصاصی طراحی شده اند، که معمولاً به عنوان بخشی از یک دستگاه بزرگتر و کاملتر از جمله قطعات مکانیکی طراحی شده اند) تخصصی می باشد. این یک زبان برنامه نویسی سیستم اصلی در دهه 1960 و 1970 بود. [2]

تاریخچه

کتابچه راهنمای برنامه نویسی کامپیوتر برای زبان Jovial (J73).

JOVIAL به عنوان یک زبان برنامه نویسی جدید "بالا" [3] : 1  توسعه یافت که در سال 1959 توسط تیمی در شرکت توسعه سیستم (SDC) به سرپرستی جولز شوارتز برای تهیه نرم افزار برای الکترونیک هواپیماهای نظامی شروع شد. [4]

نام JOVIAL مخفف جولز نسخه خود [5] زبان بین المللی جبری است . زبان الگوریتمی بین المللی (IAL) نامی بود که در ابتدا برای ALGOL 58 پیشنهاد شد . [6] به گفته شوارتز، این زبان در ابتدا OVIAL نام داشت ، اما به دلایل مختلف با آن مخالفت شد. JOVIAL سپس پیشنهاد شد ، بدون هیچ معنایی به J. تا حدودی به شوخی پیشنهاد شد که این زبان به نام شوارتز نامگذاری شود، زیرا او رئیس جلسه بود و این نام غیررسمی ماندگار شد. [7]

در طول دهه 1960، JOVIAL به دلیل عدم وجود برنامه‌نویسی محاسباتی بلادرنگ، بخشی از سری پروژه‌های L- نظامی ایالات متحده ، به ویژه سیستم کنترل هوایی استراتژیک ITT 465L ( پروژه سیستم فرماندهی و کنترل خودکار استراتژیک (SACCS) بود. زبان های موجود حدود 95 درصد از پروژه SACCS که توسط International Telephone & Telegraph (ITT) با نرم افزاری که عمدتاً توسط SDC نوشته شده است، مدیریت می شود، به زبان JOVIAL نوشته شده است. پروژه نرم افزاری دو سال و کمتر از 1400 سال برنامه نویسی طول کشید، یعنی کمتر از نیمی از زمان معادل پروژه SAGE L. [8]

دکمه پین ​​که JOVIAL را به‌عنوان یکی از زبان‌هایی نشان می‌دهد که تکنیک‌های پیشرفته رایانه، کامپایلرهای متقابل را برای آن ساخته است.

در اواخر دهه 1970 و اوایل دهه 1980، نیروی هوایی ایالات متحده یک واحد پردازش مرکزی استاندارد (CPU)، MIL-STD-1750A ، و برنامه های بعدی JOVIAL برای آن پردازنده ساخته شد. چندین فروشنده تجاری، کامپایلرها و ابزارهای برنامه نویسی مرتبط را برای ساخت JOVIAL برای پردازنده هایی مانند MIL-STD-1750A، از جمله تکنیک های پیشرفته کامپیوتری (ACT)، سیستم های TLD ، سیستم های نرم افزاری اختصاصی (PSS) و غیره ارائه کردند. [9] [10]

JOVIAL در سال 1973 با MIL-STD-1589 استاندارد شد و در طول سال 1984 با MIL-STD-1589C تجدید نظر شد . هنوز هم برای به روز رسانی و نگهداری نرم افزار در وسایل نقلیه نظامی و هواپیماهای قدیمی استفاده می شود. سه گویش رایج وجود دارد: J3، J3B-2 و J73.

از سال 2010 ، JOVIAL دیگر توسط دفتر برنامه JOVIAL USAF (JPO) نگهداری و توزیع نمی شود. نرم‌افزاری که قبلاً توسط JPO توزیع می‌شد، همچنان از طریق منابع تجاری در Software Engineering Associates, Inc., (SEA) و سایر ترکیبات پردازنده‌های میزبان/هدف از جمله Windows ، Linux ، Mac OS X در PowerPC ، SPARC ، VAX ، 1750A ، PowerPC در دسترس است. ، TI-9989 ، Zilog Z800x ، Motorola 680x0 ، و IBM System 360 ، System 370 ، و System z . علاوه بر این، DDC-I که بخش‌هایی از تکنیک‌های پیشرفته رایانه را به دست آورده است، کامپایلرهای JOVIAL و ابزارهای مرتبط را نیز از آوریل 2020 فهرست می‌کند . [2]

اکثر نرم افزارهای پیاده سازی شده در JOVIAL ماموریت حیاتی هستند و تعمیر و نگهداری در حال رشد دشوارتر است. در دسامبر 2014، گزارش شد که نرم‌افزار برگرفته از کد JOVIAL که در دهه 1960 تولید شده بود، در یک شکست بزرگ زیرساخت‌های کنترل ترافیک هوایی بریتانیا نقش داشته و آژانسی که از آن استفاده می‌کند، هلدینگ NATS ، باید آن را آموزش دهد. کارکنان IT در JOVIAL تا بتوانند این نرم افزار را که تا سال 2016 برای جایگزینی برنامه ریزی نشده بود، نگهداری کنند. [11]

نفوذ

زبان های تحت تأثیر JOVIAL عبارتند از CORAL ، SYMPL ، زبان برنامه نویسی فضایی (SPL) و تا حدودی CMS-2 . [12] یک زیر مجموعه تعاملی از JOVIAL به نام TINT، شبیه به JOSS در دهه 1960 توسعه یافت. [7]

ویژگی ها

JOVIAL شامل ویژگی‌هایی است که در ALGOL استاندارد یافت نمی‌شوند، مانند آیتم‌ها (که اکنون ساختارها نامیده می‌شوند )، آرایه‌های آیتم‌ها، متغیرهای وضعیت (اکنون شمارش‌ها نامیده می‌شوند ) و زبان اسمبلی درون خطی . [13]

همچنین شامل مقرراتی برای داده های "بسته بندی شده" در جداول بود. بسته بندی جدول به تخصیص اقلام در یک ورودی به کلمات ذخیره سازی (بیت ها در یک واحد داده) اشاره دارد. این با توجه به حافظه محدود و ذخیره سازی سیستم های محاسباتی در دوره JOVIAL مهم بود.

Communication Pool (COMPOOL) در Jovial شبیه کتابخانه های فایل های سرصفحه برای زبان هایی مانند PL/I و C است.

برنامه های کاربردی

سیستم های قابل توجه با استفاده از نرم افزار جاسازی شده JOVIAL عبارتند از:

مثال

مثال زیر از کتابچه راهنمای برنامه نویسی کامپیوتر برای زبان JOVIAL (J73) گرفته شده است. [3] : 12 

PROC RETRIEVE(CODE:VALUE); شروع کنید کد مورد U; مقدار مورد F; VALUE = -99999.; برای I: 0 در 1 در حالی که I<1000; IF CODE = TABCODE(I); شروع کنید VALUE = TABVALUE(I); خروج؛ پایان پایان

این مثال رویه ای به نام را تعریف می کند RETRIEVEکه یک آرگومان ورودی عدد صحیح بدون علامت CODEو یک آرگومان خروجی ممیز شناور را می گیرد VALUE. آرایه 1000 عنصری را TABCODEبرای ورودی منطبق جستجو می‌کند CODEو سپس متغیر ممیز شناور را VALUEروی عنصر آرایه TABVALUEبا شاخص آرایه منطبق یکسان تنظیم می‌کند. اگر عنصر منطبقی یافت نشد، VALUEروی تنظیم می شود −99999.0.

مراجع

  1. "Software Engineering Associates, Inc. (SEA)". بایگانی شده از نسخه اصلی در 2019-12-21 . بازیابی شده در 2006-08-17 .
  2. ^ ab "سیستم های توسعه بالغ، زمینه اثبات شده در صدها برنامه". DDC-I . فینیکس، آریزونا 2020 . بازبینی شده در 22 آوریل 2020 .
  3. ^ ab Softech, Inc. (ژوئن 1981). کتابچه راهنمای برنامه نویسی کامپیوتر برای زبان JOVIAL (J73) (PDF) . رم، نیویورک: مرکز توسعه هوایی رم. ص 1. بایگانی شده (PDF) از نسخه اصلی در 29 ژوئیه 2018 . بازبینی شده در 16 مه 2018 .
  4. شوارتز، ژول I. (7 آوریل 1989). "مصاحبه تاریخ شفاهی با ژول اول شوارتز". موسسه چارلز بابیج دانشگاه مینه سوتاشوارتز برای شرکت RAND در پروژه های مختلف دفاعی کار می کرد: به ویژه محیط زمین نیمه خودکار (SAGE) و JOHNNIAC . هنگامی که RAND شرکت توسعه سیستم را سازماندهی کرد ، شوارتز به شرکت جدید رفت. در بیشتر مصاحبه، شوارتز ارتباط خود را با SAGE، نقشش در کار آزمایشگاه کامپیوتری در زمینه اشتراک زمانی برای کامپیوتر AN/FSQ-32 ، شبکه های کامپیوتری ، پروژه های سیستم کنترل (مانند TDMS) و تعاملات خود با JCR را شرح می دهد. لیکلیدر ، لارنس جی رابرتز و رابرت ساکستون تیلور . او درباره موقعیت بعدی خود در شرکت علوم کامپیوتر صحبت می کند .
  5. «اد و کی، پیشگامان JOVIAL». jovial.com . بازیابی شده در 2021-02-23 .
  6. شاو، کریستوفر جی (۱۹۶۳-۱۲-۰۱). "مشخصات JOVIAL". ارتباطات ACM . 6 (12): 721-736. doi : 10.1145/763973.763978 . ISSN  0001-0782. S2CID  1427629.
  7. ^ ab Schwartz, Jules I. (8 اوت 1978). "توسعه Jovial" (PDF) . اطلاعیه های ACM SIGPLAN . 13 (8): 203. doi :10.1145/960118.808385. S2CID  17913060 . بازبینی شده در 28 ژانویه 2015 .
  8. کمبل-کلی، مارتین (2003). از رزرو خطوط هوایی تا Sonic the Hedgehog: تاریخچه صنعت نرم افزار . کمبریج، ماساچوست: MIT Press . صص 46-7. شابک 0-262-03303-8.
  9. شاختر، اسکار (7 مه 2004). "مصاحبه تاریخ شفاهی با اسکار شاختر". موسسه چارلز بابیج دانشگاه مینه سوتا: 17.
  10. «ابزارهای پشتیبانی نرم افزار JOVIAL (J73) و MIL-STD-1750A ISA». خبرنامه Ada–JOVIAL . مرکز کنترل زبان درجه بالا، رایت-پترسون AFB، نیروی هوایی ایالات متحده. سپتامبر 1993. صص 21-24.
  11. رینر، گوردون (12 دسامبر 2014). "هرج و مرج پروازهای بریتانیا: رایانه های کنترل ترافیک هوایی با استفاده از نرم افزار دهه 1960". دیلی تلگراف . بازیابی شده در 2020-04-21 .
  12. کتابچه راهنمای آموزشی نرخ مبانی کامپیوتر دیجیتال، NAVEDTRA 10088-B ، نیروی دریایی ایالات متحده ، 1978
  13. هلانگ، ولفگانگ آ. استوینکو، الکساندر دی (1991). ساخت سیستم های زمان واقعی قابل پیش بینی Springer Verlag. ص 31. شابک 978-1-4615-4032-8.
  14. «جوویال برای هموار کردن انتقال نیروی هوایی ایالات متحده به آدا». الکترونیک دفاعی . 1 مارس 1984. بایگانی شده از نسخه اصلی در 2012-10-12 . بازبینی شده در 28 ژانویه 2015 .
  15. «AN/APG-73، دایره المعارف جنگجویان». بایگانی شده از نسخه اصلی در 2004-11-05.

لینک های خارجی