Post on 23-Jul-2020
Software Requirements Engineering for Sustainability Debra Richardson* with Bill Tomlinson* and Birgit Penzenstadler**
* UCIrvine, ** TUMünchen
Software Engineering has been Underutilized for Sustainability � ICT has contributed significantly to
exploiting the planet’s resources
� “Greening through IT” also engenders considerable potential to improve sustainability
� Software engineering’s potential to help in this endeavor has yet to be fully explored
� We are beginning a project focused on how requirements engineering can be used to produce systems that address sustainability
EnviroSiSE � Environmental Sustainability in Software
Engineering
� Analyze what and how SE can contribute to improving environmental sustainability of ICT
� Interdisciplinary approach linking software engineering and environmental informatics v software engineering: Birgit Penzenstadler and me v environmental informatics: Bill Tomlinson v along with other environmental scientists, regulatory
agencies and other domain experts
Caveat
We are only just beginning this research
� Proposal to EU for Birgit to come to US to work on this research project with us
Sustainable Development = Sustainability is the capacity to endure = Sustainable development is development that
meets the needs of the present without compromising the ability of future generations to meet their own needs
Brundtland Report of UN World Commission for Environment and Development, 1987
� How can software engineering contribute to sustainability and sustainable development?
Viewpoints for Software Engineering � Lifecycle
v Sustainability in the software development process (responsible use of ecological, human, financial resources)
v Sustainability of the software system during its lifecycle, including maintenance and replacement (lifelong monitoring of quality, knowledge management)
� Product v Sustainability of the software system as a product
with respect to its use of resources during execution (green IT, efficient use of hardware and software components)
v Sustainability in resource usage in the application domain supported by the software system (responsible in its impacts on the system environment)
Greening through IT
� Using what we have learned in information technology and related disciplines v to make our lives “greener”
(more environmentally sustainable) v by providing adequate technological support
for the actions of our daily life
We are not focusing on “Greening of IT”(green IT) or Sustainable Software
ICT4ES
= ICT for Environmental Sustainability � Challenge is to analyze how ICT systems can
reduce humankind’s impact on the environment by finding new approaches that explicitly take sustainability into account
� Our aim is to support development of ICT4ES with adequate software engineering that integrates environmental informatics & sciences
� Our focus is on requirements engineering
Requirements Engineering
= Software engineering sub-discipline concerned with eliciting, analyzing, specifying, modeling, validating, and managing the requirements of all stakeholders
� RE lays the foundation for systems development v only real chance of building the right system
� RE provides the strongest leverage point for considering environmental sustainability
Some Related Work � In general, Requirements Engineering research is far
behind other CS disciplines in sustainability domain
� First steps in applying existing RE methods to case studies for decision making (not SW development) v Cabot, Easterbrook, et.al.: “Integrating sustainability in
decision-making processes: A modeling strategy”, ICSE-NIER, 2009.
v Stefan, et.al.: Goal-Oriented System Modeling for Managing Environmental Sustainability, WSRCC-3, 2011.
� One paper on specifying sustainability requirements v Mahaux, Heymans, Saval: “Discovering Sustainability
Requirements: an Experience Report”, REFSQ, 2011.
Three preliminary research questions
RQ1: What are the implications for SE of ICT4ES? that is, making environmental sustainability a first-class citizen among the quality objectives for system development
RQ2: How can the necessities resulting from ICT4ES be implemented in a software engineering approach?
RQ3: How can we assess the impacts of a given software-intensive system for environmental sustainability, including both direct and indirect effects and considering all groups of stakeholders?
Envisioned Outcomes ① Value Map for Sustainability in SE (RQ1)
v Sustainability in relation to traditional SE values v Ensures inclusion of all stakeholders
② Sustainability Goal Taxonomy (RQ1) v Goals deduced to support values
③ Sustainability Requirements Artifact Model (RQ2)
v Guides structure and content for specifying sustainability requirements and related information
Envisioned Outcomes
④ Adapted Analysis Techniques (RQ2) v To transition from goals to requirements artifacts
⑤ Sustainability Quality Model (RQ3) v Indicators and metrics to describe, assess and
predict quality wrt sustainability
⑥ Case Studies (RQ1-3) v Validating a tailored approach to
requirements engineering for sustainability
Sustainability RE Process
Sustainability Toolbox
� Tailored approach for requirements engineers v Stakeholder analysis based on value map v Sustainability goal taxonomy v Goal model integrating sustainability as a quality
attribute v Sustainability requirements artifact model for
requirements elicitation v Sustainability indicators and metrics v … potential future techniques as we find
limitations and deficiencies
Conclusion
� Our goal is to support the development of ICT4ES with an adequate software engineering approach that integrates knowledge of environmental informatics.
� As some of the most powerful tools currently in use by humankind, providing software system developers of these systems with conceptual techniques to infuse their process with environmental sustainability promises to improve environmental sustainability