Towards a Pattern Language for Green Computing
Abstract
: Software is used in our modern world to increase automation in almost all areas: From simple calculations to complex tasks, such as self-driving vehicles or coding agents based on artificial intelligence. While this automation increases efficiency and convenience for the users, it has an often overlooked negative impact on the environment, primarily caused by the severe energy and water consumption. Various approaches to reduce this impact and to develop and operate software more sustainably were developed in recent years. However, the wide adoption of these approaches is currently missing due to a lack of knowledge about green software development, operations, and usage. Hence, a common knowledge base must be established that facilitates applying green computing solutions. Patterns are a well-known concept to document and share knowledge about proven solutions to commonly recurring problems in an abstract manner. Therefore, they are also promising for documenting green computing solutions and best practices and to use them for reference or educational purposes. However, there exists no pattern language documenting and connecting relevant knowledge about green software development, operation, and usage. In this paper, we envision a pattern language for green computing, covering the various phases of the software lifecycle in which green computing solutions can be applied, as well as important application areas, such as artificial intelligence or cloud computing.