{"title":"Student Research Abstract: A Hybrid Approach to Design Embedded Software Using JavaScript's Non-blocking Principle","authors":"Fernando L. Oliveira","doi":"10.1145/3555776.3577210","DOIUrl":null,"url":null,"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.","PeriodicalId":42971,"journal":{"name":"Applied Computing Review","volume":null,"pages":null},"PeriodicalIF":0.4000,"publicationDate":"2023-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Applied Computing Review","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3555776.3577210","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, INFORMATION SYSTEMS","Score":null,"Total":0}
引用次数: 0
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.