资源受限系统通信与UML类图定义的技术探索
1. 资源受限系统通信的ThingML应用
在资源受限系统的通信领域,我们将逻辑环境视为“镜像”设备。每个存根由一个简单的(完全生成的)图形用户界面(GUI)和一个实现观察者模式的控制器组成,该控制器使用API生成。默认情况下,会生成一个简单的测试程序,用于连接两个存根,其作用是检查生成的API能否以一致的方式对消息进行序列化和反序列化。当然,也可以轻松地将存根连接到其他实现观察者模式的应用程序。
为了验证ThingML集成开发环境(IDE),我们在Arduino平台上实现了两个案例研究,并生成了可运行的代码。Arduino是一个开源的电子原型平台,其硬件和软件均可开源,Arduino板可以连接一组传感器和执行器,并使用类似于C/C++的语言进行编程。
- 咖啡间谍(CoffeeSpy)应用
- 协议描述 :咖啡间谍的协议由24条消息组成,代码仅50行。从这个相对简洁的模型中,为Java端生成了44个类,总计2702行代码,C端接近400行代码,扩展因子超过50。
- 代码质量 :生成的代码完全可运行且质量良好,使用默认的Sonar设置,规则合规性得分达到83.7%。
- Java客户端程序 :基于生成的API,实现了一个简单的Java客户端程序(少于100行代码),该程序仅在有人接近咖啡机时才监控其周围的活动,从而减少了无线网络的流量和需要记录的数据量。具体操作步骤如下: