A Green Model for Sustainable Software Engineering

Information Communication Technology (ICT) has a strong impact on sustainable development due its rising demands for energy and resources needed when building hardware and software products. Most of the efforts spent on Green ICT/IT have been dedicated to addressing the effects of hardware on the environment but little have been considering the effects of building software products as well. Efficient software will indirectly consume less energy by using up less hardware equipment to run. Our contributions in this paper are devoted to building a two level green software model that covers the sustainable life cycle of a software product and the software tools promoting green and environmentally sustainable software. In the first level we propose a new green software engineering process that is a hybrid process between sequential, iterative, and agile development processes to produce an environmentally sustainable one. Each stage of the software process is then further studied to produce a green and sustainable stage. We propose either green guidelines or green processes for each software stage in the engineering process. We add to the software life cycle the requirements stage and the testing stage. We also include in the first level a complete list of metrics to measure the greenness of each stage in terms of the first order effects of ICT on the environment for a green software engineering process. No effort has been placed before in designing a green software engineering process. The second level explains how software itself can be used as a tool to aid in green computing by monitoring resources in an energy efficient manner. Finally, we show and explain relationships that can be found between the two levels in our proposed model to make the software engineering process and product green and sustainable.

[1]  Juha Taina Good, Bad, and Beautiful Software - In Search of Green Software Quality Factors , 2011 .

[2]  Jing Xiao,et al.  Measuring the Sustainability Performance of Software Projects , 2010, 2010 IEEE 7th International Conference on E-Business Engineering.

[3]  Vinod Kumar,et al.  Agile software development practices: evolution, principles, and criticisms , 2012 .

[4]  Bill Tomlinson,et al.  RE 4 ES : Support Environmental Sustainability by Requirements Engineering , 2012 .

[5]  Kai Qian,et al.  Green Computing Methodology for Next Generation Computing Scientists , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference.

[6]  Stefan Naumann,et al.  Sustainable development, sustainable software, and sustainable software engineering: An integrated approach , 2011, 2011 International Symposium on Humanities, Science and Engineering Research.

[7]  Maurizio Morisio,et al.  Green Software , 2014, IEEE Softw..

[8]  Birgit Penzenstadler Supporting Sustainability Aspects in Software Engineering , 2012 .

[9]  F. Kiamilev,et al.  Towards power reduction through improved software design , 2012, 2012 IEEE Energytech.

[10]  Fabrizio Fabbrini,et al.  Software Sustainability from a Process-Centric Perspective , 2012, EuroSPI.

[11]  Tore Dybå,et al.  Empirical studies of agile software development: A systematic review , 2008, Inf. Softw. Technol..

[12]  Thomas Ledoux,et al.  Self-optimisation of the energy footprint in service-oriented architectures , 2010, GCM '10.

[13]  Punit Gupta,et al.  A Framework of Creating Intelligent Power Profiles in Operating Systems to Minimize Power Consumption and Greenhouse Effect Caused by Computer Systems , 2011 .

[14]  Romain Rouvoy,et al.  A preliminary study of the impact of software engineering on GreenIT , 2012, 2012 First International Workshop on Green and Sustainable Software (GREENS).

[15]  Appasami Govindasamy,et al.  Optimization of Operating Systems towards Green Computing , 2011, Int. J. Comb. Optim. Probl. Informatics.

[16]  Imtiaz Ahmad,et al.  Green Performance Indicators for Energy Aware IT Systems: Survey and Assessment , 2012 .

[17]  Manish Gupta,et al.  Software Bloat and Wasted Joules: Is Modularity a Hurdle to Green Software? , 2011, Computer.

[18]  Emmanuel Letier,et al.  Goal-Oriented System Modelling for Managing Environmental Sustainability , 2011 .

[19]  Birgit Penzenstadler,et al.  Towards a definition of sustainability in and for software engineering , 2013, SAC '13.

[20]  Ami Marowka,et al.  Back to Thin-Core Massively Parallel Processors , 2011, Computer.

[21]  Timo Johann,et al.  How to measure energy-efficiency of software: Metrics and measurement results , 2012, 2012 First International Workshop on Green and Sustainable Software (GREENS).

[22]  Timo Johann,et al.  The GREENSOFT Model: A reference model for green and sustainable software and its engineering , 2011, Sustain. Comput. Informatics Syst..

[23]  Chiara Francalanci,et al.  Is software "green"? Application development environments and energy efficiency in open source applications , 2012, Inf. Softw. Technol..

[24]  Weisong Shi,et al.  SPAN: A software power analyzer for multicore computer systems , 2011, Sustain. Comput. Informatics Syst..

[25]  Torgeir Dingsøyr,et al.  A decade of agile methodologies: Towards explaining agile software development , 2012, J. Syst. Softw..

[26]  Bill Tomlinson,et al.  Toward sustainable software engineering: NIER track , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[27]  Patrick Heymans,et al.  Discovering Sustainability Requirements: An Experience Report , 2011, REFSQ.

[28]  K. Shuaib,et al.  Incorporating Green IT concepts in undergraduate software requirements engineering course: An experience report , 2012, 7th Iberian Conference on Information Systems and Technologies (CISTI 2012).

[29]  Martin Mahaux,et al.  Integrating the Complexity of Sustainability in Requirements Engineering , 2012 .

[30]  Patricia Lago,et al.  The Service Greenery: Integrating Sustainability In Service Oriented Software , 2010, ICSE 2010.

[31]  Birgit Penzenstadler,et al.  Jumpstart sustainability in seminars: hands-on experiences in class , 2012, CSERC.

[32]  Sanath S. Shenoy,et al.  Green software development model: An approach towards sustainable software development , 2011, 2011 Annual IEEE India Conference.

[33]  Warren Harrison,et al.  Software process decision support: making process tradeoffs using a hybrid metrics, modeling and utility framework , 2002, SEKE '02.

[34]  Maryam Razavian,et al.  Modeling to support communication and engineering of service-oriented software , 2012, 2012 First International Workshop on European Software Services and Systems Research - Results and Challenges (S-Cube).

[35]  Maria Grazia Fugini,et al.  Layered Green Performance Indicators , 2012, Future Gener. Comput. Syst..