Specifikace sémantického rozhraní Ada - Ada Semantic Interface Specification

Specifikace sémantického rozhraní Ada (ASIS)
Vývojáři Právníci, Ada Lovelace
Cílová platforma (platformy) Aplikace programovacích jazyků Ada a statická analýza
Postavení Aktivní
Licence Proprietární

Specifikace sémantického rozhraní Ada ( ASIS ) je vrstvená otevřená architektura poskytující nezávislý na dodavateli přístup do prostředí knihovny Ada . Umožňuje statickou analýzu programů a knihoven Ada. Jedná se o otevřenou publikovanou knihovnu rozhraní, která se skládá z prostředí Ada a jejich nástrojů a aplikací.

Jak vysvětlila pracovní skupina ASIS :

„ASIS je rozhraní mezi prostředím Ada, jak je definováno v ISO / IEC 8652: 1995 (Ada Reference Manual), a jakýmkoli nástrojem vyžadujícím informace z tohoto prostředí“ (SIGAda, 2020)

Používá se výhradně pro programovací jazykové aplikace a statickou analýzu v programech Ada, a proto poskytuje příslušné informace a přístup k počítačovému softwarovému inženýrství (CASE) a příslušným vývojářům. ASIS má také schopnost využívat příslušné nástroje softwarového inženýrství a zároveň ztělesňuje snadné pochopení složitosti zobrazení prostředí Ada. Kromě toho poskytuje postupy, funkce a relevantní informace, které lze významně použít pro přístup k exkluzivním informacím uvedeným v referenčních příručkách a v abstraktním syntaxi stromu (AST). Což na oplátku posune ASIS na schopnost být přenosný pro přepravu a uchování informací a terminologie nástrojů Ada.

„ASIS se skládá z 21 balíčků, 2 jsou volitelné a v rámci těchto balíčků definují 349 dotazů“. ASIS bude také sestávat z balíčku, který v něm zahrnuje podřízené balíčky, které obsahují „jednotky kompilace chyb, prostředí Ada, implementaci, výjimky, prvky, iterátor, deklarace, výrazy, klauze, definice, příkazy, text a ID“.

Celkově je ASIS jednoduše přímým způsobem, jak sbírat data z programu ADA, a zvyšuje přenositelnost jakéhokoli nástroje Ada.

Programování Ada / Všechny kapitoly. Vol.1 ze 3 nastavených objemů. Základ ASIS

Vlastnosti ASIS

Specifikace sémantické mezifáze Ada podle referenční příručky ISO / IEC 8652 Ada 95 (Ada Language Referensing Manual, 1994) je definována jako rozhraní uprostřed prostředí Aria a dalších nástrojů vyžadujících informace z prostředí Aria.

Mezi funkce nástrojů založených na ASIS patří:

  • vysoce kvalitní analýza kódu
  • automatizované monitory kódu
  • prohlížeče
  • volejte stromové nástroje
  • reformátoři kódu
  • nástroje pro dodržování norem pro kódování
  • ověřovatelé správnosti
  • debuggery
  • nástroje pro analýzu stromu závislostí
  • návrhové nástroje
  • generátory dokumentů
  • metrické nástroje
  • nástroje pro reverzní inženýrství
  • re-inženýrské nástroje
  • dáma stylu
  • testovací nástroje
  • odhady načasování
  • překladatelé

ASIS také poskytuje omezené přístupy ke strukturálním a sémantickým informacím, které se nacházejí v knihovně Ada, jejím cílem je poskytovat a produkovat informace, které jsou podobné, ne-li přesně stejné sémantické úrovni jako definice Ada. To výrazně pomůže při poskytování přesně stejných definic a informací v Referenční příručce pro programovací jazyk Ada (LRM) zájemcům i klientům (Ehrenfried).

Hlavní abstrakce

V ASIS existují 3 hlavní abstrakce, které existují v „soukromých“ typech Ada. Skládá se z Context, Compilation_Unit a Element. Existují sice i další typy abstrakcí, ale zmíněné 3 jsou základy.

Context

Kontextová abstrakce ASIS se skládá z definic a podmínek, které jsou k dispozici v dotazech ASIS. Používá se také jako způsob a logický popisovač pro prostředí Ada.

Compilation_Unit

Jednotka kompilace je také logickým popisovačem pro prostředí Ada. Tato abstrakce také definuje vlastnosti a vlastnosti, které jsou dále vidět v referenční příručce Ada . Využívá implementaci programovacího jazyka Ada k přenosu kompilačních jednotek prostřednictvím ASIS. Jak řekl Adacore;

„ASIS Compilation_Unit poskytuje„ černou skříňku “pohled na kompilační jednotku s ohledem na jednotku jako celek. Může být rozložen na ASIS Element a poté analyzován způsobem„ bílé skříňky “.“

Příklady uvedených vlastností mohou zahrnovat:

  1. Čas poslední aktualizace
  2. Název objektu obsahujícího text soruce jednotky
Element

Srovnatelně je abstrakce prvku také logickým popisovačem kompilační jednotky popsané výše, může to být explicitní nebo implicitní.

Struktura ASIS

Strukturu aplikace ASIS lze rozdělit do 3 kategorií; Nastavit analýzu ASIS, zpracovat jednotky kompilace a dokončit analýzu ASIS. Tato struktura má pomoci při podpoře různých programů pro analýzu kódu, které se objevují v programovacím jazyce Ada.

Nastavení analýzy ASIS

Prvním krokem ke struktuře analýzy ASIS je její efektivní nastavení. Během tohoto kroku jsou inicializovány a vytvořeny různé úkoly a programy. Například, jak identifikoval William Colket (1999), jedná se o krok, kdy program ASIS inicializuje ASIS, vytvoří kontext ASIS a stavový objekt, přidruží kontext ASIS k analýze, otevře kontext ASIS a provede jakékoli předběžné zpracování potřebné k podporovat analýzu ASIS. Prvním krokem je obecně zprovoznění analýzy ASIS a připravenost ji používat efektivně a efektivně.

Procesní kompilační jednotky

Po nastavení následuje „zpracování kompilačních jednotek “, během této doby dochází k vzorkování a analýze prvků, aby se vešly do kontextu ASIS, který byl otevřen a přidružen na začátku struktury ASIS. Během tohoto kroku zpracovává hlavně většinu aplikačních prvků ASIS v korelaci s kontextem ASIS, má také přidanou schopnost provádět kompilační jednotky před a po provedení zpracování.

Kompletní ASIS analýza

Poslední a poslední fází struktury ASIS je dokončení analýzy ASIS. To je místo, kde je vše finalizováno a zkontrolováno, aby bylo možné provést jakékoli následné zpracování k analýze ASIS. Kontext ASIS je také uzavřen a disociován a ASIS je nakonec dokončen.

Kritéria návrhu

Jak se ASIS neustále vyvíjí podobně, vyvíjí se i vývoj jeho designových kritérií. Kritéria, jak lze ASIS navrhnout, lze rozdělit do 9 různých kategorií; široké přijetí, přenositelnost, uniformita a soudržnost, implementovatelnost, stav technologie, rozšiřitelnost, terminologie a styl ada, výkon a minimální sada rozhraní.

1. Široké přijetí

Musí být navržen podle těchto kritérií, aby bylo možné pro ASIS použít širokou škálu nástrojů. Navrhování s tímto umožňuje, aby byla knihovna rozhraní flexibilnější a dostupnější pro nástroje napříč jinými platformami, implementace dodavatelů Ada. Umožňuje to také zkrátit dobu školení pro uživatele nástrojů a vývojáře.

2. Přepravitelnost

ASIS musí být také navržen tak, aby umožňoval přenos z jednoho počítače do jiného počítače nebo jiného prostředí do jiného.

3. Jednotnost a soudržnost

Rovněž by měl být konzistentní ve vlastnostech, konceptech, typech a operacích, ale měl by být také udržován jako jednoduchá a koherentní operace.

4. Implementovatelnost

ASIS je také kritizován, takže je „implementovatelný jakýmkoli prodejcem překladačů Ada s přiměřeným úsilím“. Stejně jako zachování konzistence v celém programu.

5. Stav technologie

Stav technologie musí být vždy aktualizován a pokročilý, aby nedocházelo k žádným problémům. Dále by mělo být zajištěno, že všechny možné varianty a verze ASIS budou koherentní a efektivní.

6. Rozšiřitelnost

„Nemělo by to vylučovat rozšíření, která budou využívat designový model ASIS a abstrakce.“

7. Ada terminologie a styl

ASIS by se měl také přizpůsobit podmínkám stylu a definicím v referenční příručce Ada.

8. Výkon

„Návrh ASIS musí umožňovat efektivitu jak z pohledu klienta, tak z pohledu implementace.“

9. Minimální sada rozhraní

„Mělo by to umožnit klientům implementovat další vrstvená rozhraní pomocí poskytnutých primitivních operací.“

Použití ASIS

ASIS pro GNAT

ASIS používá Adacore k implementaci standardu ASIS při využívání aplikací ASIS-for-GNAT. ASIS lze pro GNAT použít prostřednictvím typických aplikací, jako jsou: „Statická analýza (ověření vlastnosti), instrumentace kódu, nástroje pro návrh a generování dokumentů, metrické testovací nebo časovací nástroje, nástroje pro analýzu závislostí, generátory slovníků typů, nástroje pro vynucování kódovacích standardů, jazyk Překladatelé, Nástroje pro hodnocení kvality, Prohlížeče zdrojů a Formáty a editory se syntaxí “(ASIS pro GNAT).

Toto použití také dokázalo vyvinout řadu nástrojů s pomocí ASIS včetně

  1. gnatelim
  2. gnatstub
  3. gnatcheck
  4. gnatpp
  5. gnatmetrický.

ASIS jako izolátor

Pace Drury (1999) využívá ASIS k vytvoření kódu pro svůj projekt s názvem „SIDPERS-3“, kde se tento kód používá k identifikaci intimních detailů a variací viděných v reklamě COTS (Commercial Off the Shelf) generované interakcí s databází, kterou Drury použil pro svůj projekt projekt, kde ASIS vytvořil novou vrstvu kódu Ada, která úspěšně izolovala vývojáře softwaru od stejných specifik generovaných kódů Ada.

Po napsání tak obtížného kódu s názvem „generate_db_support_code“, který se hlavně skládal z kódu Ada, bylo cílem otevřít 2 soubory, prozkoumat obsah a vytvořit dva nové soubory na základě předchozích 2 souborů. ASIS byl použit k efektivnímu prozkoumání struktury kódu, což usnadňuje ukládání a odkazování na seznam obsahující jazyk Ada. ASIS koherentně dokončí to, co je požadováno, a úspěšně získává stálý a bezpečný přístup k informacím z databáze, které splňují potřeby projektu.

AdaControl

AdaControl je bezplatný nástroj (GMGPL), který detekuje použití různých druhů konstrukcí v programech Ada. Mezi jeho použití patří kontrola standardů kódování, zkoumání použití funkcí Ada, vytváření statistik a další. Využívá veškerou sílu ASIS a lze jej považovat za nejtypičtější aplikaci ASIS.

Reference

Další

  1. ISO / IEC 15291: Informační technologie - Programovací jazyky - Specifikace sémantického rozhraní Ada (ASIS)
  2. Referenční příručka jazyka Ada. Verze 6.0 21. prosince 1994. Copyright (C) 1992, 1993, 1994, 1995 Intermetrics, Inc.
  3. Specifikace ASIS 2.0

externí odkazy