The execution context in which pervasive systems or mobile computing run changes continually. Hence, applications for these systems require support for self-adaptation to the continual context ...changes. Most of the approaches for self-adaptive systems implement a reconfiguration service that receives as input the list of all possible configurations and the plans to switch between them. In this paper we present an alternative approach for the automatic generation of application configurations and the reconfiguration plans at runtime. With our approach, the generated configurations are optimal as regards different criteria, such as functionality or resource consumption (e.g. battery or memory). This is achieved by: (1) modelling architectural variability at design-time using the Common Variability Language (CVL), and (2) using a genetic algorithm that finds nearly-optimal configurations at run-time using the information provided by the variability model. We also specify a case study and we use it to evaluate our approach, showing that it is efficient and suitable for devices with scarce resources.
•We specify an approach for the dynamic reconfiguration of mobile applications.•We model a mobile application with variability which can be reconfigured at runtime.•We simulate the execution of the mobile application when our dynamic reconfiguration service is applied and not applied, respectively.•We measure the battery life as well as the overall utility of the application perceived by the user.•Applying our dynamic reconfiguration, the battery life is incremented by 45.9% and the utility is incremented by 10.31%.
•Design and simulation of improved monochlorobenezene separation process through double-effect distillation.•Design and simulation of utility plants for more realistic results.•Environmental analysis ...in terms of water consumption and CO2 emissions.•Economic analysis in terms of utility costs and TAC criterion.•Eco-efficiency criteria for the evaluation of the processes sustainability.
Distillation is an energy-intensive operation with high capital and operational costs. For this reason, intensification technologies have been developed to significantly reduce the energy usage, utility costs, and carbon footprint of modern chemical plants. In this work, a double-effect intensification strategy with heat integration was proposed for an industrial-scale monochlorobenzene separation process that can be used in a retrofit design. The conventional process and the intensification configurations were designed by simulation in UniSim software. A utility plant with cooling water and steam generation sections was also considered for realistic results regarding water consumption, CO2 emissions, and utility costs. Additionally, in order to establish a qualitative and quantitative overall analysis, such indicators were grouped in a joint evaluation method using the Comparative Eco-Efficiency Index. The proposed configuration provides savings of 60.15 % and 61.79 % in energy and water consumption, respectively; therefore, savings of 60.15 % and 60.20 % in CO2 emissions and utility costs were achieved, respectively, which increased the process's eco-efficiency by 84.57 % and decreased the TAC criterion by 29.65 %. Thus, the new design prove to be a convenient strategy since it significantly improved the original process performance in alignment with the United Nations’ Sustainable Development Goals.
Display omitted
Thoracic and breast sarcomas constitute a rare subgroup within the sarcoma population. There is limited knowledge about their health-related quality of life (HRQoL) and a valid disease-specific HRQoL ...instrument is lacking. This qualitative study aimed to investigate the HRQoL issues experienced by a small group of thoracic and breast sarcoma patients. Semi-structured interviews with 19 thoracic and four breast sarcoma patients were conducted and thematically analysed. Physical issues mentioned by both groups were fatigue, sleep disturbances, pain, wound infections, and symptoms related to chemotherapy and radiotherapy. Tightness in the back and restrictions in performing tasks above arm height were specific physical issues for breast sarcoma patients, whereas respiratory problems were only mentioned by thoracic sarcoma patients. Body image issues, changes in mood, fear of recurrence, and living with uncertainty were important mental health issues for both subgroups. Social issues in both groups included challenges in work and relationships, financial difficulties, loss of independence, and limitations in social activities. The identified physical, mental, and social health challenges can significantly impact thoracic and breast sarcoma patients’ HRQoL. Results of this qualitative study will guide personalised supportive care for breast and thoracic sarcoma patients and help in determining the best possible HRQoL measurement strategy for sarcoma patients with different primary sarcoma locations.
Context: Quality attributes play a critical role in the architecture elicitation phase. Software Sustainability and energy efficiency is becoming a critical quality attribute that can be used as a ...selection criteria to choose from among different design or implementation alternatives. Energy efficiency usually competes with other non-functional requirements, like for instance, performance.
Objective: This paper presents a process that helps developers to automatically generate optimum configurations of functional quality attributes in terms of energy efficiency and performance. Functional quality attributes refer to the behavioral properties that need to be incorporated inside a software architecture to fulfill a particular quality attribute (e.g., encryption and authentication for the security quality attribute, logging for the usability quality attribute).
Method: Quality attributes are characterized to identify their design and implementation variants and how the different configurations influence both energy efficiency and performance. A usage model for each characterized quality attribute is defined. The variability of quality attributes, as well as the energy efficiency and performance experiment results, are represented as a constraint satisfaction problem with the goal of formally reasoning about it. Then, a configuration of the selected functional quality attributes is automatically generated, which is optimum with respect to a selected objective function.
Results: Software developers can improve the energy efficiency and/or performance of their applications by using our approach to perform a richer analysis of the energy consumption and performance of different alternatives for functional quality attributes. We show quantitative values of the benefits of using our approach and discuss the threats to validity.
Conclusions: The process presented in this paper will help software developers to build more energy efficient software, whilst also being aware of how their decisions affect other quality attributes, such as performance.
Software systems have a strong impact on the energy consumption of the hardware they use. This is especially important for cyber-physical systems where power consumption strongly influences the ...battery life. For this reason, software developers should be more aware of the energy consumed by their systems. Moreover, software systems should be developed to adapt their behavior to minimize the energy consumed during their execution. This can be done by monitoring the usage context of the system and having runtime support to react to those changes that impact the energy footprint negatively. Although both the hardware and the software parts of cyber-physical systems can be adapted to reduce its energy consumption, this paper focuses on software adaptation. Concretely, the paper illustrates how to address the problem of developing context-aware energy-efficient applications using a Green Eco-Assistant that makes use of advanced software engineering methods, such as Dynamic Software Product Lines and Separation of Concerns. The main steps of our approach are illustrated by applying them to a cyber-physical system case study.
Cyber–physical Systems are usually composed by a myriad of battery-powered devices. Therefore, developers should pay attention to the energy consumption of the global system so as not to compromise ...the system lifetime. There are plenty of experimental studies that give hints about how to reduce the energy consumption. However, this knowledge is not readily available for the software developers of cyber–physical systems. They normally use software development environments that do not provide useful advice about the energy consumption of the software solutions being implemented. In this paper, we propose a Developer Eco-Assistant to integrate the experimental results obtained by researchers into the software development environments, so as to increase the energy-awareness of cyber–physical systems developers. In our solution, the energy information is obtained in real-time from a repository of energy consuming concerns, where researchers store their experimental measurements. Developers use the repository to perform sustainability analyses, which, in turn, will lead to greener design/implementation decisions. In this paper, we illustrate the use of our approach in the context of cyber–physical systems development using both open source environments (e.g. JetBrains IDEs) and proprietary environments (e.g. Waspmote development environment). We experimentally demonstrate that cyber–physical systems can reduce more than 40% of its energy consumption depending on the scenario, reaching approximately 90% in some certain cases.
•Energy is a critical resource in Cyber Physical System devices.•We provide a Developer Eco-Assistant to perform sustainability analyses.•We develop two extensions of the HADAS repository and a JetBrain plug-in.•We apply our approach to security and communication of Waspmotes and Android devices.•We test our approach and the results are energy savings between 40% and 90%.
•Mobile applications require to self-adapt their behavior to context changes.•We propose a DSPL approach to manage variability at runtime.•Configurations are generated using multiobjective ...evolutionary algorithms.•We apply a fix operator to generate only valid configurations at runtime.•We demonstrate that this approach is suitable for mobile environments.
Mobile applications require dynamic reconfiguration services (DRS) to self-adapt their behavior to the context changes (e.g., scarcity of resources). Dynamic Software Product Lines (DSPL) are a well-accepted approach to manage runtime variability, by means of late binding the variation points at runtime. During the system’s execution, the DRS deploys different configurations to satisfy the changing requirements according to a multiobjective criterion (e.g., insufficient battery level, requested quality of service). Search-based software engineering and, in particular, multiobjective evolutionary algorithms (MOEAs), can generate valid configurations of a DSPL at runtime. Several approaches use MOEAs to generate optimum configurations of a Software Product Line, but none of them consider DSPLs for mobile devices. In this paper, we explore the use of MOEAs to generate at runtime optimum configurations of the DSPL according to different criteria. The optimization problem is formalized in terms of a Feature Model (FM), a variability model. We evaluate six existing MOEAs by applying them to 12 different FMs, optimizing three different objectives (usability, battery consumption and memory footprint). The results are discussed according to the particular requirements of a DRS for mobile applications, showing that PAES and NSGA-II are the most suitable algorithms for mobile environments.
•We define a family of FQAs ready to be reused in many software architectures.•We define an Aspect-Oriented SPL to inject customized FQAs into the applications.•Two different implementations of the ...SPL are provided and compared.•Modelling FQAs separately from the applications increases reusability.•The final architectures exhibit a high degree of separation of concerns.
Some quality attributes can be modelled using software components, and are normally known as Functional Quality Attributes (FQAs). Applications may require different FQAs, and each FQA (e.g., security) can be composed of many concerns (e.g., access control or authentication). They normally have dependencies between them and crosscut the system architecture. The goal of the work presented here is to provide the means for software architects to focus only on application functionality, without having to worry about FQAs. The idea is to model FQAs separately from application functionality following a Software Product Line (SPL) approach. By combining SPL and aspect-oriented mechanisms, we will define a generic process to model and automatically inject FQAs into the application without breaking the base architecture. We will provide and compare two implementations of our generic approach using different variability and architecture description languages: (i) feature models and an aspect-oriented architecture description language; and (ii) the Common Variability Language (CVL) and a MOF-compliant language (e.g., UML). We also discuss the benefits and limitations of our approach. Modelling FQAs separately from the base application has many advantages (e.g., reusability, less coupled components, high cohesive architectures).
The impact of energy consumption on the environment and the economy is raising awareness of “green” software engineering. HADAS is an eco-assistant that makes developers aware of the influence of ...their designs and implementations on the energy consumption and performance of the final product. In this paper, we extend HADAS to better support the requirements of users:
researchers
, automatically dumping the energy-consumption of different software solutions; and
developers
, who want to perform a sustainability analysis of different software solutions. This analysis has been extended by adding Pearson’s chi-squared differentials and Bootstrapping statistics, to automatically check the significance of correlations of the energy consumption, or the execution time, with any other variable (e.g., the number of users) that can influence the selection of a particular eco-efficient configuration. We have evaluated our approach by performing a sustainability analysis of the most common web servers (i.e. PHP servers) using the time and energy data measured with the
Watts Up? Pro
tool previously dumped in HADAS. We show how HADAS helps web server providers to make a trade-off between energy consumption and execution time, allowing them to sell different server configurations with different costs without modifying the hardware.