Intel Labs работает над системой, которая сможет создавать драйверы без участия человека
Центральная идея технологии, получившей имя Termite, состоит в том, чтобы автоматизировать труд программистов, пишущих драйверы устройств, и избежать возможных ошибок в коде за счет автоматизации их работы с помощью алгоритмов, используемых при создании систем искусственного интеллекта. Программа-генератор получает в качестве входных данных спецификации устройства и интерфейса драйверов операционной системы и генерирует код, способный связать их вместе и реагировать на события и потребности друг-друга.
В отличие от других подобных проектов, алгоритм работы Termite основан на методах Теории Игр. Как говорит Арун, процесс общения драйвера с устройством можно представить в виде типичной игровой ситуации, в которой драйвер - это один игрок, а все остальное окружение, к которому можно причислить ОС и устройство - другой. "Когда драйвер делает ход, окружение изменяет свое состояние. Выигрышная стратегия заключается в том, чтобы делать ходы по игровому полю так, чтобы не ввести окружение в противоречивое или тупиковое состояние". Во время "игры" генератор запоминает выигрышные ходы и строит драйвер на основе этих знаний. Сильная сторона такого подхода в его универсальности: при необходимости перенести сгенерированный драйвер в другую операционную систему, не понадобится ничего кроме корректных спецификаций интерфейса драйверов для этой ОС.
Впервые технология Termite была представлена сотрудниками австралийского исследовательского центра NICTA, Open Kernel Labs и исследователями из университета Нового Южного Уэльса на симпозиуме SOSP ("Symposium on Operating Systems Principles"). В представленном на симпозиуме докладе приведено подробное описание технологии, формата файлов-спецификаций и продемонстрирован процесс генерации кода драйверов для контроллера SD-карт Ricoh R5C822 и адаптера USB-Ethernet ASIX AX88772 для операционных систем Linux и FreeBSD.
Источник: http://www.opennet.ru/opennews/art.shtml?num=30839
|
0 | Tweet | Нравится |
|