ESPeciaL: an embedded systems programming language
نویسندگان
چکیده
The advent of off-the-shelf programmable embedded systems such as Arduino enables people with little programming skills to interact with the real-world using sensors and actuators. In this paper, we propose a novel approach aimed at simplifying the programming of embedded systems based on the dataflow paradigm. Named ESPeciaL, this programming framework removes the need of low-level programming in C/C++, as the application is written by connecting blocks that produce and consume data. Thus, an embedded application can be described in terms of ready-to-use blocks that correspond to the various micro-controller peripherals and to program function (multiplexers, logic gates, etc.). The user application itself is written as an embedded Scala DSL. From that code, the ESPeciaL compiler then generates the corresponding C++ code which can be tailored – using different back-ends – to match different embedded systems or a QEMU-based simulation environment. To demonstrate the validity of the approach, we present a typical embedded systems application implemented using ESPeciaL.
منابع مشابه
Blueprint for an Embedded Systems Programming Language
Embedded systems have become ubiquitous and are found in numerous application domains such as sensor networks, medical devices, and smart appliances. Software flaws in such systems can range from minor nuisances to critical security failures and malfunctions. Additionally, the computational power found in these devices has seen tremendous growth and will likely continue to advance. With increas...
متن کاملSpecification of Embedded Systems Environment Behaviour with Alvis Modelling Language
Alvis, a modelling language for concurrent systems, combines the advantages of formal methods and practical modelling languages. Even though Alvis has its origins in process algebras, instead of algebraic equations, it uses a high level programming language for the description of agents behaviour and a graphical language for the modelling of interconnections among agents. An Alvis model can be ...
متن کاملDigital Sound Recorder: A case study on designing embedded systems using the UML notation
This document is an example of the object-oriented analysis and design of an embedded system using the Unified Modelling Language (UML). The analysed system is a digital sound recorder, or Dictaphone. The design has been implemented using an embedded processor and the C++ programming language.
متن کاملModelling concurrent systems with Alvis
Alvis is a new modeling language for developing concurrent (embedded) systems. The language is being developed within the confines of the Alvis project at AGH University of Science and Technology, Department of Automatics. The Alvis language combines hierarchical graphical modelling with a high level programming language. Moreover, a formal verification of a model, based on an LTS graph (Labell...
متن کاملUsing Protocol Buffers for Resource-Constrained Distributed Embedded Systems
Protocol Buffers are a widely used, robust and efficient data interchange format contributed and maintained by Google. Specifications of custom messages, fields and enumerations are comfortably defined in the Proto language and then compiled to a large variety of target programming languages like C++, Java and Python. This makes Protocol Buffers an excellent choice when heterogeneous system pla...
متن کامل