28
Towards Software Sustainability Assessment Prof. dr. Patricia Lago Software and Services research group M: [email protected] T: @patricia_lago Software and Services Chalmers seminar / brainstorming session

Towards Software Sustainability Assessment

Embed Size (px)

Citation preview

Page 1: Towards Software Sustainability Assessment

Towards Software Sustainability Assessment Prof. dr. Patricia Lago Software and Services research group M: [email protected] T: @patricia_lago

Software and Services

Chalmers seminar / brainstorming session

Page 2: Towards Software Sustainability Assessment

Contents Ø  About us

•  Green IT, green software, sustainability •  The SoSA method: Software Sustainability Assessment©

Page 3: Towards Software Sustainability Assessment

Researchers in Green Software @S2

Giuseppe Procaccianti

Grace Lewis

Patricia Lago

Fahimeh Alizadeh

Nelly Condori-Fernandez

Albert Hankel Gianantonio Me

Page 4: Towards Software Sustainability Assessment

Our research •  Software engineering and

software architecture

•  Service orientation

•  Migration, modernization, re-engineering

•  Design decision making and modeling

© Patricia Lago 2014

Page 5: Towards Software Sustainability Assessment

Our research •  Green software engineering •  Green (cloud) migration and

management

•  Software architecture & sustainability

© Patricia Lago 2014

green

Page 6: Towards Software Sustainability Assessment

Education

Why the Track Software Engineering and Green IT? •  Provide current professionals

and future generations •  with the appropriate skills and

competencies •  to engineer energy-aware

software and ICT systems

Page 7: Towards Software Sustainability Assessment

Amsterdam Data Science Marcel Worring

Amsterdam Data Science

Basic Facts Founded Fall 2013 Four academic partners Built around multiple proven research strengths in which we are world leaders

Applications

Creative Industry Health Care Life Science

Smart cities / Smart Citizen ICT and Sustainability

Page 8: Towards Software Sustainability Assessment

Contents •  About us

Ø  Green IT, green software, sustainability

•  The SoSA method: Software Sustainability Assessment©

Page 9: Towards Software Sustainability Assessment

Green IT

The study and practice of designing, manufacturing, using, and disposing of computers, servers, and associated subsystems—such as monitors, printers, storage devices, and networking and communications systems — efficiently and effectively with minimal or no impact on the environment [San Murugesan, “Harnessing Green IT: Principles and Practices,” IEEE IT Professional, January–February 2008, pp 24-33]

Page 10: Towards Software Sustainability Assessment

Green software The study and practice of designing, manufacturing, using, and disposing of computers, servers, and associated subsystems—such as monitors, printers, storage devices, and networking and communications systems — efficiently and effectively with minimal or no impact on the environment [San Murugesan, “Harnessing Green IT: Principles and Practices,” IEEE IT Professional, January–February 2008, pp 24-33]

energy efficient software

the software influences a

green behavior

hardware

development process

Page 11: Towards Software Sustainability Assessment

Two types of environmental impacts

Decisions embedded in software

With direct impact (greening of IT)

With indirect impact (greening by IT)

Energy efficient software

The software influences a green behavior

Energy-aware software

Page 12: Towards Software Sustainability Assessment

Sustainable software

SUSTAINABILITY IS DEFINED(3) as the capacity to endure(1) and “preserve the function of a system over an extended period of time(2).

(1) Hilty et al. The relevance of information and communication technologies for environmental sustainability: A prospective simulation study. Environmental Modelling & Software, 21(11), 2006 (2) Sustainability: Can our society endure? On-line at www.sustainability.com/sustainability (3) Lago et al. Framing sustainability as a property of software quality, ACM Communications, 58(10), 2015

Page 13: Towards Software Sustainability Assessment

Two types of sustainability impacts

The [software] capacity to support sustainable processes and inject a positive behavioral

change

Page 14: Towards Software Sustainability Assessment

The [software] capacity to support sustainable processes and inject a positive behavioral

change

Source: engineering.com

“Sustainable platforms can incorporate sustainable energy production, monitor energy supply and demand, detect sub-optimal usages, elicit opportunities for energy savings, create novel services, change life styles”.

Page 15: Towards Software Sustainability Assessment

Two types of sustainability impacts

(4) Avgeriou et al. Architecture sustainability: Guest Editor introduction, IEEE Software, Nov./Dec. 2013

The [software] capacity to support sustainable processes and inject a positive behavioral

change

The [software] capacity to endure different types of change through efficient maintenance and orderly evolution over its entire life cycle(4)

Page 16: Towards Software Sustainability Assessment

John Koster Director Software Development ASML

“Technology changes frequently, but software stays for 10 to 20 years. The challenge is to make sure that when we change the software it will just improve.” [ICT.OPEN 2015]

The [software] capacity to endure different types of change through efficient maintenance and orderly evolution over its entire life cycle(4)

Page 17: Towards Software Sustainability Assessment

Environmental + Sustainability impacts

Decisions embedded in software

With direct impact (greening of IT)

With indirect impact (greening by IT)

Energy efficient software

The software influences a green behavior

Energy-aware software

Software supporting sustainable processes Sustainable software development

Page 18: Towards Software Sustainability Assessment

Direct impact and energy efficiency

reduce the amount of energy the software requires to provide a service more energy efficient == less energy consumption

Page 19: Towards Software Sustainability Assessment

Indirect impact and sustainability

•  use software (or IT) to organize better the supported services •  the software (or IT) is not energy efficient •  the supported services have a lesser environmental impact

Page 20: Towards Software Sustainability Assessment

Indirect impact and awareness creation

(use software/IT to) make people aware of their environmental impact additional software (or IT) consumes additional energy people will improve their behavior to consume less

Page 21: Towards Software Sustainability Assessment

Indirect impact and Energy Efficiency:"Virtualization & Consolidation(*)

1. [Defini)on]  Create  virtual  instances  of  (previously  physical)  servers.  Virtual  servers  retain  server  name,  IP  address,  etc.  [Effects]  This  ac)on  (a)  eliminates  physical  bonds,  allowing  for  flexible  capacity  management;  (b)  allows  to  execute  hybrid  servers  on  the  same  physical  device,  hence  reducing  investment  in  mul)ple  specialized  HW.  

2. [Definition] Replace devices with newer technology following technology renovation cycles. This allows to increase capacity, and get faster and more energy efficient processors with the same number of physical servers. [Effects] This action (a) reduces power consumption, and (b) may lead to better performance.

3. [Definition] combine multiple (virtual) servers on one shared physical server, hence decreasing the overall number HW devices. [Effects] This action (a) reduces investments for maintenance and management (M&M); (b) decreases the required space in server rooms (c) reduces HW costs, (d) reduces overall power consumption, (e) reduces heat load. [Notes] Requires virtualization.

(*)  Applicable  for  both  servers,  storage  and  applica)ons.  

Page 22: Towards Software Sustainability Assessment

How expensive is adopting a Green IT practice? Environmental effect

Page 23: Towards Software Sustainability Assessment

Four relevant concerns for greener software

Technical Economic

Social Environmental

Source: P. Lago et al. “Framing Sustainability as a Software Quality Property”, ACM Communications, 2015.

Page 24: Towards Software Sustainability Assessment

P. Lago et al. “Framing Sustainability as a Software Quality Property”, ACM Communications, 2015. To appear.

70 COMMUNICATIONS OF THE ACM | OCTOBER 2015 | VOL. 58 | NO. 10

contributed articles

IMA

GE

BY

CIE

NP

IES

DES

IGN

DOI:10.1145/2714560

This framework addresses the environmental dimension of software performance, as applied here by a paper mill and a car-sharing service.

BY PATRICIA LAGO, SEDEF AKINLI KOÇAK, IVICA CRNKOVIC, AND BIRGIT PENZENSTADLER

SUSTAINABILITY IS DEFINED as the “capacity to endure”34 and “preserve the function of a system over an extended period of time.”13 Discussing sustainability consequently requires a concrete system (such as a specific software system) or a specific software-intensive system. Analysis of the sustainability of a specific software system requires software developers weigh four major dimensions of sustainability—economic, social, environmental, and technical—affecting their related trade-offs.32

The first three stem from the Brundtland report,4 whereas technical is added for software-intensive systems27 at a level of abstraction closer to implementation. The economic dimension is concerned with preserving

capital and value. The social dimen-sion is concerned with maintaining communities. The environmental di-mension seeks to improve human wel-fare by protecting natural resources. And the technical dimension is con-cerned with supporting long-term use and evolution of software-intensive systems. Sustainability is achievable only when accounting for all dimen-sions. Including the environmental dimension makes it possible to aim at dematerializing production and con-sumption processes to save natural re-sources.12 Connections among the four dimensions involve different depen-dencies and stakeholders.28,31 Poten-tial conflicts among stakeholder inter-ests means software developers must understand the relationships among goals of the four dimensions.

The shortcoming of current soft-ware engineering practice with regard to sustainability is that the technical and economic dimensions are taken into account while the environmental and social dimensions are not. The question we address here is how these concepts relate to software and how to break down the respective concerns into software-quality requirements. We focus on the (currently neglected) environmental dimension and its re-lation to the other dimensions. While most efforts in environmental sustain-ability through software have focused on energy efficiency, we tie the con-cept of environmental sustainability to other sustainability dimensions of a software system, particularly to ad-

Framing Sustainability as a Property of Software Quality

key insights ! The sustainability analysis framework

enables software developers to specifically consider environmental and social dimensions relative to technical and economic dimensions.

! Sustainability requirements and concerns will increase system scope, requiring extended analysis during requirements engineering.

! The framework helps draw a more comprehensive picture of the relevant quality dimensions and, as a result, improve decision making.

The source

Page 25: Towards Software Sustainability Assessment

ISO/IEC 42030 Systems and Software Engineering Architecture Evaluation, Technical Report WD3. ISO/IEC, New York, 2013.

70 COMMUNICATIONS OF THE ACM | OCTOBER 2015 | VOL. 58 | NO. 10

contributed articles

IMA

GE

BY

CIE

NP

IES

DES

IGN

DOI:10.1145/2714560

This framework addresses the environmental dimension of software performance, as applied here by a paper mill and a car-sharing service.

BY PATRICIA LAGO, SEDEF AKINLI KOÇAK, IVICA CRNKOVIC, AND BIRGIT PENZENSTADLER

SUSTAINABILITY IS DEFINED as the “capacity to endure”34 and “preserve the function of a system over an extended period of time.”13 Discussing sustainability consequently requires a concrete system (such as a specific software system) or a specific software-intensive system. Analysis of the sustainability of a specific software system requires software developers weigh four major dimensions of sustainability—economic, social, environmental, and technical—affecting their related trade-offs.32

The first three stem from the Brundtland report,4 whereas technical is added for software-intensive systems27 at a level of abstraction closer to implementation. The economic dimension is concerned with preserving

capital and value. The social dimen-sion is concerned with maintaining communities. The environmental di-mension seeks to improve human wel-fare by protecting natural resources. And the technical dimension is con-cerned with supporting long-term use and evolution of software-intensive systems. Sustainability is achievable only when accounting for all dimen-sions. Including the environmental dimension makes it possible to aim at dematerializing production and con-sumption processes to save natural re-sources.12 Connections among the four dimensions involve different depen-dencies and stakeholders.28,31 Poten-tial conflicts among stakeholder inter-ests means software developers must understand the relationships among goals of the four dimensions.

The shortcoming of current soft-ware engineering practice with regard to sustainability is that the technical and economic dimensions are taken into account while the environmental and social dimensions are not. The question we address here is how these concepts relate to software and how to break down the respective concerns into software-quality requirements. We focus on the (currently neglected) environmental dimension and its re-lation to the other dimensions. While most efforts in environmental sustain-ability through software have focused on energy efficiency, we tie the con-cept of environmental sustainability to other sustainability dimensions of a software system, particularly to ad-

Framing Sustainability as a Property of Software Quality

key insights ! The sustainability analysis framework

enables software developers to specifically consider environmental and social dimensions relative to technical and economic dimensions.

! Sustainability requirements and concerns will increase system scope, requiring extended analysis during requirements engineering.

! The framework helps draw a more comprehensive picture of the relevant quality dimensions and, as a result, improve decision making.

The source

Page 26: Towards Software Sustainability Assessment

Two views

What qualities are relevant? What qualities influence which dimension?

scope category

Page 27: Towards Software Sustainability Assessment

View #1: classify quality concerns What are the quality concerns in which dimension? Are there cross-dependencies between them?

Page 28: Towards Software Sustainability Assessment

View #2: scoping quality concerns What are the quality concerns? Are they within, near, or outside the project scope? Are there cross-dependencies between them?