Jump to content

Неши

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

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

[ редактировать ]

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

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

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

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

  1. ^ Гей, Дэвид; Левис, Фил; фон Берен, Роб; Валлийский, Мэтт; Брюэр, Эрик; Каллер, Дэвид (2003). «Язык nesC: целостный подход к сетевым встраиваемым системам». Уведомления SIGPLAN . 38 (5). Ассоциация вычислительной техники : 1–11. дои : 10.1145/780822.781133 . ISSN   0362-1340 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e0ccbad9c80c787526ac9eeb418ccef5__1707017520
URL1:https://arc.ask3.ru/arc/aa/e0/f5/e0ccbad9c80c787526ac9eeb418ccef5.html
Заголовок, (Title) документа по адресу, URL1:
nesC - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)