The document discusses software sustainability assessment and introduces the SoSA method. It provides background on the researchers and their work in green software engineering. The document outlines two types of sustainability impacts software can have - directly through energy efficiency, and indirectly by supporting sustainable processes or influencing positive behavioral changes. It introduces a framework for software sustainability assessment that considers four dimensions: economic, social, environmental, and technical.
Advantages of Hiring UIUX Design Service Providers for Your Business
Four dimensions of sustainability for software engineering
1. Towards Software Sustainability Assessment
Prof. dr. Patricia Lago
Software and Services research group
M: p.lago@vu.nl
T: @patricia_lago
Software and Services
Chalmers seminar / brainstorming session
3. Researchers in
Green Software @S2
Giuseppe
Procaccianti
Grace Lewis
Patricia Lago
Fahimeh
Alizadeh
Nelly Condori-
Fernandez
Albert Hankel
Gianantonio
Me
6. 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
7. 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
9. 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]
10. 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
11. 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
12. 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
13. Two types of sustainability impacts
The [software] capacity to
support sustainable processes
and inject a positive behavioral
change
14. 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”.
15. 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)
16. 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)
17. 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
18. Direct impact and energy efficiency
reduce the amount of energy the software requires to provide a service
more energy efficient == less energy consumption
19. 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
20. 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
21. 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.
22. How expensive is adopting a Green IT practice?
Environmental effect
23. 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.
24. 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
IMAGEBYCIENPIESDESIGN
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“preservethefunctionofasystemoveranextended
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
whereastechnicalisaddedforsoftware-intensivesystems27
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
25. 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
IMAGEBYCIENPIESDESIGN
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“preservethefunctionofasystemoveranextended
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
whereastechnicalisaddedforsoftware-intensivesystems27
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
27. View #1: classify quality concerns
What are the quality concerns in which dimension?
Are there cross-dependencies between them?
28. 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?