The GREENSOFT Model: A reference model for green and sustainable software and its engineering
Status:: 🟩
Links:: Green Software
Metadata
Authors:: Naumann, Stefan; Dick, Markus; Kern, Eva; Johann, Timo
Title:: The GREENSOFT Model: A reference model for green and sustainable software and its engineering
Publication Title:: "Sustainable Computing: Informatics and Systems"
Date:: 2011
URL:: https://www.sciencedirect.com/science/article/pii/S2210537911000473
DOI:: 10.1016/j.suscom.2011.06.004
Bibliography
Naumann, S., Dick, M., Kern, E., & Johann, T. (2011). The GREENSOFT Model: A reference model for green and sustainable software and its engineering. Sustainable Computing: Informatics and Systems, 1(4), 294–304. https://doi.org/10.1016/j.suscom.2011.06.004
Zotero
Type:: #zotero/journalArticle
Keywords:: [🔥, Green Software]
Relations
Related:: @Venters.etal.2018.SoftwareSustainability
Related:: @Naumann.etal.2015.SustainableSoftwareEngineering
Related:: @Mahmoud.Ahmad.2013.GreenModelSustainable
Abstract
The resource and power consumption of ICT is still increasing, but also the benefits of ICT, e.g. in finding more efficient solutions for environmental problems. To date, it is not clear, whether the resource and energy savings through ICT overbalance the resource and energy consumption by ICT, or not. Up to now, manifold efforts of Green IT address the environmental aspects of sustainability considering computer hardware. However, there is still a lack of models, descriptions or realizations in the area of computer software and software process models. In our contribution, we first propose definitions of the terms “Green and Sustainable Software” and “Green and Sustainable Software Engineering”, then we outline a conceptual reference model, the GREENSOFT Model. This model includes a cradle-to-grave product life cycle model for software products, sustainability metrics and criteria for software, software engineering extensions for sustainably sound software design and development, as well as appropriate guidance.
Notes & Annotations
📑 Annotations (imported on 2023-06-28#16:06:16)
Green house gas effects, climate change and, as a means to mitigate these, Sustainable Development (abbr. SD) are the major challenges, mankind is faced with in the world of today [1]. Information and Communication Technology (abbr. ICT) makes up a considerable constituent of these complex challenges. On the one hand, ICT has the potential to push SD, if it is used to optimize material flows or to substitute material products with their virtual counterparts, which reduces energy and resource consumption [2]. On the other hand, its ever-increasing usage induces rising demands for energy and resources [3].
Our contribution presents the GREENSOFT Model, a model of “Green and Sustainable Software” addressing both challenges: the reduction of the energy and resource consumption in ICT, as well as the use of ICT to contribute to SD.
Here, the effects of ICTs are called “effects of ICT supply” (first-order effects), “effects of ICT usage” (second-order effects), and “systemic effects of ICT” (third-order effects).
Kansal et al. [30] introduced “Joulemeter”, a tool that estimates the pro rata power consumption of virtualized servers running on one hardware server. It uses a power model that leverages CPU usage and disk IO of each virtual server in order to estimate its power consumption.
[Green and Sustainable Software] is software, whose direct and indirect negative impacts on economy, society, human beings, and environment that result from development, deployment, and usage of the software are minimal and/or which has a positive effect on sustainable development.
Green and Sustainable Software Engineering is the art of developing green and sustainable software with a green and sustainable software engineering process. Therefore, it is the art of defining and developing software products in a way, so that the negative and positive impacts on sustainable development that result and/or are expected to result from the software product over its whole life cycle are continuously assessed, documented, and used for a further optimization of the software product [29].
→@Dick.Naumann.2010.EnhancingSoftwareEngineering
The GREENSOFT Model is a conceptual reference model for “Green and Sustainable Software”, which has the objective to support software developers, administrators, and software users in creating, maintaining, and using software in a more sustainable way.
The model (see Fig. 1) comprises a holistic life cycle model for software products, sustainability criteria and metrics for software products, procedure models for different stakeholders, and recommendations for action, as well as tools that support stakeholders in developing, purchasing, supplying, and using software in a green and sustainable manner.
In order to deliver its offered services, a computer program requires processing time, which in turn consumes electric energy. This may also require the consumption of services offered by other servers (consider, e.g. Data Base Management Systems, Enterprise Resource Planning systems, or simply the WWW service), which causes additional power consumption.
State-of-the-art software systems usually require up-to-date and more powerful hardware than older software systems or previous versions. As a result, this causes hardware replacements in organizations as well as at home, when a new software product is introduced. On the one hand, new hardware is typically more power efficient than older hardware, but on the other hand it has to be taken into account that the production of the new hardware and the disposal of the old hardware causes vast amounts of resource and energy consumption [46].
If a software product is taken out of service, it is mostly necessary to convert the available data to a format that can be processed by the succeeding software product, or to make it accessible in some other ways. If the data cannot be converted easily, e.g. because it is stored in a proprietary data format, this may have an impact on economic sustainability of an organization. In this phase, even the backup size of data matters, e.g. if legal regulations require long-term storage of data.
Albertao et al. [26,27] interpret common software quality properties and associated metrics on the background of SD. They classify the quality properties into development, usage, and process related properties.
According to Hilty [46] based on a LCA study by Eugster et al. [47], desktop PCs should not be used for less than approx. 5 years. After 5 years of use, the ecological impacts resulting mainly from the energy demand of the usage phase outweigh those of the production phase. These findings are also supported by a recent LCA study by a manufacturer of ICTs [48]. This is different for servers, because a server in 24/7 operation mode reaches the point of equilibrium earlier [46], according to the figures presented by [49] after approx. 1 year of use.
For a software running on a single computer, energy efficiency and performance may be closely related, but there may be greater differences for distributed systems. In this area, consider, e.g. service level agreements or performance requirements that necessitate additional servers to handle peak loads. Here, it may be possible to increase energy efficiency by relaxing performance requirements for peak loads.
The proposed enhancements are: Sustainability Reviews & Previews, Process Assessment, Sustainability Journal, and the so called Sustainability Retrospective [29].
For custom software products, non-functional requirements like energy efficiency or requirements addressing mitigation of IT infrastructure obsolescence, which may be induced by the tendered software product, can be defined. However, it is necessary to provide applicable measurement methods and acceptable maximum measurement values for bidders. From a practical point of view, this is only possible if a comparable software product is available that can be used as reference, e.g. if a legacy software system is replaced with a new one.
Recommendations and Tools support stakeholders with different skill levels in applying green and sustainable techniques when developing, administrating or using software products. Recommendations can be guidelines, checklists, best practice examples, implementation reports, etc. Tools can be software tools, but also any other tool, like paper-based data collection sheets. There are plenty of recommendations available, e.g. on the Internet, but unfortunately these are hard to find.
Example recommendations for developers deal with website optimization [38,62], provide guidance on how to design and develop energy efficient software [39,40,63,64], or give general hints on how to design and develop resource efficient software [65]. Available tools focus on energy or resource efficiency of software or services [39,66]. For administrators, there are guidelines available that describe best practices for energy efficient data centers [59,60,67,68]. Some of these guidelines are accompanied by appropriate tools [69]. For purchasers, there are guidelines available that describe sustainable procurement of IT equipment, in accordance with tendering regulations [51,57]. For users, there are guidelines and tools available that support users in making informed decisions on hardware, software, and services they use or plan to use [32,33,70,71].