неск


Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску


nesC (произносится как «NES-see») — это основанный на компонентах язык программирования , управляемый событиями , используемый для создания приложений для платформы TinyOS . TinyOS — это операционная среда , предназначенная для работы на встроенных устройствах, используемых в распределенных беспроводных сенсорных сетях . nesC создан как расширение языка программирования C с компонентами, «связанными» вместе для запуска приложений в TinyOS. Название nesC является аббревиатурой от «сетевые встроенные системы C».

Компоненты и интерфейсы

Программы nesC строятся из компонентов, которые собираются («связываются») в целые программы. Компоненты имеют внутренний параллелизм в виде задач. Потоки управления могут проходить в компонент через его интерфейсы. Эти потоки связаны либо с задачей, либо с аппаратным прерыванием.

Интерфейсы могут предоставляться или использоваться компонентами. Предоставленные интерфейсы предназначены для представления функциональности, которую компонент предоставляет своему пользователю, используемые интерфейсы представляют функциональность, необходимую компоненту для выполнения своей работы.

В nesC интерфейсы являются двунаправленными: они определяют набор функций, которые должны быть реализованы провайдером интерфейса (команды), и набор, который должен быть реализован пользователем интерфейса (события). Это позволяет единому интерфейсу представлять сложное взаимодействие между компонентами (например, регистрацию интереса к некоторому событию с последующим обратным вызовом, когда это событие происходит). Это очень важно, потому что все длинные команды в TinyOS (например, отправить пакет) не блокируются; их завершение сигнализируется событием (отправка выполнена). Указав интерфейсы, компонент не может вызвать команду отправки, если он не предоставляет реализацию события sendDone. Обычно команды вызываются вниз, т. е. от компонентов приложения к компонентам, расположенным ближе к оборудованию, а события вызываются вверх. Некоторые примитивные события привязаны к аппаратным прерываниям.

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

внешняя ссылка

Получено с " https://en.wikipedia.org/w/index.php?title=NesC&oldid=920994664 "