Intel создает систему автоматизированного создания драйверов устройств

10/06/2011 22:01

Издание The Register опубликовало интервью с Аруном Рагхунатом (Arun Raghunath), одним из разработчиков Intel Labs, который занимается созданием системы для автоматической генерации исходного кода драйверов устройств и их адаптации для различных операционных систем. В ходе беседы Арун пояснил принцип работы системы, рассказал о текущем состоянии разработки и требованиях, которые она предъявляет к производителям устройств. Центральная идея технологии, получившей имя Termite, состоит в том, чтобы автоматизировать труд программистов, пишущих драйверы устройств, и избежать возможных ошибок в коде за счет автоматизации их работы с помощью алгоритмов, используемых при создании систем искусственного интеллекта. Программа-генератор получает в качестве входных данных спецификации устройства и интерфейса драйверов операционной системы и генерирует код, способный связать их вместе и реагировать на события и потребности друг-друга. В отличие от других подобных проектов, алгоритм работы Termite основан на методах "теории игр". Как говорит Арун, процесс общения драйвера с устройством можно представить в виде типичной игровой ситуации, в которой драйвер - это один игрок, а все остальное окружение, к которому можно причислить ОС и устройство - другой. "Когда драйвер делает ход, окружение изменяет свое состояние. Выигрышная стратегия заключается в том, чтобы делать ходы по игровому полю так, чтобы не ввести окружение в противоречивое или тупиковое состояние". Во время "игры" генератор запоминает выигрышные ходы и строит драйвер на основе этих знаний. Сильная сторона такого подхода в его универсальности: при необходимости перенести сгенерированный драйвер в другую операционную систему, не понадобится ничего кроме корректных спецификаций интерфейса драйверов для этой ОС. Впервые технология Termite была представлена сотрудниками австралийского исследовательского центра NICTA, Open Kernel Labs и исследователями из университета Нового Южного Уэльса на симпозиуме SOSP ("Symposium on Operating Systems Principles"). В представленном на симпозиуме докладе приведено подробное описание технологии, формата файлов-спецификаций и продемонстрирован процесс генерации кода драйверов для контроллера SD-карт Ricoh R5C822 и адаптера USB-Ethernet ASIX AX88772 для операционных систем Linux и FreeBSD.
Источник