SDK4ED: a platform for building energy efficient, dependable, and maintainable embedded software

Siavvas, Miltiadis,Tsoukalas, Dimitrios,Matei, Oliviu,Strydis, Christos,Siddiqi, Muhammad Ali,Chrobocinski, Philippe,Filus, Katarzyna,Domańska, Joanna,Avgeriou, Paris,Gelenbe, Erol,Kehagias, Dionysios,Tzovaras, Dimitrios
DOI: https://doi.org/10.1007/s10515-024-00450-z
IF: 1.677
2024-06-12
Automated Software Engineering
Abstract:Developing embedded software applications is a challenging task, chiefly due to the limitations that are imposed by the hardware devices or platforms on which they operate, as well as due to the heterogeneous non-functional requirements that they need to exhibit. Modern embedded systems need to be energy efficient and dependable, whereas their maintenance costs should be minimized, in order to ensure the success and longevity of their application. Being able to build embedded software that satisfies the imposed hardware limitations, while maintaining high quality with respect to critical non-functional requirements is a difficult task that requires proper assistance. To this end, in the present paper, we present the SDK4ED Platform, which facilitates the development of embedded software that exhibits high quality with respect to important quality attributes, with a main focus on energy consumption, dependability, and maintainability. This is achieved through the provision of state-of-the-art and novel quality attribute-specific monitoring and optimization mechanisms, as well as through a novel fuzzy multi-criteria decision-making mechanism for facilitating the selection of code refactorings, which is based on trade-off analysis among the three main attributes of choice. Novel forecasting techniques are also proposed to further support decision making during the development of embedded software. The usefulness, practicality, and industrial relevance of the SDK4ED platform were evaluated in a real-world setting, through three use cases on actual commercial embedded software applications stemming from the airborne, automotive, and healthcare domains, as well as through an industrial study. To the best of our knowledge, this is the first quality analysis platform that focuses on multiple quality criteria, which also takes into account their trade-offs to facilitate code refactoring selection.
computer science, software engineering
What problem does this paper attempt to address?