Реализация компонентов в языке nesC
В языке nesC поддерживаются два вида компонентов — модули и конфигурации. Модули содержат программный код и реализуют один или несколько интерфейсов. Конфигурации используются для связывания других компонентов в одно целое, соединяя компоненты в соответствии с правилами связывания. Каждое приложение nesC описывается некоторой конфигурацией верхнего уровня, которая связывает все используемые компоненты. Язык nesC предоставляет богатый набор правил связывания. Можно связывать
- одну или несколько команд с одной или несколькими командами, одно или несколько событий с одним или несколькими событиями;
- один или несколько интерфейсов с одним или несколькими интерфейсами одного и того же типа.
Для TinyOS уже разработаны несколько наборов компонентов, предназначенных для создания специализированных приложений. Один из таких наборов, TinyDB [6], позволяет организовать доступ к показаниям сенсоров на устройствах в сети сенсоров в виде операций чтения/записи в некоторой виртуальной базе данных.