100 likes | 243 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 .
E N D
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, JieXu. • 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, JieXu. • 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 • 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
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
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