towards software sustainability assessment
TRANSCRIPT
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
Contents Ø About us
• Green IT, green software, sustainability • The SoSA method: Software Sustainability Assessment©
Researchers in Green Software @S2
Giuseppe Procaccianti
Grace Lewis
Patricia Lago
Fahimeh Alizadeh
Nelly Condori-Fernandez
Albert Hankel Gianantonio Me
Our research • Software engineering and
software architecture
• Service orientation
• Migration, modernization, re-engineering
• Design decision making and modeling
© Patricia Lago 2014
Our research • Green software engineering • Green (cloud) migration and
management
• Software architecture & sustainability
© Patricia Lago 2014
green
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
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
Contents • About us
Ø Green IT, green software, sustainability
• The SoSA method: 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]
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
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
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
Two types of sustainability impacts
The [software] capacity to support sustainable processes and inject a positive behavioral
change
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”.
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)
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)
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
Direct impact and energy efficiency
reduce the amount of energy the software requires to provide a service more energy efficient == less energy consumption
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
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
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.
How expensive is adopting a Green IT practice? Environmental effect
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.
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
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
Two views
What qualities are relevant? What qualities influence which dimension?
scope category
View #1: classify quality concerns What are the quality concerns in which dimension? Are there cross-dependencies between them?
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?