Jump to content

Спецификация семантического интерфейса Ada

Спецификация семантического интерфейса Ada (ASIS)
Разработчик(и) Языковые юристы, Ада Лавлейс
Целевая платформа(и) Приложения на языке программирования Ada и статический анализ
Статус Активный
Лицензия Собственный

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

Как пояснила рабочая группа ASIS :

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

Он используется исключительно для приложений на языке программирования и статического анализа программ Ada, обеспечивая тем самым соответствующую информацию и доступ к автоматизированной разработке программного обеспечения (CASE) и соответствующим разработчикам. ASIS также имеет возможность использовать соответствующие инструменты разработки программного обеспечения, а также обеспечивает легкое понимание сложностей отображения среды Ada. Кроме того, он предоставляет процедуры, функции и соответствующую информацию, которые можно эффективно использовать для доступа к эксклюзивной информации, содержащейся в справочных руководствах и абстрактном синтаксическом дереве (AST). Что, в свою очередь, позволит ASIS стать портативным для транспортировки и хранения информации и терминологии инструментов Ada. [1]

«ASIS состоит из 21 пакета, 2 являются дополнительными и внутри этих пакетов определяют 349 запросов». [2] ASIS также будет состоять из пакета, который включает в себя дочерние пакеты, включающие «модули компиляции ошибок, среды Ada, реализацию, исключения, элементы, итератор, объявления, выражения, предложения, определения, операторы, текст и идентификаторы». [3]

В целом ASIS — это простой способ сбора данных из программы ADA, который повышает переносимость любых инструментов Ada.

Программирование на языке Ada/Все главы. Том 1 из 3-х томов. Основа АСИС

Особенности ASIS [ править ]

Спецификация семантической интерфазы Ada в соответствии со Справочным руководством Ada 95 ISO/IEC 8652 (Справочное руководство по языку Ada, 1994 г.) определяется как интерфейс между средой Aria и другими инструментами, требующими информации из среды Aria.

Возможности инструментов на базе ASIS могут включать в себя: [4]

  • качественный анализ кода
  • автоматизированные мониторы кода
  • браузеры
  • инструменты дерева вызовов
  • реформаторы кода
  • инструменты обеспечения соответствия стандартам кодирования
  • верификаторы правильности
  • отладчики
  • инструменты анализа дерева зависимостей
  • инструменты проектирования
  • генераторы документов
  • инструменты метрик
  • обратного инжиниринга инструменты
  • инструменты реинжиниринга
  • шашки стиля
  • инструменты тестирования
  • средства оценки времени
  • переводчики

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

Основные абстракции [ править ]

В ASIS есть три основные абстракции , существующие в «частных» типах Ады. Он состоит из контекста, Compilation_Unit и элемента. [5] Хотя существуют и дополнительные типы абстракций, но упомянутые три являются основными.

Context

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

Compilation_Unit

Модуль компиляции также является логическим дескриптором среды Ada. Эта абстракция также определяет свойства и характеристики, которые далее рассматриваются в Справочном руководстве Ada . Он использует реализацию языка программирования Ada для передачи модулей компиляции через ASIS. Как сказал Адакор;

"АСИС Compilation_Unit обеспечивает представление модуля компиляции в виде «черного ящика», рассматривая его в целом. Его можно разложить на ASIS Elementа затем анализируется методом «белого ящика». [4]

Примеры этих свойств могут включать в себя:

  1. Время последнего обновления
  2. Имя объекта, содержащего исходный текст модуля
Element

Для сравнения, абстракция элемента также является логическим дескриптором модуля компиляции, описанного выше, он может быть явным или неявным.

Структура АСИС [ править ]

Структуру приложения ASIS можно разделить на 3 категории; Настройте анализ ASIS, блоки компиляции процессов и полный анализ ASIS. Эта структура предназначена для поддержки различных программ анализа кода, которые появляются на языке программирования Ada. [3]

Настройка анализа ASIS [ править ]

Первым шагом к построению структуры анализа ASIS является его эффективная настройка. На этом этапе инициализируются и устанавливаются различные задачи и программы. Например, как определил Уильям Колкет (1999), на этом этапе программа ASIS инициализирует ASIS, устанавливает контекст ASIS и объект состояния, связывает контекст ASIS с анализом, открывает контекст ASIS и выполняет любую предварительную обработку, необходимую для поддержка анализа ASIS. Первым шагом, как правило, является запуск и запуск анализа ASIS и готовность к эффективному и результативному использованию.

Единицы компиляции процессов [ править ]

Затем за настройкой следует «обработка блоков компиляции », в течение этого времени элементы отбираются и анализируются для соответствия контексту ASIS, который был открыт и связан с ним в начале структуры ASIS. На этом этапе он в основном обрабатывает большинство элементов приложения ASIS в соответствии с контекстом ASIS, а также имеет дополнительную возможность выполнять блоки компиляции до и после завершения обработки.

ASIS анализ Полный

Последним и завершающим этапом структуры ASIS является завершение анализа ASIS. Здесь все завершается и проверяется для выполнения любой последующей обработки анализа ASIS. Контекст ASIS также закрывается и отключается, и ASIS в конечном итоге завершается.

Критерии проектирования [ править ]

По мере того как ASIS продолжает развиваться аналогичным образом, происходит и эволюция ее критериев проектирования. Критерии разработки ASIS можно разделить на 9 различных категорий; широкое признание, транспортабельность, единообразие и связность, реализуемость, состояние технологии, расширяемость, терминология и стиль ada, производительность и минимальный набор интерфейсов. [6]

1. Широкое признание [ править ]

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

2. Транспортабельность [ править ]

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

3. Единообразие и сплоченность [ править ]

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

4. Реализуемость [ править ]

ASIS также подвергается критике за то, что он «может быть реализован любым поставщиком компиляторов Ada, приложив разумные усилия». [4] А также поддержание последовательности на протяжении всей программы.

5. Состояние технологии [ править ]

Состояние технологий должно всегда обновляться и совершенствоваться, чтобы не возникало проблем. Кроме того, следует гарантировать, что все возможные варианты и версии ASIS будут согласованными и эффективными.

6. Расширяемость [ править ]

«Это не должно исключать расширения, которые будут использовать модель проектирования и абстракции ASIS». [4]

7. Терминология и стиль Ada [ править ]

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

8. Производительность [ править ]

«Проект ASIS должен обеспечивать эффективность как с точки зрения клиента, так и с точки зрения реализации» [4]

9. Минимальный набор интерфейсов [ править ]

«Это должно позволить клиентам реализовывать дополнительные многоуровневые интерфейсы, используя предоставленные примитивные операции».

Использование ASIS [ править ]

ASIS для GNAT [ править ]

ASIS использовался Adacore для реализации стандарта ASIS при использовании приложений ASIS для GNAT. ASIS можно использовать для GNAT через типичные приложения, такие как: «Статический анализ (проверка свойств), инструментирование кода, инструменты проектирования и генерации документов, инструменты метрического тестирования или синхронизации, инструменты анализа дерева зависимостей, генераторы словарей типов, инструменты обеспечения соблюдения стандартов кодирования, язык. Переводчики, инструменты оценки качества, браузеры исходного кода, форматтеры и редакторы, ориентированные на синтаксис» (ASIS для GNAT).

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

  1. я толкаю
  2. комар
  3. мошка
  4. гнатпп
  5. гнатметрический.

ASIS в качестве изолятора [ править ]

Пейс Друри (1999) использует ASIS для создания кода для своего проекта под названием «SIDPERS-3», где код используется для идентификации мелких деталей и вариаций, наблюдаемых в готовой коммерческой продукции (COTS), созданной в результате взаимодействия с базой данных. Друри использовал ASIS для своего проекта. проект, в котором ASIS создал новый уровень кода Ada, который успешно изолировал разработчика программного обеспечения от особенностей сгенерированного кода Ada. [7]

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

АдаКонтроль [ править ]

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

Ссылки [ править ]

  1. ^ Свард, Рики Э.; Шамильяр, AT (2004). «Реинжиниринг глобальных переменных в Ada» . Материалы ежегодной международной конференции ACM SIGAda по Ada 2004 г.: Разработка правильного и надежного программного обеспечения для систем реального времени и распределенных систем с использованием Ada и связанных с ней технологий . Том. XXIV. Атланта, Джорджия, США: ACM Press. стр. 29–34. дои : 10.1145/1032297.1032303 . ISBN  978-1-58113-906-8 . S2CID   31415676 .
  2. ^ Штромайер, Альфред; Фофанов Василий; Рыбин, Сергей; Барбе, Стефан (1998). «Качество для ASIS: портативное испытательное оборудование для ASIS» . В Асплунде, Ларс (ред.). Надежные программные технологии — Ада-Европа . Конспекты лекций по информатике. Том. 1411. Берлин, Гейдельберг: Springer. стр. 163–175. дои : 10.1007/BFb0055003 . ISBN  978-3-540-69802-9 .
  3. ^ Jump up to: Перейти обратно: а б Колкет, Уильям Карри (сентябрь 1999 г.). «Анализ кода критически важного для безопасности [так в оригинале] программного обеспечения реального времени с использованием ASIS» . ACM SIGAda Ada Letters . XIX (3): 67–76. дои : 10.1145/319295.319306 . ISSN   1094-3641 .
  4. ^ Jump up to: Перейти обратно: а б с д и ж et.al
  5. ^ «4. Обзор ASIS — Руководство пользователя ASIS-for-GNAT 22.0w, документация» . docs.adacore.com . Проверено 20 ноября 2020 г.
  6. ^ Бладен, Джеймс Б.; Шпенхофф, Дэвид; Блейк, Стивен Дж. (1991). «Спецификация семантического интерфейса Ada (ASIS)» . Материалы конференции по ТРИ-Аде '91: сегодняшние достижения; ожидания завтрашнего дня — ТРИ-Ада '91 . Нью-Йорк, Нью-Йорк, США: ACM Press. стр. 6–15. дои : 10.1145/126551.126552 . ISBN  0-89791-445-7 . S2CID   19422485 .
  7. ^ Друри, Пейс (март 1999 г.). «Использование ASIS для изоляции баз данных» . ACM SIGAda Ada Letters . XIX (1): 64–65. дои : 10.1145/311457.311486 . ISSN   1094-3641 . S2CID   37063586 .

Дополнительно [ править ]

  1. ISO/IEC 15291: Информационные технологии. Языки программирования. Спецификация семантического интерфейса Ada (ASIS).
  2. Справочное руководство по языку Ada. Версия 6.0 от 21 декабря 1994 г. Авторские права (C) 1992, 1993, 1994, 1995 г. Intermetrics, Inc.
  3. Спецификация ASIS 2.0

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ed6b9770ecb60a8434c85e062bb5e5a9__1707497760
URL1:https://arc.ask3.ru/arc/aa/ed/a9/ed6b9770ecb60a8434c85e062bb5e5a9.html
Заголовок, (Title) документа по адресу, URL1:
Ada Semantic Interface Specification - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)