论文标题

用面向任务的编程编写应用程序应用程序

Writing Internet of Things Applicatations with Task-Oriented Programming

论文作者

Lubbers, Mart, Koopman, Pieter, Plasmeijer, Rinus

论文摘要

物联网(IoT)的增长迅速。在2018年,地球上人均大约有一个连接的设备,此后的数量一直在增长。设备通过传感器和执行器同时通过不同的方式与环境进行交互,使程序平行。但是,编写这种类型的程序很困难,因为设备几乎没有计算能力和内存,平台是异质的,并且语言较低。面向任务的编程(TOP)是一种声明的编程语言范式,用于表达工作协调,用户和系统的协作,共享数据的分布以及人类计算机交互。 MTASK语言是一种专门的,但成熟的,多重的多余语言,用于物联网设备。通过字节码解释后端和与ITASK的集成,可以在设备上动态执行任务。这意味着 - 根据当前的事务状态 - 可以在运行时量身定制任务,并将其编译到设备不合时宜的字节码并运送到设备上进行解释。发送到设备的任务已完全集成在ITASK中,以允许与任务的每种形式的交互形式,例如观察任务值以及与共享数据源(SDSS)的交互。整个IoT应用程序(服务器和设备都)以单语言进行编程,尽管使用两种嵌入式域特定语言(EDSL)。

The Internet of Things (IoT) is growing fast. In 2018, there was approximately one connected device per person on earth and the number has been growing ever since. The devices interact with the environment via different modalities at the same time using sensors and actuators making the programs parallel. Yet, writing this type of programs is difficult because the devices have little computation power and memory, the platforms are heterogeneous and the languages are low level. Task Oriented Programming (TOP) is a declarative programming language paradigm that is used to express coordination of work, collaboration of users and systems, the distribution of shared data and the human-computer interaction. The mTask language is a specialized, yet full-fledged, multi-backend TOP language for IoT devices. With the bytecode interpretation backend and the integration with iTask, tasks can be executed on the device dynamically. This means that -- according to the current state of affairs -- tasks can be tailor-made at run time, compiled to device-agnostic bytecode and shipped to the device for interpretation. Tasks sent to the device are fully integrated in iTask to allow every form of interaction with the tasks such as observation of the task value and interaction with Shared Data Sources (SDSs). The entire IoT application -- both server and devices -- are programmed in a single language, albeit using two embedded Domain Specific Languages (EDSLs).

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源