TC53 - ECMAScript Modules for Embedded Systems
Scope - Programme of work - Activities
TC53 is bringing the benefits of standard software APIs to embedded systems so creators of hardware products can benefit from the same rapid development and scalability long enjoyed by web developers. To achieve that, TC53 is focusing its efforts on ECMAScript, the programming language of the web. With over twenty years of use at global scale, ECMAScript has proven able to adapt to industry trends while delivering stable, compatible development across computers, servers, and mobile devices. Use of the ECMAScript programming language is now expanding beyond the web into embedded systems powered by resource-constrained devices including microcontrollers and single-board computers.
Today, the diverse hardware used in embedded systems is powered by a mix of software solutions that are incompatible with one another due to differences in silicon design, instruction set architecture, operating system, and software APIs. However, most of these systems are capable of running modern, first-class implementations of the ECMAScript programming language thereby enabling interoperable development that spans consumer and industrial IoT. Standard APIs become desirable once a common programming language is in place to allow the same task to performed in the same way across a range of hardware. TC53 is defining these standard APIs for areas that include input/output, sensors, networking, communication, energy management, and displays. These APIs are organized into ECMAScript modules, rather than an operating system, to allow systems to be constructed using only the modules required by the product.
TC53 is designing APIs for efficient execution in these embedded systems, taking into account code size, memory use, performance, and energy efficiency. In addition, modules are designed for secure operation to ensure the products operate reliably and user privacy is maintained. TC53 is also studying ways to evolve the ECMAScript language to benefit embedded systems, for example with increased security and runtime efficiency, and is working with TC39 (the ECMAScript language TC) to incorporate these ideas into the language.
TC53 intends for implementations of its standards to be deployed without royalty payments. Consequently, the committee does not intend to incorporate work subject to a patent unless it is available royalty free. To aid in achieving that objective, TC53 operates under the Royalty-Free Patent Policy which is available here.
Programme of work:
- To define requirements for the needed interfaces and protocols based on identified product needs.
- To establish communication with user communities and other standardization bodies to harmonize and ensure interoperability (e. g. JTC 1/SC 41, IEC TC124, ITU-T SG20, W3C, etc.).
- To continue to develop relevant pre-standardization material and proofs of concept.
- To study the impact on privacy and data security.
- To launch specific TGs as the need arises.
- Standardization activities that would lead to an ECMAScript-based platform for embedded systems and extensions to ECMAScript.
- To study existing standardization work on the definition of formats of sensor data for general data interchange.
Learning about TC53:
- presentation on the IO Class Pattern by Donovan Buck, Ecma TC53 member
- presentations from the TC53 seminar on a modern approach to embedded software (Tokyo, 11 December 2019)
- introduction to TC53 “Smart wearable systems and sensor-based devices” by Peter Hoddie, Chair of TC53
- link to our publicly-viewable work activities on GitHub
- Peter Hoddie (Moddable Tech)
- Jory Burson (Bocoup)
- Patrick Luthi (Ecma International)