Student Research Abstract: A Hybrid Approach to Design Embedded Software Using JavaScript's Non-blocking Principle
Pages 732 - 735
Abstract
Embedded Systems (ES) are present in several domains like automotive, smart homes, smart cities, industry, and healthcare, to name but a few. ES brings new challenges to designing embedded software that requires a high level of abstraction and being aware of resource consumption, mainly on resource-constrained devices. Modern programming languages like JavaScript (JS) can help solve these issues. However, JS is an interpreted language that demands attention to develop applications considering the balance between performance and resource consumption. In this scenario, this paper introduces an architecture design that proposes to model software for embedded systems as event-driven applications. Our design combines traditional architectures traits of Time-triggered (TT) and Event-triggered (ET) into a framework named JSEVAsync, promoting a hybrid system that explores JavaScript's non-blocking concept as a development interface to structure the algorithms into asynchronous units. As a result, we aid the development of applications with high abstraction levels and better resource consumption. To validate it, we compare C- and JavaScript-based applications, analyze the source code (static code analysis) to extract software quality metrics, and explore the results from the energy consumption perspective. We found that writing code through JSEVAsync can be up to 21% more energy efficient than the traditional method and can improve design-time metrics.
References
[1]
Iban Ayestaran, Carlos F. Nicolas, Jon Perez, Asier Larrucea, and Peter Puschner. 2014. A novel modeling framework for time-triggered safety-critical embedded systems. In Proceedings of the 2014 Forum on Specification and Design Languages (FDL), Vol. 978-2-9530504-9-3. 1--8.
[2]
Muhammad Waqar Aziz, Najeeb Ullah, and Muhammad Rashid. 2021. A Process Model for Service-Oriented Development of Embedded Software Systems. IT Professional 23, 5 (2021), 44--49.
[3]
Michèle Basseville. 1988. Detecting changes in signals and systems---A survey. Automatica 24, 3 (1988), 309--326.
[4]
Eclipse Foundation. 2021. IoT Developer Survey 2021. https://outreach.eclipse.foundation/iot-edge-developer-2021. Accessed: Oct. 2022.
[5]
David Flanagan. 2020. JavaScript - The Definitive Guide (7 ed.). O'Reilly Media, Sebastopol, CA.
[6]
Kumseok Jung, Julien Gascon-Samson, Shivanshu Goyal, Armin Rezaiean-Asel, and Karthik Pattabiraman. 2021. ThingsMigrate: Platform-independent migration of stateful JavaScript Internet of Things applications. Software: Practice and Experience 51, 1 (2021), 117--155.
[7]
Panayiotis Kolios, Christos Panayiotou, Georgios Ellinas, and Marios Polycarpou. 2016. Data-Driven Event Triggering for IoT Applications. IEEE Internet of Things Journal 3, 6 (2016), 1146--1158.
[8]
Mouaaz Nahas and Ahmed M. Nahhas. 2012. Ways for Implementing Highly-Predictable Embedded Systems Using Time-Triggered Co-Operative (TTC) Architectures. In Embedded Systems, Kiyofumi Tanaka (Ed.). IntechOpen, Rijeka, Chapter 1.
[9]
Hiroyuki Nakagawa, Shinya Tsuchida, Emiliano Tramontana, Andrea Fornaia, and Tatsuhiro Tsuchiya. 2022. Embedded System Evolution in IoT System Development Based on MAPE-K Loop Mechanism. arXiv preprint arXiv:2205.13375 (2022).
[10]
Lazaros Papadopoulos, Charalampos Marantos, Georgios Digkas, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, and Dimitrios Soudris. 2018. Interrelations between software quality metrics, performance and energy consumption in embedded applications. In Proceedings of the 21st International Workshop on software and compilers for embedded systems. 62--65.
[11]
RFC 7228: Terminology for constrained-node network. 2022. Internet Engineering Task Force (IETF). https://tools.ietf.org/html/rfc7228. Accessed: Oct. 2022.
[12]
Naimish Thaker and S. S. Krishnamurthy Babu. 2017. Analysis of event-triggered and time-triggered architecture for a reliable embedded system. In 2017 8th International Conference on Computing, Communication and Networking Technologies (ICCCNT). 1--5.
[13]
Rui Wang, Libin Xu, Yuebin Bai, Zhongzhao Wang, Hailong Yang, and Lijun Zhang. 2017. Efficient Asynchronous Communication between Virtual Machines in Embedded Systems. In 2017 IEEE 19th International Conference on High Performance Computing and Communications; IEEE 15th International Conference on Smart City; IEEE 3rd International Conference on Data Science and Systems (HPCC/SmartCity/DSS). 603--604. 2017.78
Index Terms
- Student Research Abstract: A Hybrid Approach to Design Embedded Software Using JavaScript's Non-blocking Principle
Comments
Information & Contributors
Information
Published In
March 2023
1932 pages
ISBN:9781450395175
DOI:10.1145/3555776
- Conference Chairs:
- Jiman Hong,
- Maart Lanperne,
- Program Chairs:
- Juw Won Park,
- Tomas Cerny,
- Publication Chair:
- Hossain Shahriar
Copyright © 2023 Owner/Author(s).
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s).
Sponsors
Publisher
Association for Computing Machinery
New York, NY, United States
Publication History
Published: 07 June 2023
Check for updates
Author Tags
Qualifiers
- Poster
Conference
SAC '23
Sponsor:
Acceptance Rates
Overall Acceptance Rate 1,650 of 6,669 submissions, 25%
Upcoming Conference
SAC '25
- Sponsor:
- sigapp
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- 0Total Citations
- 28Total Downloads
- Downloads (Last 12 months)9
- Downloads (Last 6 weeks)1
Reflects downloads up to 16 Feb 2025
Other Metrics
Citations
View Options
Login options
Check if you have access through your login credentials or your institution to get full access on this article.
Sign in