Введение

Интерфейс

Спецификация семантического интерфейса Ada (ASIS) — это многоуровневая открытая архитектура, обеспечивающая независимый от поставщика доступ к среде библиотеки Ada. Она позволяет проводить статический анализ программ и библиотек Ada. Это открытая, опубликованная библиотека интерфейсов, состоящая из среды Ada, её инструментов и приложений. Как объясняет рабочая группа ASIS:

«ASIS — это интерфейс между средой Ada, определённой в ISO/IEC 8652:1995 (Руководство по языку Ada), и любым инструментом, которому требуется информация из этой среды» (SIGAda, 2020).

ASIS используется исключительно для приложений, связанных с языком программирования, и статического анализа программ Ada, предоставляя, таким образом, соответствующую информацию и доступ к системам автоматизированного проектирования (CASE) и разработчикам. ASIS также позволяет использовать соответствующие инструменты разработки программного обеспечения, упрощая понимание сложности среды Ada. Кроме того, он предоставляет процедуры, функции и соответствующую информацию, которые можно эффективно использовать для доступа к эксклюзивным данным, содержащимся в справочных руководствах и абстрактном синтаксическом дереве (AST). Это, в свою очередь, повышает переносимость ASIS, позволяя транспортировать и сохранять информацию и терминологию инструментов Ada. «ASIS состоит из 21 пакета, 2 из которых являются необязательными, и в этих пакетах определено 349 запросов». ASIS также будет включать пакет, содержащий дочерние пакеты, такие как «Единицы компиляции с ошибками, среды Ada, реализация, исключения, элементы, итераторы, объявления, выражения, пункты, определения, операторы, текст и идентификаторы». В целом, ASIS — это простой способ сбора данных из программы на Ada и повышения переносимости инструментов Ada.

Особенности ASIS

Спецификация семантических интерфейсов Ada, определяемая в соответствии со справочным руководством ISO/IEC 8652 Ada 95 (Ada Language Referencing Manual, 1994), представляет собой интерфейс между средой Aria и другими инструментами, которым требуется информация из среды Aria. Инструменты, основанные на ASIS, могут обладать следующими характеристиками: Хотя в работе задействованы и другие типы абстракций, вышеупомянутые три являются фундаментальными. Контекст. Абстракция "Контекст" в ASIS состоит из определений, терминов и условий, доступных в запросах ASIS. Она также используется как способ и логический идентификатор для среды Ada.

1. Широкое признание

Он должен быть разработан в соответствии с этим критерием, чтобы можно было использовать широкий спектр инструментов для ASIS. Такой подход позволяет сделать библиотеку интерфейсов более гибкой и доступной для инструментов на других платформах и в реализациях различных поставщиков Ada. Это также сокращает время обучения пользователей и разработчиков инструментов.

2. Транспортируемость

ASIS также должна быть спроектирована с возможностью переноса с одного компьютера на другой или из одной среды в другую.

3. Однородность и сплоченность

Она должна быть согласованной в отношении свойств, понятий, типов и операций, а также оставаться простой и понятной операцией.

4. Возможность реализации

ASIS также подвергается критике за то, что его реализация не должна требовать значительных усилий от любого поставщика компилятора Ada.

7. Терминология и стиль Ада

ASIS также должна соответствовать стилю, условиям и определениям, изложенным в Справочном руководстве по Ada.

AdaControl

AdaControl — это бесплатный инструмент (лицензия GMGPL), который обнаруживает использование различных видов конструкций в программах на Ada. Он может использоваться для проверки соответствия стандартам кодирования, анализа использования возможностей Ada, сбора статистики и многого другого. AdaControl использует всю мощь ASIS и может считаться наиболее типичным приложением для ASIS.