Ada – язык программирования для встроенных систем

Сборник трудов конференции в формате Adobe Acrobat (4 Мб)


Авторы: Сиднев Александр Викторович 1
Сиднева Раиса Викторовна 2
1 Воронежский Государственный Университет, 2 вгу, студент
Ada – язык программирования для встроенных систем
Ada – язык программирования для встроенных систем

 

Язык программирования А́да (Ada) создан в 1979—1980 годах в ходе проекта Министерством обороны США с целью разработать единый язык программирования для систем управления автоматизированными комплексами, функционирующими в реальном времени). Язык назван в честь Ады Лавлэйс – первой программистки в мире.

В исходном варианте, стандартизованном в 1983 году, Ада — это структурный, модульный язык программирования, содержащий высокоуровневые средства программирования параллельных процессов. Синтаксис Ады унаследован от языков типа Algol и Паскаль, но расширен, сделан более строгим и логичным. Ада — язык со строгой типизацией, в нём исключена работа с объектами, не имеющими типов, а автоматические преобразования типов сведены к абсолютному минимуму. В стандарте 1995 года в язык были добавлены базовые средства объектно-ориентированного программирования, в стандарте 2007 эти средства были дополнены, поэтому современная Ада — объектно-ориентированный язык программирования.

Особенности синтаксиса:

  • Язык регистро-независимый.

  • Программы модульные, механизм контроля импорта-экспорта описаний между модулями включает две разные директивы: одну для подключения другого модуля (with), другую — для импорта его описаний (use). Также существует возможность переименовать модуль при импорте (rename) — этот вариант позволяет использовать для обозначения пакета более удобные программисту идентификаторы.

  • Пакеты (один из типов модулей) могут содержать заголовок и личную часть — то, что содержится в ней, не экспортируется и другим модулям недоступно.

  • Развитая система типов, как встроенных, так и порождаемых программистом. Есть множество способов создания новых типов, язык поддерживает два разных понятия: «подтип» и «производный тип». Переменные типа и подтипа совместимы, переменные типа и его производного типа — нет.

  • Средства обработки исключений.

  • Поддерживается переопределение процедур, функций и операторов — создание нескольких вариантов процедуры, функции или оператора с одним и тем же именем, но различными сигнатурами (типами и количеством параметров).

  • Встроенные в язык конструкции поддержки параллельного программирования: поддерживаются понятия «задача» (параллельно выполняемый фрагмент программы), «вход задачи» (средство синхронизации и коммуникации параллельно выполняющихся задач), поддерживается механизм «рандеву» (протокол взаимодействия параллельно выполняемых задач через вход одной из них), имеется оператор выбора SELECT для организации условного межпотокового взаимодействия (выбора параллельной задачи, с которой следует взаимодействовать, в зависимости от готовности к рандеву и некоторых других условий). В принципе, имеющихся в языке средств параллельного программирования достаточно для решения большого класса задач, требующих параллельной обработки, без обращения к внешним средствам, таким как дополнительные библиотеки или API операционной системы.

 

Тип выступления  Стендовый доклад
Уровень образования  Среднее (полное) общее
Ключевые слова  Ada