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).
翻译:在2018年,地球上大约有一个连接到每个人的互联网(IoT) 。 在2018年, 大约有一个连接到地球上的装置, 并且数量一直在增长。 这些装置在使用传感器和驱动器使程序平行的同时, 以不同的方式与环境互动。 然而, 写这种类型的程序很困难, 因为设备没有计算力和记忆力, 平台是多种多样的, 语言水平低。 任务导向编程( TOP) 是一个宣示性编程语言范例, 用于表达工作的协调、 用户和系统的合作、 共享数据的分配以及人机的互动。 mTask 语言是iot 设备的一种专业化的, 然而完全的, 多后端 TOP 语言。 由于字码解释后端和与 iTask 的整合, 这种程序可以动态地在设备上执行任务。 这意味着, 任务可以在运行时根据设备- 编译为设备- 本地调调制的字元码, 和 人类计算机互动。 发送到设备的任务在 iTask 设备中完全融合成一个专门的,, 使每个版本的SLSL 和SDSDS 系统都能够以两种方式与SDF 的源 进行 。