Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC.

10
Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC

Transcript of Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC.

Page 1: Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC.

Modeling Software Sustainability

W. Christopher Lenhardt

RENCI – UNC, Chapel Hill, NC

Page 2: Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC.

Papers

• Towards a Software Product Sustainability Model– Coral Calero, M. Angeles Moraga, Manuel F. Bertoa.

• The Blind Men and the Elephant: Towards a Software Sustainability Architectural Evaluation Framework

– Colin C. Venters, Lydia Lau, Michael K. Griffiths, Violeta Holmes, Rupert R. Ward, Jie Xu.

• Sustainable Cyberinfrastructure Software Through Open Governance– Marlon Pierce, Suresh Marru, Chris Mattmann.

• A Framework for Discussing e-Research Infrastructure Sustainability– Daniel S. Katz, David Proctor.

• Data Management Lifecycle and Software Lifecycle Management in the Context of Conducting Science

– Christopher Lenhardt, Stanley Ahalt, Brian Blanton, Laura Christopherson, Ray Idaszak.

• Niche Modeling: Ecological Metaphors for Sustainable Software in Science– Nicholas Weber, Andrea Thomer, Michael Twidale.

Page 3: Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC.

Towards a Software Product Sustainability Model

• Draws parallels between ideas of software sustainability and environmental sustainability

• Sustainability is part of software quality• Notion of designing into the software requirements for environmental sustainability• ISO/IEC 25010 - Systems and software engineering -- Systems and software

Quality Requirements and Evaluation (SQuaRE) -- System and software quality models

– Product quality model– Data quality model– Quality in use model

• Suggest adding the following sustainability characteristics to the quality model of ISO 25010

– Energy consumption– Reserouce optimization– Perdurability

Coral Calero, M. Angeles Moraga, Manuel F. Bertoa.

Page 4: Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC.

The Blind Men and the Elephant: Towards a Software Sustainability Architectural Evaluation Framework

• What does software sustainability mean– It “is a rather ambiguous concept….”

• Lack of an accepted definition gets in the way of integrating the concept into software engineering

• Sustainability as a non-functional requirement• Quality of software architectures determines sustainability• Propose sustainability is a measure of central quality attributes

– Extensibility– Interoperability– Maintainability– Portability– Reusability– Scalability

• Develop an architecture evaluation framework based on scenarios which help to illuminate how to measure quality/sustainability at the architectural level

Colin C. Venters, Lydia Lau, Michael K. Griffiths, Violeta Holmes, Rupert R. Ward, Jie Xu.

Page 5: Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC.

Sustainable Cyberinfrastructure Software Through Open Governance

• Draws a link between sustainable software and a community which supports it• Software fulfills a community need• Authors’ contention that ‘much of…open source principles have been inadequately

applied or misapplied by the research community.”• Also focus on “cyberinfrastructure software”

– “Network accessible services that supports large scale distributed computing and scientific data management”

– Ideal CI software includes mutually supporting contributions from three areas scientific collaboration, escience research, operations and support

• Under this approach sustainability comes from community support and governance• Authors argue for open governance a la Apache Software Foundation as opposed

to the benevolent dictator approach• Apache provides a community of communities and much cross-pollination• Also see to extend community-led open governance model to concept of ‘open

operations’

Marlon Pierce, Suresh Marru, Chris Mattmann.

Page 6: Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC.

A Framework for Discussing e-Research Infrastructure Sustainability

• Focus on e-research infrastructure (aka cyberinfrastructure)• Identify three dimensions that define the e-research infrastructure space

– Temporal duration– Spatial extent (i.e. department, school, etc.)– Purpose of the infrastructure

• Creating not necessarily the challenge, path to sustainability not clear• Clarifying the notion of sustainability

– Provide same functionality going forward even if environment changes– Is functionality and usability clear– Will functionality be correct going into the future even if environment changes– Is the functionality desired by current and future users– Can it incorporate new things as they develop

• Models for creation of infrastructure– Open source– Closed partnership– For profit– Foundation/Government

• Models to Sustain– All of the above, plus– Open source with paid support

• Suggest an analysis of what models work best along which of the axes

Daniel S. Katz, David Proctor.

Page 7: Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC.

Data Management Lifecycle and Software Lifecycle Management in the Context of Conducting Science

• Authors suggest there are distinct parallels between science data management life cycle and software life cycle

• Goals of data management are similar to software sustainability, e.g. discovery, use, re-use

• Data management life cycle connected to data quality

• In the context of science software and data are intimately connected

Christopher Lenhardt, Stanley Ahalt, Brian Blanton, Laura Christopherson, Ray Idaszak.

Page 8: Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC.

Niche Modeling: Ecological Metaphors for Sustainable Software in Science

• Ask whether or not using the concept of ecology and ecosystems can be a useful metaphor as applied to sustainable software

• Using this approach allows us – to look at multiple pieces of software rather than on a single application– Consider the interaction as and interdependencies of components– Potentially better insight into the dynamics of introduction and extinction– Look at how software evolves and co-evolves– “Understanding collaborative bricolage and tinkering”

• Argue to focus on the software niche– Niche equates to the set of technical requirements, organizational

conditions and culture that support maintenance and use

Nicholas Weber, Andrea Thomer, Michael Twidale.

Page 9: Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC.

Comparison Across PapersShort Title Authors Software Sustainability Approach to Understand

or Evaluate SustainabilitySustainability and Quality (ISO & env sustain.)

Calero, et al

General notion of software. Not explicitly defined.

Sustainability is linked to quality.

Add to ISO

Blind Men and Elephant

Venters, et al

Software as science software; increasingly complex; service-oriented computing

Extensibility, interoperability, maintainability, portability, reusability, scalability, efficiency

Use various architecture evaluation approaches to assess sustainability

Governance ≈ Sustainability

Pierce, et al Cyberinfrastructure software

Sustainable to the extent to which there is a community to support it

Open community governance

E-Research Sustainability Framework

Katz and Proctor

E-research infrastructures (i.e. cyberinfrastructure)

Persisting over time, meeting original needs and projected needs

Equates models for the creation of software with sustaining software

Data Management Life Cycle

Lenhardt, et al

Broadly defined as software supporting science

Re-use; reproducible science

Comparing data management life cycle to software development life cycle

Niche Modeling / Ecological Metaphors

Weber, et al

Software broadly defined; a software ecosystem

Software niches Ecological analysis and ecosystem

Page 10: Modeling Software Sustainability W. Christopher Lenhardt RENCI – UNC, Chapel Hill, NC.

Some Common Themes

• Definitional Issues– What do we mean by software?

• Talk about a range of software

• Trying to unpack what sustainability means– Ties to what is the end goal (e.g. reproducible science,

persistence, quality, etc.)

• Quality a key component related to sustainability• Look at sustainability at key junctures, i.e. architecture,

engineering, design• Question of measuring success - sustainability /

metrics