系统开发语言nesC
TinyOS最初是用汇编和C语言编写的,在实现TinyOS的基于时间和组件的执行模型时,为了减少编程时的代码量就需要使用大量的宏定义。而大量使用宏定义使得TinyOS组件化的开发显得很麻烦。
因此,开发人员设计出nesC语言作为无线传感器网络的嵌入式操作系统的编程语言,它是完全贴切于无线传感器网络操作系统需求的编程语言,它克服了C语言的很多缺点来提高代码效率和代码的健壮性。nesC语言具有类似于C语言的语法,但支持TinyOS的并发模型,同时具有组件化机制,能够与其他组件连接在一起从而形成一个鲁棒性很好的嵌入式系统。
nesC定义了许多在TinyOS中所表达的重要概念:
(1)nesC应用程序要建立在定义良好、具有双向接口的组件之上,恰好体现了TinyOS的完全组件特性。
(2)nesC定义了并发模型,该模型时基于任务(task)及硬件事件句柄(hardware event handler),能更好地实现TinyOS的事件驱动机制。
nesC的组件模型如图所示。
图 nesC的组件模型
1、接口(interface)
在nesC双向组件模型