На RubyConf 2007 Уильям Береза (William Bereza) из Атомный объект выступил с докладом о Улучшение встраиваемой разработки с помощью Ruby , в котором он описывает, как они применяли принципы , стоящие за Атомным объектом. за (Agile, BDD, Automated Tests, ...) на внедренный проект, включающий автономные роботизированные транспортные средства. Пару месяцев назад он выступил с тем же докладом на O'Reilly OSCON 2007 .
На сайте Атомных Объектов есть множество ресурсов:
Существует также замечательная история об Уорде Каннингеме и TDDing встраиваемой системе, о которой Роберт Мартин («Дядя Боб») рассказал во время своего выступления на RailsConf 2009 (История примерно с 15: 50 до 17:20). История идет примерно так:
Боб приходит навестить Уорда, который отвел его в подвал, где он смотрит на маленькие круги на экране, как это самая крутая вещь во вселенной, и он взволнован, как маленький ребенок, разворачивающий свой первый велосипед на Рождество. То, что он сделал, пытался выяснить, как полностью TDD встроенное устройство (в данном случае видео конвертер) , даже не касаясь устройства вообще . Он сделал следующее: он начал писать модульный тест в JUnit, используя макет. Затем сделали этот тест и так далее, как вы обычно делаете. Затем он заменил все методы на те, которые генерировали соответствующий код сборки для устройства. Поскольку вся логика была написана (и протестирована) на Java, сами «листовые» методы были чрезвычайно простыми методами, которые выполняли только очень простые вещи, такие как «запись int
в регистр» или «чтение bool
из флага регистр ", для которого ассемблерный код был настолько прост, что он был" очевидно правильным ".
И, конечно же, когда он собрал свой сгенерированный код и прошил устройство, оно работало в самый первый раз, без того, чтобы он когда-либо пробовал код на устройстве, а также без того, чтобы он написал какой-либо существенный ассемблерный код.
Итак, это два подхода: в случае Atomic Object они написали программное обеспечение на C и тесты на Ruby и сгенерировали тесты из кода Ruby. В случае Уорда он написал тесты и код на Java и сгенерировал код из кода Java.