论文部分内容阅读
无线传感网络是指由无线传感网络节点通过无线通信组成的网络。无线传感网络技术在最近十年来得到了飞速的发展,开始从学术界研究走向商业应用。然而硬件技术的进步并不会使无线传感网络节点的资源受限特性得到改观:技术进步使得无线传感网络节点价格下降却不会给能量容量带来提升。在内存和能量限制下编写节点应用,使得应用满足灵活并发性和交互性,并且适应传感器种类繁多和不断更新的硬件具有很大的困难。随着应用的越来越广泛,如何提供良好的节点应用程序编程语言和编程模型以构建安全可靠易维护的应用程序是迫切需要解决的问题。当前的节点编程语言主要是C语言和nesC语言。C语言是非常流行的通用编程语言,但是缺乏针对重用性和安全性的支持,nesC提供了基于组件的封装以及任务和事件驱动编程模型,但是具有灵活性低、静态组件、学习曲线较大等缺点。由于节点上资源极其受限,现代面向对象语言由于代价太大而无法适用于节点编程。论文在分析主流无线传感网络节点编程语言和编程模型的基础上,对节点的编程难点进行了研究,提出了一种专门针对无线传感网络节点编程的新型语言CSpire。在寻求节点编程对封装性、可靠性、易用性和性能上的需求的解决方案上,CSpire主要借鉴了面向对象的方法和当前高级语言语法,提供了具有面向对象特性的、支持事件订阅机制的基本语法,并通过程序优化和限制性的面向对象特性来保证目标程序的效率,编译期间对数据竞争的检测增加了目标程序的安全性。论文的工作可以归纳为:首先,分析了节点编程困难,在不失效率的基础上引用了面向对象方法,设计了CSpire语言;其次,通过对数据竞争的检测提高了节点程序可靠性;最后,设计实现了CSpire语言编译器,使用全局分析的方法优化提升效率并生成目标代码。