Implementing Policy WSSSPE Workshop 2013 Daisie Huang Biodiversity Research Centre University of British Columbia
Jan 15, 2015
Implementing PolicyWSSSPE Workshop 2013
Daisie HuangBiodiversity Research CentreUniversity of British Columbia
Implementing Policy• Key issues:
• As software matures, new problems emerge.
• Sustainability issues should be addressed throughout the life cycle.
• How to implement sustainability when resources are limited?
Implementing Policy
➡API Governance
➡Software Security
➡Sustainability
Implementing Policy
➡API Governance
Developing Systems for API GovernanceC Krintz, H Jayathilaka, S Dimopoulos, A Pucher, and R Wolski, Department of Computer Science, UC Santa Barbara
API Governance
• Scientific research relies on access to digital assets as well as hardware.
• APIs govern the interactions between these digital assets.
from phylotastic.org
API Governance
• APIs need to be portable and consistent.
• Semantic compatibility
• Syntactic compatibility
Implementing Policy
➡API Governance
➡Software Security
➡Sustainability
Implementing Policy
➡Software Security
Toward a Research Software Security Maturity ModelR Heiland, B Thomas, V Welch, C Jackson, Center for Trustworthy Scientific Cyberinfrastructure, Indiana University
Software Security
Software Security• A Security Maturity Model can formalize this
process:
• Provides classification of software security practices.
• Provides a path for tightening security practices as a package’s maturity level increases.
• Emphasizes understandability over complexity.
Implementing Policy
➡API Governance
➡Software Security
➡Sustainability
Implementing Policy
➡Sustainability
A User Perspective on Sustainable Scientific SoftwareBrian Blanton and Chris Lenhardt, Renaissance Computing Institute
Sustainability
• Tension between “getting it done” enough to publish scientific results and “getting it right” for future users.
Sustainability
Co-funding
Best suited for large, collaborative projects
“Software carpentry”
Teach scientists to use software development best practices.
Sustainability
Implementing Policy
➡Sustainability
Software Engineering as Instrumentation for the Long Tail of Scientific SoftwareDaisie Huang and Hilmar Lapp, UBC and NESCent
The Long TailThe lifespan of scientific software can be unexpectedly long.
Lots of small programs implement different methods.
The Long Tail
Facets of software design
• API development
• Security
• User interface design
• Test engineering
• Deployment
Facets of software design
• API development
• Security
• User interface design
• Test engineering
• Deployment
Phylogenetics/Genomics/Ecology/Molecular Biology/Developmental
Biology
Instrumentation• Software engineering as a resource
• Analogous to DNA sequencing facilities
Instrumenting Software Engineering
• A scientific software engineering center can provide these resources to many projects.
• Governed by long -term vision that is not tied to success or failure of any individual project.
• Emphasis on executing good science by making functional tools.
Conclusions• Many facets of software design not addressed in
most scientific software projects.
• Possible solutions include:
• large projects can hire developers with software engineering expertise
• providing scientists with software design guidance
• A software engineering center can provide both expertise and guidance to the long tail.