1. Workshop in Sustainable Software for Science: Practice and Experience
Communities
Karen Cranston!
National Evolutionary
Synthesis Center!
@kcranstn
http://wssspe.researchcomputing.org.uk/!
Workshop notes at http://bit.ly/wssspe13!
These slides: http://www.slideshare.net/kcranstn/wssspe-cranston-community
2. Communities for sustainable software
Developers
Users
software is
useful & usable
discussion!
help!
feedback
features added;
bugs fixed
3. Extensibility
❖
data management is a generic problem!
❖
iRODS = highly customizable data management solution!
❖
❖
❖
many functions (data access, processing, provenance…)!
uses create policies for specific needs!
over 25 science & engineering domains in user list!
Moore, Reagan M. Extensible Generic Data Management Software. http://
arxiv.org/abs/1309.5372
4. Co-ordination of effort
❖
high-energy physics relies computer modeling!
❖
lack of coordination between projects!
❖
propose:!
❖
develop teams of technical specialists !
❖
target many different architectures!
❖
common scripting language / APIs
Bruhwiler, David; Vay, Jean-Luc; Cameron G. R. Geddes; Koniges, Alice; Friedman,
Alex; P. Grote, David (2013): White Paper on DOE-HEP Accelerator Modeling Science
Activities. http://dx.doi.org/10.6084/m9.figshare.793816
5. Ketan Maheshwari⇤ , David Kelly⇤ , Scott J. Krieder† , Justin M. Wozniak⇤ ,
Daniel S. Katz‡ , Mei Zhi-Gang§ , Mainak Mookherjee¶
User engagement
⇤ MCS
Division, Argonne National Laboratory
† Department of Computer Science, Illinois Institute of Technology
‡ Computation Institute, University of Chicago & Argonne National Laboratory
§ Nuclear Engineering Division, Argonne National Laboratory
¶ Department of Earth and Atmospheric Sciences, Cornell University
❖
Involve scientists in feedback
and improvement!
Abstract—Effective use of parallel and distributed computing
science depends upon multiple interdependent entities and
ctivities that form an ecosystem. Active engagement between
pplication users and technology catalysts is a crucial activity
hat forms an integral part of this ecosystem. Technology catalysts
ay a ❖
crucial role benefiting communities beyond a single user
roup. An effective user-engagement, use and reuse of tools and
chniques has a broad impact on software sustainability. From
ur experience, we sketch a life-cycle for user-engagement activity
scientific computational environment and posit that application
vel reusability promotes software sustainability. We describe
ur experience in engaging two user groups from different
ientific domains reusing a common software and configuration
❖
n different computational infrastructures.
Index Terms—Technology-catalyst, user-engagement, scientific
omputation
‘Technology catalysts’: people
with domain & technical skills
Fig. 1.
Activities and transitions in user engagement cycle.
identify generic software pattern for running common
modern science. In
software on different HPC architecture this experience paper, we report on
following:
1) Experience in scientific community engagement descr
ing activities performed at different levels in order
I. I NTRODUCTION
support scientific users with applications
Maheshwari, K.; D. Kelly, S.J. Krieder, J.M. Wozniak, D.S. Katz, M. Zhi-Gang, M. deployed o
Domain scientists often have limited time to investigate the
new,
Mookherjee. Reusability in Science: From Initial Userlarger and faster systems.
Engagement to Dissemination of
apabilities that a large scale computing and data-handling
2) A sketch and demonstration the elements of a success
Results. http://arxiv.org/abs/1309.1813
frastructure combined with a high performance software
scientific application deployment cycle.
amework could bring to their scientific activities. Technology
6. Make it usable
❖
Good software engineering processes
important!
❖
❖
easier for people to use and contribute!
Service-based business models!
❖
multiple communication channels,
maintenance, training
Hanwell, Marcus; Perera, Amitha; Turner, Wes; O'Leary, Patrick; Osterdahl, Katie; Hoffman,
Bill; Schroeder, Will (2013): Sustainable Software Ecosystems for Open Science. http://
dx.doi.org/10.6084/m9.figshare.790756
7. Hackathons
❖
NESCent = (domain scientists) + (in-house
informatics team)!
❖
Hackathon model:
❖
hands-on coding event with users, researcherdevelopers, software engineers!
❖
Community mailing list critical resource years later
Cranston, Karen; Vision, Todd; O'Meara, Brian; Lapp, Hilmar (2013): A grassroots
approach to software sustainability. http://dx.doi.org/10.6084/m9.figshare.790739
8. Identify gaps
❖
Tools & APIs for access to online data / resources!
❖
Direct collaboration / support for data providers!
❖
Workshops and training for users
Chamberlain, Scott; Hart, Edmund; Ram, Karthik; Boettiger, Carl (2013): rOpenSci - a
collaborative effort to develop R-based tools for facilitating Open Science.!
http://dx.doi.org/10.6084/m9.figshare.791569
9. Good software engineering
❖
More welcoming for developers!
❖
Easier for users to engage / test!
❖
Find common requirements across projects!
❖
Don’t neglect usability !
❖
Open-source software!