Modeling Software Sustainability

advertisement
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
Coral Calero, M. Angeles Moraga, Manuel F. Bertoa.
•
•
•
•
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
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.
•
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
Sustainable Cyberinfrastructure Software
Through Open Governance
Marlon Pierce, Suresh Marru, Chris Mattmann.
•
•
•
•
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’
A Framework for Discussing e-Research Infrastructure Sustainability
Daniel S. Katz, David Proctor.
•
•
Focus on e-research infrastructure (aka cyberinfrastructure)
Identify three dimensions that define the e-research infrastructure space
–
–
–
•
•
Creating not necessarily the challenge, path to sustainability not clear
Clarifying the notion of sustainability
–
–
–
–
–
•
Open source
Closed partnership
For profit
Foundation/Government
Models to Sustain
–
–
•
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
–
–
–
–
•
Temporal duration
Spatial extent (i.e. department, school, etc.)
Purpose of the infrastructure
All of the above, plus
Open source with paid support
Suggest an analysis of what models work best along which of the axes
Data Management Lifecycle and Software Lifecycle
Management in the Context of Conducting Science
Christopher Lenhardt, Stanley Ahalt, Brian Blanton, Laura Christopherson, Ray Idaszak.
• 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
Niche Modeling: Ecological Metaphors for
Sustainable Software in Science
Nicholas Weber, Andrea Thomer, Michael Twidale.
• 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
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; serviceoriented 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
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
Download