Refine
Document Type
- Conference Proceeding (2)
- Article (1)
Language
- English (3)
Is part of the Bibliography
- yes (3)
Keywords
- Power Consumption (2)
- Embedded Software Engineering (1)
- Embedded Systems (1)
- Energy Bug (1)
- Energy Efficiency (1)
- Internet of Things (1)
- MARTE (1)
- Model-Driven Development (1)
- Software Design Pattern (1)
- UML (1)
Institute
- Fakultät IuI (3)
Power consumption has become a major design constraint, especially for battery-powered embedded systems. However, the impact of software applications is typically considered in later phases, where both software and hardware parts are close to their finalization. Power-related issues must be detected in early stages to keep the development costs low, satisfy time-to-market, and avoid cost-intensive redesign loops. Moreover, the variety of hardware components, architectures, and communication interfaces make the development of embedded software more challenging. To manage the complexity of software applications, approaches such as model-driven development (MDD) may be used. This article proposes a power-estimation approach in MDD for software application models in early development phases. A unified modeling language (UML) profile is introduced to model power-related properties of hardware components. To determine the impact of software applications, we defined two analysis methods using simulation data and a novel in-the-loop concept. Both methods may be applied at different development stages to determine an energy trace, describing the energy-related behavior of the system. A novel definition of energy bugs is provided to describe power-related misbehavior. We apply our approach to a sensor node example, demonstrate an energy bug detection, and compare the runtime and accuracy of the analysis methods.
Due to the resource-constrained nature of embedded systems, it is crucial to support the estimation of their power consumption as early in the development process as possible. Non-functional requirements based on power consumption directly impact the software design, e.g., watt-hour thresholds and expected lifetimes based on battery capacities. Even if software affects hardware behavior directly, these types of requirements are often overlooked by software developers because they are commonly associated with the hardware layer. Modern trends in software engineering such as Model-Driven Development (MDD) can be used in embedded software development to evaluate power consumption-based requirements in early design phases. However, power consumption aspects are currently not sufficiently considered in MDD approaches. In this paper, we present a model-driven approach using Unified Modeling Language profile extensions to model hardware components and their power characteristics. Software m odels are combined with hardware models to achieve a system-wide estimation, including peripheral devices, and to make the power-related impact in early design stages visible. By deriving energy profiles, we provide software developers with valuable feedback, which may be used to identify energy bugs and evaluate power consumption-related requirements. To demonstrate the potential of our approach, we use a sensor node example to evaluate our concept and to identify its energy bugs.
With the increasing size and complexity of embedded systems, the impact of software on energy consumption is becoming more important. Previous research focused mainly on energy optimization at the hardware level. However, little research has been carried out regarding energy optimization at the software design level. This paper focuses on the software design level and addresses the gap between software and hardware design for embedded systems. This is achieved by proposing a framework for software design patterns, which takes aspects of power consumption and time behavior of the hardware level into account. We evaluate the expressiveness of the framework by applying it to well-known and novel design patterns. Furthermore, we introduce a dimensionless numerical efficiency factor to make possible energy savings quantifiable.