Ada semantik interfeysi spetsifikatsiyasi - Ada Semantic Interface Specification

Ada semantik interfeys spetsifikatsiyasi (ASIS)
Tuzuvchi (lar)Til bo'yicha yuristlar, Ada Lavlas
Maqsadli platformalar (lar)Ada dasturlash tili dasturlari va statik tahlil
HolatFaol
LitsenziyaMulkiy

The Ada Semantik interfeysning spetsifikatsiyasi (SHUNDAYKI) sotuvchiga mustaqil kirishni ta'minlaydigan qatlamli, ochiq me'morchilikdir Ada Kutubxona muhiti. Buning uchun imkon beradi statik tahlil Ada dasturlari va kutubxonalari. Bu Ada muhiti va ularning vositalari va dasturlaridan tashkil topgan ochiq, nashr etilgan interfeys kutubxonasi.

Bilan izohlanganidek ASIS ishchi guruhi:

"ASIS - bu Ada atrof-muhitining ISO / IEC 8652: 1995 (Ada Reference Manual) tomonidan belgilangan interfeysi va ushbu muhitdan ma'lumot talab qiladigan har qanday vosita" (SIGAda, 2020)

U faqat dasturlash tili dasturlari va Ada dasturlarida statik tahlil qilish uchun ishlatiladi, shuning uchun tegishli ma'lumotlarni beradi va kompyuter yordamida dasturiy ta'minot muhandisligi (CASE) va amaldagi ishlab chiquvchilarga kirish huquqini beradi. ASIS shuningdek, tegishli dasturiy ta'minot muhandislik vositalaridan foydalanish qobiliyatiga ega, shu bilan birga Ada muhiti displeyining murakkabligini oson tushunishni o'z ichiga oladi. Bundan tashqari, u qo'llanmalarda va Abstrakt sintaksis daraxti (AST) da mavjud bo'lgan eksklyuziv ma'lumotlarga kirish uchun sezilarli darajada ishlatilishi mumkin bo'lgan protseduralar, funktsiyalar va tegishli ma'lumotlarni taqdim etadi. Buning evaziga ASIS-ni Ada vositalarining ma'lumotlarini va terminologiyasini tashish va saqlash uchun portativ bo'lish qobiliyatiga ko'tariladi.[1]

"ASIS 21 to'plamdan iborat, ikkitasi ixtiyoriy va ushbu paketlar ichida 349 so'rovni belgilaydi".[2] ASIS, shuningdek, "Xatolar kompilyatsiyasi birliklari, Ada muhiti, amalga oshirish, istisnolar, elementlar, takrorlovchi, deklaratsiyalar, iboralar, bandlar, ta'riflar, bayonotlar, matn va idlar" ni o'z ichiga olgan bolalar paketlarini o'z ichiga olgan paketdan iborat bo'ladi.[3]

Umuman olganda ASIS - bu ADA dasturidan ma'lumotlarni to'plashning oddiy usuli va Ada vositalarining har qanday portativligini oshiradi.

Ada dasturlash / barcha boblar. 3-jildning 1-qismi o'rnatilgan. ASIS asoslari

ASISning xususiyatlari

ISO / IEC 8652 Ada 95 ma'lumot qo'llanmasidagi Ada Semantic Interphase Specification (Ada Language Reference Reference Guide, 1994) Aria muhiti va Aria muhitidan ma'lumot talab qiladigan boshqa vositalar orasidagi interfeys sifatida tavsiflanadi.

ASIS asosidagi vositalarning xususiyatlari quyidagilarni o'z ichiga olishi mumkin.[4]

  • yuqori sifatli kodlarni tahlil qilish
  • avtomatlashtirilgan kod monitorlari
  • brauzerlar
  • daraxt vositalarini chaqirish
  • kod islohotchilari
  • kodlash standartlariga muvofiqlik vositalari
  • to'g'riligini tekshiruvchilar
  • tuzatuvchilar
  • qaramlik daraxtini tahlil qilish vositalari
  • dizayn vositalari
  • hujjat generatorlari
  • o'lchov vositalari
  • teskari muhandislik vositalar
  • qayta qurish vositalari
  • uslubi shashka
  • sinov vositalari
  • vaqtni hisoblagichlar
  • tarjimonlar

ASIS Ada kutubxonasida mavjud bo'lgan tarkibiy va semantik ma'lumotlarga cheklangan yondashuvlarni taqdim etadi, ular Ada ta'rifi bilan bir xil semantik darajaga o'xshash ma'lumotlarni taqdim etish va ishlab chiqarishga qaratilgan. Bu manfaatdor shaxslar va mijozlarga (Erenfrid) Ada dasturlash tili uchun qo'llanma (LRM) ning aniq ta'riflari va ma'lumotlarini taqdim etishga katta yordam beradi.

Asosiy abstraktlar

ASISda 3 ta asosiy mavjud abstraktsiyalar Ada "xususiy" turlarida mavjud. Bu kontekst, Compilation_Unit va Elementdan iborat.[5] Abstraktsiyalarning qo'shimcha turlari ham mavjud bo'lsa-da, lekin yuqorida aytib o'tilgan 3 asosdir.

Kontekst

ASISning kontekst abstraktsiyasi ASIS so'rovlarida mavjud bo'lgan ta'riflar, shartlar va shartlardan iborat. Bundan tashqari, Ada muhiti uchun yo'l va mantiqiy tutqich sifatida ishlatiladi.[4]

Compilation_Unit

Kompilyatsiya bo'limi ham Ada muhiti uchun mantiqiy dastak hisoblanadi. Ushbu abstraktsiya shuningdek ko'rinishda bo'lgan xususiyatlarni va xususiyatlarni belgilaydi Ada ma'lumotnomasi. ASIS orqali kompilyatsiya birliklarini etkazish uchun Ada dasturlash tilini amalga oshirishdan foydalaniladi. Adacore aytganidek;

"ASIS Compilation_Unit kompilyatsiya bo'linmasining "qora quti" ko'rinishini ta'minlaydi, bu birlikni bir butun sifatida ko'rib chiqadi. U ASISga ajralishi mumkin Elementva keyin "oq quti" uslubida tahlil qilindi. "[4]

Ushbu xususiyatlarning namunalari quyidagilarni o'z ichiga olishi mumkin.

  1. Oxirgi yangilanish vaqti
  2. Birlik so'rovi matnini o'z ichiga olgan ob'ekt nomi
Element

Nisbatan Element abstraktsiyasi, shuningdek, yuqorida ko'rib chiqilgan kompilyatsiya birligining mantiqiy dastagi, bu aniq yoki yashirin bo'lishi mumkin.

ASISning tuzilishi

ASIS dastur tuzilishini 3 toifaga ajratish mumkin; ASIS tahlilini, protsess kompilyatsiya birliklarini va to'liq ASIS tahlilini o'rnatish. Ushbu tuzilma Ada dasturlash tilida paydo bo'ladigan turli xil kodlarni tahlil qilish dasturlarini qo'llab-quvvatlashga yordam beradi.[3]

ASIS tahlilini o'rnatish

ASIS tahlilining birinchi bosqichi uni samarali o'rnatishdir. Ushbu qadam davomida turli xil vazifalar va dasturlar ishga tushiriladi va o'rnatiladi. Masalan, Uilyam Kolket (1999) tomonidan belgilab qo'yilganidek, bu qadam ASIS dasturi ASISni ishga tushirganda, ASIS kontekstini va davlat ob'ektini o'rnatganda, ASIS kontekstini tahlil bilan birlashtirganda, ASIS kontekstini ochadi va zarur bo'lgan har qanday oldindan qayta ishlashni amalga oshiradi. ASIS tahlilini qo'llab-quvvatlash. Birinchi qadam, odatda ASIS tahlilini ishga tushirish va samarali va samarali foydalanishga tayyor bo'lishdir.

Jarayon kompilyatsiya birliklari

Keyin sozlash "qayta ishlash" bilan davom etadi kompilyatsiya birliklari ", bu vaqt ichida ASIS tuzilishining boshida ochilgan va bog'langan ASIS kontekstiga mos kelish uchun elementlardan namuna olinadi va tahlil qilinadi. Ushbu bosqichda u asosan ASIS dastur elementlarining ko'pini ASIS kontekstida, shuningdek, ishlov berishdan oldin va keyin kompilyatsiya birliklarini bajarish uchun qo'shimcha imkoniyat mavjud.

To'liq ASIS tahlili

ASIS tuzilishining so'nggi va yakuniy bosqichi ASIS tahlilini yakunlashdir. Bu erda ASIS tahliliga har qanday post ishlov berish uchun hamma narsa yakunlanadi va ko'rib chiqiladi. ASIS konteksti ham yopilgan va ajratilgan va ASIS oxiriga etkazilgan.

Dizayn mezonlari

ASIS xuddi shunday rivojlanishda davom etar ekan, uning dizayn mezonlari evolyutsiyasi ham o'zgarib bormoqda. ASISni ishlab chiqish mezonlarini 9 xil toifaga ajratish mumkin; keng qabul qilish, tashish qobiliyati, bir xillik va birdamlik, amalga oshirilish qobiliyati, texnologiya holati, kengayishi, ada terminologiyasi va uslubi, ishlashi va minimal interfeyslar to'plami.[6]

1. Keng qabul

U ushbu mezonlarga muvofiq ishlab chiqilishi kerak, shunda ASIS uchun turli xil vositalardan foydalanish mumkin. Uni shu bilan loyihalashtirish interfeys kutubxonasini yanada moslashuvchan va boshqa platformalardagi vositalar, Ada sotuvchisi dasturlari uchun mavjud bo'lishiga imkon beradi. Bu, shuningdek, asboblar foydalanuvchilari va ishlab chiquvchilari uchun o'qitish vaqtini qisqartirishga imkon beradi.

2. Tashish qobiliyati

ASIS bir kompyuterdan ikkinchi kompyuterga yoki boshqa muhitdan boshqasiga o'tkazish imkoniyatiga ega bo'lishi uchun ham ishlab chiqilishi kerak.

3. Bir xillik va birdamlik

Shuningdek, u xususiyatlari, tushunchalari, turlari va operatsiyalari bo'yicha izchil bo'lishi kerak, shuningdek oddiy va izchil operatsiya sifatida saqlanishi kerak.

4. Amalga oshirish

ASIS, shuningdek, uni "har qanday Ada Compiler sotuvchisi tomonidan oqilona harakat bilan amalga oshirilishi" uchun tanqid qilinadi.[4] Shuningdek, butun dastur davomida izchillikni saqlash.

5. Texnologiyalarning holati

Hech qanday muammo yuzaga kelmasligini ta'minlash uchun texnologiyaning holati har doim yangilanishi va takomillashtirilishi kerak. Bundan tashqari, ASISning barcha mumkin bo'lgan o'zgarishlari va versiyalari izchil va samarali bo'lishini ta'minlash kerak.

6. Kengayish

"Bu ASIS dizayn modeli va abstraktsiyalaridan foydalanadigan kengaytmalarni taqiqlamasligi kerak."[4]

7. Ada terminologiyasi va uslubi

ASIS, shuningdek, Ada ma'lumotnomasida qo'llanma uslubi va ta'riflari shartlariga moslashishi kerak.

8. Ishlash

"ASIS dizayni mijoz nuqtai nazaridan ham, amalga oshirish ko'rinishidan ham samaradorlikni ta'minlashi kerak"[4]

9. Minimal interfeyslar to'plami

"Bu mijozlarga taqdim etilgan ibtidoiy operatsiyalar yordamida qo'shimcha qatlamli interfeyslarni amalga oshirishga imkon berishi kerak."

ASISdan foydalanish

GNAT uchun ASIS

ASIS Adacore tomonidan ASIS-for-GNAT dasturlaridan foydalanishda ASIS standartini amalga oshirish uchun ishlatilgan. ASIS-dan GNAT uchun quyidagi odatiy dasturlar orqali foydalanish mumkin: “Statik tahlil (mulkni tekshirish), kodlash asboblari, loyihalash va hujjatlarni yaratish vositalari, metrik sinovlari yoki vaqtni belgilash vositalari, qaramlik daraxtini tahlil qilish vositalari, turdagi lug'at generatorlari, kodlash standartlarini bajarish vositalari, til Tarjimonlar, sifatni baholash vositalari, manbaviy brauzerlar va formatlashtiruvchilar va sintaksisga yo'naltirilgan muharrirlar ”(ASIS for GNAT).

Ushbu foydalanish, shu jumladan ASIS yordamida ko'plab vositalarni ishlab chiqishga muvaffaq bo'ldi

  1. gnatelim
  2. gnatstub
  3. tishlamoq
  4. g'azab
  5. gratmetrik.

ASIS izolyator sifatida

Pace Drury (1999) ASIS-dan o'zining loyihasi uchun "SIDPERS-3" kodini yaratish uchun foydalanadi, bu kod ma'lumotlar bazasi bilan o'zaro ta'siridan hosil bo'lgan tokchadagi savdo (COTS) da ko'rilgan samimiy tafsilotlar va o'zgarishlarni aniqlash uchun ishlatiladi. ASIS Ada kodining yangi qatlamini yaratgan loyiha, bu dasturiy ta'minot ishlab chiqaruvchisini bir xil yaratilgan Ada kod xususiyatlaridan muvaffaqiyatli izolyatsiya qildi.[7]

Asosan Ada kodidan iborat bo'lgan "generate_db_support_code" deb nomlangan bunday qiyin kodni yozib, uning maqsadi 2 ta faylni ochish, tarkibini o'rganish va oldingi 2 ta fayl asosida ikkita yangi fayl yaratish edi. ASIS kod tuzilishini samarali tekshirish uchun ishlatilgan, shu bilan Ada tilini o'z ichiga olgan ro'yxatni saqlash va bog'lanishni osonlashtirgan. ASIS talab qilingan narsani izchil bajaradi va loyiha ehtiyojlariga javob beradigan ma'lumotlar bazasi ma'lumotlariga doimiy va xavfsiz kirishni muvaffaqiyatli qo'lga kiritadi.

Adabiyotlar

  1. ^ Sward, Riki E.; Chamillard, A. T. (2004). "Adada global o'zgaruvchilarni qayta qurish". Ada bo'yicha 2004 yilgi ACM SIGAda xalqaro konferentsiyasi materiallari. Ada va unga aloqador texnologiyalardan foydalangan holda real vaqtda va tarqatilgan tizimlar uchun to'g'ri va ishonchli dasturiy ta'minotni ishlab chiqarish - SIGAda '04. Atlanta, Jorjiya, AQSh: ACM Press: 29-34. doi:10.1145/1032297.1032303. ISBN  978-1-58113-906-8.
  2. ^ Shtraymayer, Alfred; Fofanov, Vasiliy; Rybin, Sergey; Barbey, Stefan (1998). Asplund, Lars (tahr.) "ASIS uchun sifat: ASIS uchun portativ sinov vositasi". Ishonchli dasturiy ta'minot texnologiyalari - Ada-Europe. Kompyuter fanidan ma'ruza matnlari. Berlin, Geydelberg: Springer: 163–175. doi:10.1007 / BFb0055003. ISBN  978-3-540-69802-9.
  3. ^ a b Kolket, Uilyam Kurri (1999 yil sentyabr). "ASIS yordamida xavfsiz va juda muhim dasturiy ta'minotning kod tahlili". ACM SIGAda Ada harflari. XIX (3): 67–76. doi:10.1145/319295.319306. ISSN  1094-3641.
  4. ^ a b v d e f va boshqalar
  5. ^ "4. ASIS haqida umumiy ma'lumot - ASN-for GNAT foydalanuvchi qo'llanmasi 22.0w hujjatlari". docs.adacore.com. Olingan 2020-11-20.
  6. ^ Bleydn, Jeyms B.; Spenhoff, Devid; Bleyk, Stiven J. (1991). "Ada semantik interfeys spetsifikatsiyasi (ASIS)". TRI-Ada '91 bugungi yutuqlari bo'yicha konferentsiya materiallari; ertangi kutish - TRI-Ada '91. Nyu-York, Nyu-York, AQSh: ACM Press. doi:10.1145/126551.126552. ISBN  0-89791-445-7.
  7. ^ Drury, Pace (1999 yil mart). "Ma'lumotlar bazasini izolyatsiya qilish uchun ASISdan foydalanish". ACM SIGAda Ada harflari. XIX (1): 64–65. doi:10.1145/311457.311486. ISSN  1094-3641.

Qo'shimcha

  1. ISO / IEC 15291: Axborot texnologiyalari - Dasturlash tillari - Ada Semantic Interface Specification (ASIS)
  2. Ada tili bo'yicha qo'llanma. Versiya 6.0 1994 yil 21-dekabr. Mualliflik huquqi (C) 1992, 1993, 1994, 1995 Intermetrics, Inc.
  3. ASIS 2.0 spetsifikatsiyasi

Tashqi havolalar