Ада – прошлое, настоящее, будущее…
Ада – стандартизация
Ада и Оберон – что у них общего?
Ада и Оберон – в чем разница?
Что есть интересного в Адском сундуке?
Что есть интересного в Адском сундуке?
Ада и разработка встроенных приложений
Ада - реализации
Компания AdaCore (www.adacore.com)
Mac OS X
x86-64 Mac OS X (64 bits)
Solaris
SPARC Solaris (32 bits)
SPARC Solaris (64 bits)
x86 Solaris/Trusted Solaris (32 bits)
Windows
x86 Windows (32 bits)
x86-64 Windows (64 bits)
Доступен в инструментальных средах:
PikeOS
x86 PikeOS (hosted on Linux)
VxWorks 5.x
PowerPC VxWorks 5.x (hosted on Solaris)
PowerPC VxWorks 5.x (hosted on Windows)
VxWorks 6.x
ARM VxWorks 6.x (hosted on Linux)
ARM VxWorks 6.x (hosted on Windows)
PowerPC VxWorks 6.x (hosted on Linux)
PowerPC VxWorks 6.x (hosted on Solaris)
PowerPC VxWorks 6.x (hosted on Windows)
PowerPC e500v2 VxWorks 6.x (hosted on Linux)
PowerPC e500v2 VxWorks 6.x (hosted on Solaris)
PowerPC e500v2 VxWorks 6.x (hosted on Windows)
x86 VxWorks 6.x (hosted on Linux)
x86 VxWorks 6.x (hosted on Solaris)
x86 VxWorks 6.x (hosted on Windows)
VxWorks 7.x
ARM VxWorks 7.x (hosted on Linux)
ARM VxWorks 7.x (hosted on Windows)
PowerPC VxWorks 7.x (hosted on Linux)
PowerPC VxWorks 7.x (hosted on Windows)
PowerPC e500v2 VxWorks 7.x (hosted on Linux)
PowerPC e500v2 VxWorks 7.x (hosted on Windows)
x86-64 VxWorks 7.x (64 bits) (hosted on Linux)
x86-64 VxWorks 7.x (64 bits) (hosted on Windows)
Wind River Linux
PowerPC Wind River Linux (hosted on Linux)
PowerPC e500v2 Wind River Linux (hosted on Linux)
Фрагменты gcc-подобного дерева, которые еще помнят Аду
Стандартное gcc-дерево, никаких следов Ады
GNAT-технология
AdaCore - продукты
AdaCore – технологические решения
Разработка и тестирование встроенных приложений
Разработка сертифицированных приложений
Разработка сертифицированных приложений
Разработка сертифицированных приложений
Автоматическая генерация Ада-кода на основе моделей
SPARK – формальная верификация программ
Контракт как ключевая идея SPARK-подхода
Обязательство
Гарантия
procedure Push (This : in out Stack; Value : Content) with
Pre => not Full (This),
Post => not Empty (This) and Top (This) = Value;
…
function Top (This : Stack) return Content;
function Full (This : Stack) return Boolean;
Почему это назвали контрактом?
Инварианты типов (вишенка на торте :)
Инвариант типа:
Проверяется для любого объекта типа после любого действия, способного изменить значение объекта;
Наследуется для типов-потомков;
Может быть переопределен для типа-потомка;
Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть