AdaCore организует новый конкурс для разработчиков. Как и в прошлые разы, на подготовку даётся существенно больше времени, чем в олимпиадах по иноформатике. Это как раз подходит тем, кому не нравятся соревнования по быстрому написанию страшного кода, который потом только выбросить.

Сегодня на повестке дня — разработка для ARM на голом железе и технологии верификации. Общий призовой фонд — более 8000€.

Ada славится хорошим инструментарием для многопоточного программирования. Когда до выпуска Windows Vista с мониторами в WinAPI оставалось ещё 11 лет, а до выхода RHEL 3 с родными потоками (NTPL) оставалось ещё 8 лет, уже была стандартизована версия стандарта Ada 95 и сертифицирован компилятор GNAT на базе GCC для этого стандарта. Сейчас по инструментарию наступило выравнивание, но на голом железе есть, где разгуляться. Ada и на обычных операционных системах даёт удобные инструменты разработки многопоточных программ, но на голом железе, с собственным планировщиком, поддерживающим особенности языка, можно развернуться вовсю.

Если вам когда–либо хотелось почувствовать себя хардкорным разработчиком, например, систем реального времени, да вакансий было не видать, есть стимул попробовать себя в этом качестве.

Специальный планировщик для голого железа создаст необходимые предпосылки, безопасный язык Ada 2012 уменьшит количество сюрпризов при отладке, а уж если решитесь совсем серьёзно подойти к этому вопросу, профиль Ravenscar и формальная верификация SPARK 2014 сведут их к минимуму. Нужно предупредить, что если Ada — это язык общего назначения, то последние два инструмента — уже не для всех, они довольно существенно ограничивают разработчика в стиле написания программ.

Победители получат следующие призы:
1 место: 5000€
2 место: 2000€
3 место: 1000€

Специальные призы в виде двух программируемых квадрокоптеров подготовлены победителям в областях надёжности и новизны, соответственно.

Проекты будут оцениваться по четырём критериям:
  • Новизна. Демонстрирует ли проект новые, нестандартные решения существующих проблем или применяет имеющиеся подходы к новым проблемам
  • Совместная работа. Полезен ли проект другим участникам сообщества разработчиков. Имеются ли у него понятный интерфейс и документация. Общедоступный репозиторий системы контроля версий. Система отслеживания ошибок. Можно ли скомпилировать общедоступным инструментарием.
  • Надёжность. Применяются ли в проекте процессы и технологии, дающие высокую уверенность, что программное обеспечение будет соответствовать своим требованиям. Формальные методы, программирование по контракту, тестирование, стандарты написания кода. Точна ли документация.
  • Открытость. Является ли программа свободной в смысле, определённом Free Software Foundation. Является ли программа открытой в смысле, определённом Open Source Initiative. Открыта ли её архитектура. Использует ли она открытые средства разработки, оборудование и платформы.


Ключевые требования:
  • Участвуют только одиночки, но не организации. Допустимо участие только как одиночка или команда одиночек; организации (например, предприятия) не допускаются
  • Максимум 4 человека в команде. Команда состоит из одного зарегистрированного капитана, который подаёт и работает с заявкой, и не более трёх других участников.
  • Основной язык программирования — Ada. В проекте могут быть любые другие языки программирования, но оценивается только та часть, что на Ada/SPARK.
  • Обязательно ведение журнала проекта. Проект должен быть понятно описан на английском языке. Доступ к журналу будет предоставлен после подтверждения заявки.
  • Работа должна быть оригинальной. Ваш проект должен быть оригинальным вкладом. Применение библиотек третьих сторон допускается, но должно быть документировано.
  • Целевая среда исполнения. Целевой процессор должен быть ARM Cortex M or R.


Все подробности узнаете на сайте www.makewithada.org

Дерзайте и удачи вам!
Поделиться с друзьями
-->

Комментарии (2)


  1. UA3MQJ
    22.06.2016 15:19

    Весьма интересно. Порадовало, что есть поддержка популярной сейчас STM32. Я бы даже поучаствовал, т.к. есть и задача (входящая в список), и пара STM32 для этого. Но к сожалению, мои STM не поддерживаются. Согласно http://www.makewithada.org/getting-started там сейчас только STM32F4, STM32F429, STM32F469, STM32F746.

    Ожидается ли поддержка более простых STM32F103 или STM32L152Discovery? Или выбор плат как-то связан с возможностями МК?


    1. OCTAGRAM
      22.06.2016 16:49
      +1

      У них в блоге были инструкции, как портировать на другие модели: http://blog.adacore.com/porting-the-ada-runtime-to-a-new-arm-board

      Надеюсь, поможет