Design and development of reusable feature-based next-generation embedded software

dc.contributor.advisorAzim, Akramul
dc.contributor.authorMaruf, Md Al
dc.date.accessioned2024-01-23T20:36:34Z
dc.date.available2024-01-23T20:36:34Z
dc.date.issued2023-12-01
dc.degree.disciplineElectrical and Computer Engineering
dc.degree.levelDoctor of Philosophy (PhD)
dc.description.abstractThe emergence of next-generation embedded systems, emphasized by their shortened life cycles, necessitates an urgent shift towards agile software design and development. The objective is to achieve timely product delivery while maintaining safety and quality standards. Anticipating that next-generation software will interconnect numerous devices, an efficient architecture supporting advanced functionalities or features becomes essential. Fog and edge computing emerge as promising computing paradigms for next-generation embedded applications. These platforms are particularly pertinent for safety-critical and time-sensitive systems, such as autonomous vehicles. However, integrating these platforms into embedded systems presents challenges in designing and developing software supporting future demands like mobility and machine learning (ML) model training. This research focuses on identifying the reusable features through static analysis from legacy embedded software to improve code reuse for faster development and create a feature model for understanding features and their requirements. The feature model displays embedded software’s integrated variants and constraints details to reduce the feature verification and validation effort. It supports reusability, significantly easing key development phases such as requirement analysis, which is often a major bottleneck in the timely release of embedded software, even with agile methodologies. Further, the study emphasizes designing fog computing architecture that benefits embedded applications like over-the-air (OTA) software updates and improves the performance of large ML model training by efficient model partitioning across edge devices. Our research presents a feature-based embedded software development approach that incorporates the advanced features in the feature model and streamlines the entire development cycle from design to deployment. A Python tool is developed to automatically extract reusable features from publicly available GitHub embedded software projects, showcasing the practical applicability of our research in real-world scenarios.en
dc.description.sponsorshipUniversity of Ontario Institute of Technologyen
dc.identifier.urihttps://hdl.handle.net/10155/1726
dc.language.isoenen
dc.subjectEmbedded software design and developmenten
dc.subjectSoftware reuseen
dc.subjectFeature and requirements identificationen
dc.subjectFeature modelen
dc.subjectFog and edge computingen
dc.titleDesign and development of reusable feature-based next-generation embedded softwareen
dc.typeDissertationen
thesis.degree.disciplineElectrical and Computer Engineering
thesis.degree.grantorUniversity of Ontario Institute of Technology
thesis.degree.nameDoctor of Philosophy (PhD)

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Maruf_Md_Al.pdf
Size:
4.65 MB
Format:
Adobe Portable Document Format
Description:

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.68 KB
Format:
Item-specific license agreed upon to submission
Description: