30.5SEApr 10
The Need for a Green ICT Reference FrameworkMarco Aiello, Mina Alipour, Antonio Brogi et al.
The sustainability impacts of ICT systems are difficult to assess and govern due to structural complexity, fragmented measurement practices, and unclear responsibilities across system layers. We argue that these challenges cannot be addressed solely by metrics and motivate the need for a shared Green ICT reference framework that integrates sustainability across multiple perspectives and domains, lifecycle phases, and governance contexts. We present an initial framework developed within the Informatics Europe Green ICT Working Group as a first step towards a comprehensive reference framework.
SEJan 15, 2020
Integrating the Common Variability Language with Multilanguage Annotations for Web EngineeringJosé Miguel Horcas Aguilera, Alejandro Cortiñas, Lidia Fuentes et al.
Web applications development involves managing a high diversity of files and resources like code, pages or style sheets, implemented in different languages. To deal with the automatic generation of custom-made configurations of web applications, industry usually adopts annotation-based approaches despite the majority of studies encourage the use of composition-based approaches to implement Software Product Lines. Recent work tries to combine both approaches to get the complementary benefits. However, technological companies are reticent to adopt new development paradigms such as feature-oriented programming or aspect-oriented programming. Moreover, it is extremely difficult, or even impossible, to apply these programming models to web applications, mainly because of their multilingual nature, since their development involves multiple types of source code (Java, Groovy, JavaScript), templates (HTML, Markdown, XML), style sheet files (CSS and its variants, such as SCSS), and other files (JSON, YML, shell scripts). We propose to use the Common Variability Language as a composition-based approach and integrate annotations to manage fine grained variability of a Software Product Line for web applications. In this paper, we (i) show that existing composition and annotation-based approaches, including some well-known combinations, are not appropriate to model and implement the variability of web applications; and (ii) present a combined approach that effectively integrates annotations into a composition-based approach for web applications. We implement our approach and show its applicability with an industrial real-world system.
CRMay 9, 2017
An empirical study of the power consumption of cryptographic primitives in AndroidJose A. Montenegro, Monica Pinto, Lidia Fuentes
Green computing has become a growing trend in computing, pursuing the goal of helping software developers to pay more attention to produce energy-effiency software. This is specially relevant for battery-powered mobile applications, where minimizing the energy consumption is required to both mitigate the greenhouse effect and to extend the battery lifetime. In this paper we analyze the energy consumption of cryptographic primitives in Android devices. Our ultimate goal is to help Android application developers, especially those who are not experts on security, to choose the most energy efficient cryptographic algorithms considering different security providers and different security transformations. We have performed our experiments using an energy profiling tool based on the PowerTutor application. Our results show that this type of energy efficiency studies are necessary, because selecting the most energy efficient configuration depends on many factors, and some of the conclusions are not so obvious.
SEDec 23, 2016
HADAS Green Assistant: designing energy-efficient applicationsNadia Gamez, Monica Pinto, Lidia Fuentes
The number of works addressing the role of energy efficiency in the software development has been increasing recently. But, designers and programmers still complain about the lack of tools that help them to make energy-efficiency decisions. Some works show that energy-aware design decisions tend to have a larger impact in the power consumed by applications, than code optimizations. In this paper we present the HADAS green assistant, which helps developers to identify the energy-consuming concerns of their applications (i.e., points in the application that consume more energy, like storing or transferring data), and also to model, analyse and reason about different architectural solutions for each of these concerns. This tool models the variability of more or less green architectural practices and the dependencies between different energy-consuming concerns using variabilty models. Finally, this tool will automatically generate the architectural configuration derived from the selections made by the developer from an energy consumption point of view.
SEDec 23, 2016
A green program lifecycle supporting energy-efficient applicationsNadia Gamez, Jose-Miguel Horcas, Monica Pinto et al.
With the advent of the Internet of Things (IoT), the percentage of global emissions attributable to Information Systems is expected to further increase in the coming years, due to a proliferation of Internet-connected devices omnipresent in our daily lives (e.g., electric meters, wearable devices, etc.). Although software systems do not directly consume energy, they strongly affect the energy consumption of the hardware. So, developers should be more aware of the energy consumed by these systems during their lifetime, and think about the long-term consequences in the sustainability of our planet Earth. Indeed, once deployed, the energy consumed by a system depends on several factors determined mainly by the usage context. This means that the area of energy-efficient software development needs green development lifecycles that provide appropriate methodologies and tools to identify and analyze the energy hotspots of applications early at design time, and see how they can be self-adapted to the runtime context usage. Regrettably, there is a narrow view of developers and users and their responsibility in the energy consumed during application execution. Developers rarely address energy efficiency as some recent studies show, mostly because they lack appropriate methodologies and tools that help them to produce green software at runtime. So, although software energy efficiency is becoming increasingly important in an ever more technology-dependent world, development processes of self-greening systems supported by tools are still in their infancy. On the other hand, considering that many of current applications are normally deployed in smartphones or in any kind of smart objects (e.g., sensors, watches, etc.), optimizing the energy consumption during the execution will also have a strong impact in battery saving, enhancing the quality of experience of final users.