Modeling Software Sustainability

crookpatedspongySoftware and s/w Development

Dec 2, 2013 (3 years and 6 months ago)

48 views

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
.

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
.

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
.

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
.

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.

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
.

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
.

Comparison Across Papers

Short Title

Authors

Software

Sustainability

Approach to Understand
or

Evaluate Sustainability

Sustainability 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,

m
aintainability, 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

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
k
ey junctures, i.e.
architecture, engineering, design


Question of measuring success
-

sustainability /
metrics