Ada Semantik Arayüz Spesifikasyonu - Ada Semantic Interface Specification

Ada Anlamsal Arayüz Spesifikasyonu (ASIS)
Geliştirici (ler) Dil Avukatları, Ada Lovelace
Hedef platformlar Ada Programlama Dili Uygulamaları ve Statik Analiz
Durum Aktif
Lisans Tescilli

Ada Semantik Arayüz Özellikleri ( ÇED ) için satıcı bağımsız erişim sağlayan bir katmanlı, açık mimari Ada Kütüphane Ortamında. Ada programlarının ve kütüphanelerinin statik analizine izin verir . Ada ortamından ve bunların araçlarından ve uygulamalarından oluşan açık, yayınlanmış bir arayüz kütüphanesidir.

ASIS Çalışma Grubu tarafından açıklandığı gibi :

"ASIS, ISO / IEC 8652: 1995 (Ada Referans Kılavuzu) tarafından tanımlanan Ada ortamı ile bu ortamdan bilgi gerektiren herhangi bir araç arasındaki bir arayüzdür " (SIGAda, 2020)

Ada programlarında yalnızca programlama dili uygulamaları ve statik analiz için kullanılır, bu nedenle ilgili bilgileri ve Bilgisayar destekli yazılım mühendisliğine (CASE) ve uygulanabilir geliştiricilere erişimi sağlar. ASIS, aynı zamanda bir Ada ortam ekranının karmaşıklıklarının kolay anlaşılmasını sağlarken, ilgili yazılım mühendisliği araçlarını kullanma becerisine de sahiptir. Ek olarak, referans kılavuzlarında ve Özet Sözdizimi Ağacında (AST) bulunan özel bilgilere erişmek için önemli ölçüde kullanılabilecek prosedürler, işlevler ve ilgili bilgiler sağlar. Buna karşılık, ASIS'i Ada araçlarının bilgilerini ve terminolojisini taşımak ve saklamak için taşınabilir olma yeteneğine ilerletir.

"ASIS 21 paketten oluşuyor, 2'si isteğe bağlı ve bu paketler içinde 349 sorgu tanımlıyor". ASIS ayrıca, içinde "Hatalar Derleme birimleri, Ada ortamları, uygulama, istisnalar, öğeler, yineleyici, bildirimler, ifadeler, tümceler, tanımlar, ifadeler, metin ve kimlikler" içeren alt paketler içeren bir paketten oluşacaktır.

Genel ASIS, bir ADA programından veri toplamanın basit bir yoludur ve Ada araçlarının taşınabilirliğini artırır.

Ada Programlama / Tüm Bölümler. Vol. 1/3 cilt seti. ASIS'in temeli

ASIS'in Özellikleri

ISO / IEC 8652 Ada 95 Referans Kılavuzu (Ada Dil Referans Kılavuzu, 1994) altındaki Ada Anlamsal Ara Faz Tanımlaması, bir Aria ortamı ve Aria ortamından bilgi gerektiren diğer araçlar arasında bir arayüz olarak tanımlanır.

ASIS tabanlı araçların özellikleri şunları içerebilir:

  • yüksek kaliteli kod analizi
  • otomatik kod monitörleri
  • tarayıcılar
  • ağaç araçlarını çağır
  • kod düzelticiler
  • kodlama standartlarına uygunluk araçları
  • doğruluk doğrulayıcıları
  • hata ayıklayıcılar
  • bağımlılık ağacı analiz araçları
  • tasarım araçları
  • belge oluşturucular
  • ölçüm araçları
  • tersine mühendislik araçları
  • yeniden mühendislik araçları
  • stil dama
  • test araçları
  • zamanlama tahmin edicileri
  • çevirmenler

ASIS ayrıca Ada kütüphanesinde bulunan yapısal ve anlamsal bilgilere sınırlı yaklaşımlar sağlar, Ada'nın tanımı ile aynı anlam düzeyinde olmasa da benzer bilgiler sağlamayı ve üretmeyi amaçlamaktadır. Bu, Ada Programlama Dili Referans Kılavuzunun (LRM) aynı tanımları ve bilgileri ilgili kişilere ve müşterilere (Ehrenfried) sağlamaya büyük ölçüde yardımcı olacaktır.

Ana soyutlamalar

ASIS'de Ada 'özel' türlerinde bulunan 3 ana soyutlama vardır. Bu, Context, Compilation_Unit ve Element'ten oluşur. Ek soyutlama türleri de dahil olmakla birlikte, bahsedilen 3 temel ilkelerdir.

Context

ASIS'in Bağlam soyutlaması, ASIS sorgularında bulunan tanımlardan, şartlardan ve koşullardan oluşur. Ada ortamı için bir yol ve mantıksal tutamaç olarak da kullanılır.

Compilation_Unit

Derleme Birimi ayrıca Ada ortamı için mantıksal bir tutaçtır. Bu soyutlama, Ada Referans El Kitabında daha ayrıntılı olarak görülen özellikleri ve karakteristikleri de tanımlar . Derleme birimlerini ASIS aracılığıyla iletmek için Ada'nın programlama dili uygulamasını kullanır. Adacore'un dediği gibi;

"Bir ASIS Compilation_Unit , birimi bir bütün olarak dikkate alarak bir derleme biriminin 'kara kutu' görünümünü sağlar. ASIS'e ayrıştırılabilir Element ve ardından 'beyaz kutu' tarzında analiz edilebilir."

Verilen bu özelliklerin örnekleri şunları içerebilir:

  1. Son güncelleme zamanı
  2. Birim soruce metnini içeren nesnenin adı
Element

Karşılaştırmalı olarak, Öğe soyutlaması aynı zamanda yukarıda tartışılan Derleme Biriminin mantıksal bir tutucusudur, bu açık veya örtük olabilir.

ASIS'in Yapısı

ASIS uygulama yapısı 3 kategoriye ayrılabilir; ASIS Analizi, İşlem Derleme Birimleri ve Tam ASIS Analizini Kurun. Bu yapı, Ada programlama dilinde görünen çeşitli kod analizi programlarını desteklemeye yardımcı olmak içindir.

ASIS analizini ayarla

ASIS analizinin yapısının ilk adımı, onu verimli bir şekilde kurmaktır. Bu adım sırasında, çeşitli görevler ve programlar başlatılır ve oluşturulur. Örneğin, William Colket (1999) tarafından tanımlandığı gibi, bu adım, ASIS programının ASIS'yi başlattığı, ASIS bağlamını ve durum nesnesini oluşturduğu, ASIS Bağlamını analizle ilişkilendirdiği, ASIS bağlamını açtığı ve gerekli tüm ön işlemleri gerçekleştirdiği zamandır. ASIS analizini destekleyin. İlk adım, genellikle ASIS analizini çalışır hale getirmek ve verimli ve etkili bir şekilde kullanıma hazır olmaktır.

İşlem derleme birimleri

Daha sonra kurulumun ardından " derleme birimlerini işleme " gelir, bu süre zarfında öğeler ASIS yapısının başlangıcında açılmış ve ilişkilendirilmiş olan ASIS Bağlamına uyacak şekilde örneklenir ve analiz edilir. Bu adım sırasında, esas olarak ASIS uygulama öğelerinin çoğunu ASIS bağlamıyla ilişkili olarak işler, ayrıca işlem yapılmadan önce ve sonra derleme birimlerini gerçekleştirme yeteneğine de sahiptir.

Eksiksiz ASIS analizi

ASIS yapısının son ve son aşaması, ASIS analizinin tamamlanmasıdır. Bu, ASIS analizine yönelik herhangi bir sonradan işleme gerçekleştirmek için her şeyin sonuçlandırıldığı ve gözden geçirildiği yerdir. ASIS bağlamı da kapanır ve ilişkisi kesilir ve ASIS sonunda nihai hale getirilir.

Tasarım kriterleri

ASIS benzer şekilde gelişmeye devam ettikçe, tasarım kriterlerinin de gelişimi. ASIS'in nasıl tasarlanabileceğine ilişkin kriterler 9 farklı kategoriye ayrılabilir; geniş kabul, taşınabilirlik, tekdüzelik ve bütünlük, uygulanabilirlik, teknoloji durumu, genişletilebilirlik, ad terminolojisi ve stili, performans ve minimal arayüz seti.

1. Geniş kabul

ASIS için çok çeşitli araçların kullanılabilmesi için bu kriterlere göre tasarlanmalıdır. Bunu bununla tasarlamak, arayüz kitaplığının daha esnek olmasını ve diğer platformlar, Ada satıcı uygulamaları için araçlar için kullanılabilir olmasını sağlar. Ayrıca, araç kullanıcıları ve geliştiriciler için eğitim süresini kısaltmasına da olanak tanır.

2. Taşınabilirlik

ASIS ayrıca bir bilgisayardan başka bir bilgisayara veya başka bir ortamdan diğerine aktarılabilecek şekilde tasarlanmalıdır.

3. Tekdüzelik ve tutarlılık

Ayrıca özelliklerde, kavramlarda, türlerde ve işlemlerde tutarlı olmalı, ancak aynı zamanda basit ve tutarlı bir işlem olarak tutulmalıdır.

4. Uygulanabilirlik

ASIS ayrıca "herhangi bir Ada Derleyici Satıcısı tarafından makul bir çabayla uygulanabilir" olduğu için eleştirilir. Tüm program boyunca tutarlılığı sürdürmenin yanı sıra.

5. Teknolojinin durumu

Hiçbir sorunun yaşanmaması için teknolojinin durumu her zaman güncellenmeli ve geliştirilmelidir. Ek olarak, ASIS'in tüm olası varyasyonlarının ve sürümlerinin tutarlı ve verimli olması sağlanmalıdır.

6. Genişletilebilirlik

"ASIS tasarım modelini ve soyutlamalarını kullanacak uzantıları engellememelidir."

7. Ada terminolojisi ve stili

ASIS, Ada Referans El Kitabının stil hüküm ve koşullarına ve tanımlarına da uyum sağlamalıdır.

8. Performans

"ASIS tasarımı, hem müşteri hem de uygulama görünümünden verimliliğe izin vermelidir"

9. Minimal arayüz seti

"Müşterilerin sağlanan ilkel işlemleri kullanarak ek katmanlı arayüzler uygulamasına izin vermelidir."

ASIS Kullanımları

GNAT için ASIS

ASIS, Adacore tarafından ASIS-for-GNAT uygulamalarının kullanımında bir ASIS standardı uygulamak için kullanılmıştır. ASIS, "Statik Analiz (özellik doğrulama), Kod enstrümantasyonu, Tasarım ve belge oluşturma araçları, Metrik test veya zamanlama araçları, Bağımlılık Ağacı Analiz Araçları, Tür Sözlüğü Oluşturucuları, Kodlama standartları Uygulama Araçları, Dil gibi tipik uygulamalar aracılığıyla GNAT için kullanılabilir. Çevirmenler, Kalite Değerlendirme Araçları, Kaynak Tarayıcılar ve Biçimlendiriciler ve Sözdizimi Yönlendirmeli Düzenleyiciler ”(GNAT için ASIS).

Bu kullanım aynı zamanda ASIS'in yardımıyla çok sayıda araç geliştirebilmiştir:

  1. gnatelim
  2. gnatstub
  3. gnatcheck
  4. gnatpp
  5. gnatmetrik.

İzolatör olarak ASIS

Pace Drury (1999), ASIS'i, veri tabanı etkileşiminden üretilen Commercial Off the Shelf (COTS) 'de görülen özel ayrıntıları ve varyasyonları tanımlamak için kullanılan' SIDPERS-3 'adlı projesi için bir kod oluşturmak için kullanır. ASIS'in, yazılım geliştiricisini aynı üretilen Ada kod özelliklerinden başarıyla izole eden yeni bir Ada kodu katmanı oluşturduğu proje.

Büyük ölçüde Ada kodundan oluşan 'generate_db_support_code' adı verilen bu kadar zor bir kod yazdıktan sonra, amacı 2 dosya açmak, içerikleri incelemek ve önceki 2 dosyaya göre iki yeni dosya oluşturmaktı. ASIS, kodun yapısını verimli bir şekilde incelemek için kullanıldı ve Ada dilini içeren bir listeyi depolamayı ve bu listeye bağlanmayı kolaylaştırdı. ASIS, yapılması istenenleri tutarlı bir şekilde tamamlar ve projenin ihtiyaçlarını karşılayan veri tabanı bilgilerine sürekli ve güvenli bir şekilde erişim sağlar.

AdaControl

AdaControl , Ada programlarında çeşitli yapı türlerinin kullanımını algılayan ücretsiz (GMGPL) bir araçtır. Kullanımları arasında kodlama standartlarının kontrol edilmesi, Ada özelliklerinin kullanımının araştırılması, istatistiklerin yapılması ve daha fazlası bulunur. ASIS'in tüm gücünü kullanır ve en tipik ASIS uygulaması olarak kabul edilebilir.

Referanslar

Ek

  1. ISO / IEC 15291: Bilgi teknolojisi - Programlama dilleri - Ada Semantik Arayüz Spesifikasyonu (ASIS)
  2. Ada Dil Referans Kılavuzu. Sürüm 6.0 21 Aralık 1994. Telif Hakkı (C) 1992, 1993, 1994, 1995 Intermetrics, Inc.
  3. ASIS 2.0 spesifikasyonu

Dış bağlantılar