14 research outputs found
A manifesto for energy-aware software
According to recent estimates, computing and communications could account for 20% of energy usage globally by 2025.1 This trend shows no sign of slowing. The annual growth in power consumption of Internet-connected devices is 20%. Data centers alone are now accounting for more than 3% of global emissions. Even if you are not worried about this trend on the mega scale, you are likely concerned with the power consumption of the devices in your pocket, on your wrist, and in your ears. Software, hardware, and network attributes all contribute to power usage, but little attention has been given to this topic by the information and communications technology (ICT) community
Approach to Include Sustainability and Creativity in Requirements Engineering
Silveira, C., Santos, V., Reis, L., & Mamede, H. (2022). CRESustain: Approach to Include Sustainability and Creativity in Requirements Engineering. Journal of Engineering Research and Sciences, 1(8), 27-34. https://doi.org/10.55708/js0108004, https://doi.org/10.55708/js0108Requirements Engineering is an evolving field facing new challenges. One of the central conundrums is sustainability in software. The possibility of using known creativity techniques while introducing the dimensions of sustainability to help provide unexpected, original, practical, and sustainable answers in software development is challenging and motivating. This paper proposes an approach, CRESustain, incorporating sustainability dimensions when introducing creativity techniques in the Requirements Engineering process. CRESustain uses various creativity techniques considered appropriate for the different stages of the RE process. It is inspired by the Sustainable Development Goals, creative problem-solving methods, and the Karlskrona Manifesto. The methodology applied to give materiality to the outcome of this work was Design Science Research, a research paradigm that uses knowledge to solve problems, generate new knowledge and insights, and results in an artefact. The main results indicate that the approach stimulates discussion about sustainability in technical, economic, social, human, and environmental dimensions focusing on the Sustainable Development Goals and people's needs.publishersversionpublishe
Software Sustainability in the Age of Everything as a Service
The need for acknowledging and managing sustainability as an essential quality of software systems has been steadily increasing over the past few years, in part as a reaction to the implications of ``software eating the world\u27\u27. Especially the widespread adoption of the Everything as a Service (*aaS) model of delivering software and (virtualized) hardware through cloud computing has put two sustainability dimensions upfront and center. On the one hand, services must be sustainable on a technical level by ensuring continuity of operations for both providers and consumers despite, or even better, while taking into account their evolution. On the other hand, the prosuming of services must also be financially sustainable for the involved stakeholders
Supporting Sustainability and Technical Debt-Driven Design Decisions in Software Architectures
Degraded software usually incurs higher energy consumption, therefore suboptimal decisions in software architectures may lead to higher technical debt and less sustainable software products. There are metrics and tools to calculate technical debt and energy consumption of software, but it is required to provide mechanisms to store their relationship and how they change depending on the design decisions. In addition, there are different models for calculating the same metric and different metrics to measure technical debt and power consumption, and software engineers require selecting the most suitable model and metric depending on the software product context. This work presents a metamodel called ARCMEL to provide the required base of knowledge for supporting green-aware design decisions and to flexibly configure and select metrics and their models. ARCMEL has been implemented as part of the ARCMEL SCAT tool. Its validation is also presented in terms of completeness and flexibility
Designing for Sustainability:Lessons Learned from Four Industrial Projects
Scientific research addressing the relation between software and sustainability is slowly maturing in two focus areas, related to `sustainable software' and `software for sustainability'. The first is better understood and may include research foci like energy-efficient software and software maintainability. It most-frequently covers `technical' concerns. The second, `software for sustainability', is much broader in both scope and potential impact, as it entails how software can contribute to sustainability goals in any sector or application domain. Next to the technical concerns, it may also cover economic, social, and environmental sustainability. Differently from researchers, practitioners are often not aware or well-trained in all four types of software sustainability concerns. To address this need, in previous work we have defined the Sustainability-Quality Assessment Framework (SAF) and assessed its viability via the analysis of a series of software projects. Nevertheless, it was never used by practitioners themselves, hence triggering the question: What can we learn from the use of SAF in practice? To answer this question, we report the results of practitioners applying the SAF to four industrial cases. The results show that the SAF helps practitioners in (1) creating a sustainability mindset in their practices, (2) uncovering the relevant sustainability-quality concerns for the software project at hand, and (3) reasoning about the inter-dependencies and trade-os of such concerns as well as the related short- and long-term implications. Next to improvements for the SAF, the main lesson for us as researchers is the missing explicit link between the SAF and the (technical) architecture design
The future of sustainable digital infrastructures: A landscape of solutions, adoption factors, impediments, open problems, and scenarios
Background: Digital infrastructures, i.e., ICT systems, or system-of-systems, providing digital capabilities, such as storage and computational services, are experiencing an ever-growing demand for data consumption, which is only expected to increase in the future. This trend leads to a question we need to answer: How can we evolve digital infrastructures to keep up with the increasing data demand in a sustainable way?Objective: The goal of this study is to understand what is the future of sustainable digital infrastructures, in terms of: which solutions are, or will be, available to sustainably evolve digital infrastructures, and which are the related adoption factors, impediments, and open problems.Method: We carried out a 3-phase mixed-method qualitative empirical study, comprising semi-structured interviews, followed by focus groups, and a plenary session with parallel working groups. In total, we conducted 13 sessions involving 48 digital infrastructure practitioners and researchers.Results: From our investigation emerges a landscape for sustainable digital infrastructures, composed of 30 solutions, 5 adoption factors, 4 impediments, and 13 open problems. We further synthesized our results in 4 incremental scenarios, which outline the future evolution of sustainable digital infrastructures.Conclusions: From an initial shift from on-premise to the cloud, as time progresses, digital infrastructures are expected to become increasingly distributed, till it will be possible to dynamically allocate resources by following time, space, and energy. Numerous solutions will support this change, but digital infrastructures are envisaged to be able to evolve sustainably only by (i) gaining a wider awareness of digital sustainability, (ii) holding every party accountable for their sustainability throughout value chains, and (iii) establishing cross-domain collaborations
Sustainability in Software Engineering: A Design Science Research Approach
In the current global context, with so many challenges to be
faced, it is important to see people’s increased interest in sustainability issues
as an opportunity for change. Sustainable Software Engineering, as a
recent research area, incorporates sustainability principles and dimensions
in the software development process. On the other hand, the Design Science
Research methodology has become a well-received research paradigm in
Information Systems in general and in Software Engineering in particular.
The paper presents a Sustainable Software Engineering approach integrated
into the Design Science Research methodology. The concepts of sustainability
in software development, namely the principles of the Karlskrona
Manifesto, the principles of Green Software Engineering and the Sustainable
Development Goals are integrated into the approach. Preliminary results
from applying the approach indicate that the iterative process of the
Design Science Research methodology allows for the integration of multidisciplinary
sustainability artefacts during the software process
Enhancing Energy-Awareness in Deep Learning through Fine-Grained Energy Measurement
With the increasing usage, scale, and complexity of Deep Learning (DL)
models, their rapidly growing energy consumption has become a critical concern.
Promoting green development and energy awareness at different granularities is
the need of the hour to limit carbon emissions of DL systems. However, the lack
of standard and repeatable tools to accurately measure and optimize energy
consumption at a fine granularity (e.g., at method level) hinders progress in
this area. This paper introduces FECoM (Fine-grained Energy Consumption Meter),
a framework for fine-grained DL energy consumption measurement. FECoM enables
researchers and developers to profile DL APIs from energy perspective. FECoM
addresses the challenges of measuring energy consumption at fine-grained level
by using static instrumentation and considering various factors, including
computational load and temperature stability. We assess FECoM's capability to
measure fine-grained energy consumption for one of the most popular open-source
DL frameworks, namely TensorFlow. Using FECoM, we also investigate the impact
of parameter size and execution time on energy consumption, enriching our
understanding of TensorFlow APIs' energy profiles. Furthermore, we elaborate on
the considerations, issues, and challenges that one needs to consider while
designing and implementing a fine-grained energy consumption measurement tool.
This work will facilitate further advances in DL energy measurement and the
development of energy-aware practices for DL systems