While there has been considerable work on selfadaptive systems, applying these techniques to networked, embedded systems poses several new problems due to the requirements of embedded real-time systems. Among others, we have to consider memory and hardware limitations, as well as task schedulability and timing dependencies. The goal of this paper is to find a correct placement of software components efficiently, even though most of these individual constraints are highly intractable (NP-complete). This is a prerequisite for runtime adaptation in such domains and can be used for system optimization, extension or failure handling.We introduce an integrated model of system constraints for efficient computation of software component allocation, focusing on automotive embedded systems. For solving these, we have developed and compared two techniques based on SAT solving and Simulated Annealing, which enforce placement constraints efficiently. This reduces the size of the constraints significantly, but still leads to 2 million variables and more than 126 thousand equations in our case study with realistic automotive system settings. We show that both approaches provide solutions in several seconds on current commodity hardware, and show that SAT solving is more efficient for larger sets of equations.
Modern distributed embedded systems are reaching an extreme complexity which is very hard to master with traditional methods. Particularly the need for these systems to adapt their behavior autonomously at runtime to changing conditions is a demanding challenge. Since most industrial application domains of distributed embedded systems have high demands on reliability and safety, we need a dependable self-adaptation mechanism to apply adaptation successfully in these domains. Therefore, we propose a concept to guarantee the proper system behavior and a mechanism which preserves the predefined functional and non-functional requirements of the system
This paper presents and evaluates a new approach of energy estimation for single software components based on program flowcharts. This estimation is designed to be applicable early in the design process, which enables system designer to evaluate different design variants with respect to the energy consumption of the later system. The energy estimation model is based on individual flowchart elements and execution probabilities for branches and iterations. The used flowchart elements are for arithmetical calculations, flow control and reads/writes, which are a selection of possible elements used to show the feasibility of the approach. The estimation model is verified in a first step by using three commercially available benchmarks. The flowcharts of these are utilized to estimate the energy consumption by using the presented model. The comparison between estimated and measured energy consumption of an exemplary embedded system results in an estimation error bandwidth between -11.9 % and +6.9 %. The main benefit of the presented approach is the applicability within the development phase "System Design" [1], i.e. previous to any software implementation. This is realized by using only available information of that development phase and generic elements to estimate the energy consumption.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.