
Designing high-performance embedded devices is usually time consuming and error-prone due to conflicting non-functional requirements (NFRs) like performance, timeliness, and sustainability. This paper proposes an Aspect-Oriented Programming (AOP) approach using AspectJ to streamline IoT middleware design by modularizing NFRs and communicating domain knowledge to optimizers and mapping tools. Leveraging AspectJ, our method enhances modularity by separating crosscutting concerns—such as scheduling, resource allocation, and synchronization—from core functionality. Our novel contribution lies in refactoring crosscutting concerns— task scheduling, resource management, and task synchronization —into reusable aspects, achieving a Cohesion Index (CoI) increase from 0.19 (Java) to 0.69 (AspectJ), a 263% improvement, while reducing code tangling. By leveraging context primitives and behavior functions aligned with standards like OSEK OS, we address IoT challenges such as real-time criticality and resource scarcity Validated across a real-time audio switch and simulated FreeRTOS environments, our method outperforms traditional Java designs, cutting memory usage by 20% (24.25% to 20.01%) and CPU utilization by 9% (44% to 40%), with a 50% runtime reduction in critical tasks (e.g., $92.03\mu $ s to $46.19\mu $ s). Unlike prior AOP efforts focused on desktop systems, this approach targets embedded IoT, offering a scalable, standards-integrated solution. A survey of real-time embedded system development highlights the superiority of Aspect-Oriented Software Development (ASOD) in enhancing schedulers, resource allocation agents, and other synchronization mechanisms with minimal overhead, setting a foundation for broader IoT adoption.
Aspect-oriented programming, domain-specific languages, Internet of Things, FPGAs, embedded systems, Electrical engineering. Electronics. Nuclear engineering, TK1-9971
Aspect-oriented programming, domain-specific languages, Internet of Things, FPGAs, embedded systems, Electrical engineering. Electronics. Nuclear engineering, TK1-9971
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
