Ten things we would do differently today: Reflections on a decade of ALMA software development

This is the title of an outstanding presentation given by Brian Glendenning and his team at the recent SPIE meeting in Montreal, Canada (June 22 -28, 2014).  The ALMA software has been an impressive effort over 12+ years,  involving 100 staff (peak effort) at 12 sites on 4 continents. This effort has resulted in 60M+ lines of code, and a significant increase in the world’s coffee consumption.  The high level architecture, with the archive at its center, is shown below for context:


Here are the ten lessons, with a few notes:

#1 It’s alive – keep the architecture process going.

  • Always have a Chief Architect and analysis group on staff until the end of construction.
  • Keep the distributed teams in contact.

#2 There’s only one ALMA array – wishing for improved simulation capabilities.

  • Make the simulations a project deliverable.

#3 Keep it simple – things become more complicated anyway, but never simpler.

#4 Take all factors into account – why XML databases failed on us.

  • …and they failed because XML documents were stored without schema validation, which caused a maintenance nightmare and made searching slow.

#5 Go mainstream – avoid niche solutions.

#6 Many small pains are easier to deal with than few big ones – deliver software more often.

#7 Testing ain’t easy – don’t believe that one small team can do it all.

  • In particular, involve stakeholders in testing and and have a software release manager lead the delivery process.

#8 One for all doesn’t always work – hardware access must be easy.

#9 Commissioning comes before operations – transient and steady state are very different!

#10 Look who’s looking – GUIs are for the users.


“Ten things we would do differently today: Reflections on a decade of ALMA software developmen”t by B. Glendenning, E. Schmid, G. Kosugi, J. S. Kern. J. Ibsen, M. watanabe, M. Chavan, M. Griffith, R. Soto. Paper 9152-55, in “Software and Cyberinfrastructure for Astronomy III.” SPIE Astronomical Telescopes + Instrumentation 2014 in Montréal, Quebec, Canada. I wish to thank the authors for making the slides available to me.

Posted in ALMA, archives, astroinformatics, Astronomy, Computing, cyberinfrastructure, data archives, DBMS, High performance computing, informatics, information sharing, Operations, programming, Scientific computing, software engineering, software maintenance, software sustainability | Tagged , , , , , , , , , , | Leave a comment

National Data Service Animation

Following on from yesterday’s post, Here is an animation that shows the goals of the National Data Service:

Posted in astroinformatics, Astronomy, computer modeling, Computing, computing videos, cyberinfrastructure, data archives, Data Management, databases, Grid Computing, informatics, information sharing, Open Access, programming, Scientific computing, social media, social networking, software engineering, software maintenance, software sustainability, Web 2.0 | Tagged , , , , , , , , , , | Leave a comment

Introduction to the National Data Service Consortium

This week, I am attending the National Data Service (NDS) Consortium workshop, hosted by the National Center for Supercomputing Applications (NCSA) at the National Center for Atmospheric Research (NCAR) in Boulder, CO on June 12 and 13 2014.  The NDS is, to quote from the web page an “emerging vision of how scientists and researchers across all disciplines can find, reuse, and publish data. It is an international federation of data providers, data aggregators, community-specific federations, publishers, and cyberinfrastructure providers. It builds on the data archiving and sharing efforts under way within specific communities and links them together with a common set of tools.”

Approximately 60 people representing many data intensive fields are attending, and I will be writing about the workshop’s festivities.  To start, you can find a collection of position papers here. I would recommend starting with The National Data Service: a vision for accelerating discovery through data sharing, v1.3.1, by Ed Seidel et al. A good primer, though, is a set of four slides that I will reproduce here:




Posted in astroinformatics, Astronomy, Cloud computing, computer modeling, cyberinfrastructure, data archives, Data Management, Data mining, education, Grid Computing, High performance computing, informatics, information sharing, Internet, knowledge based discovery, On-line Journals, Open Access, publishing, Scientific computing, social media, social networking, software engineering, software maintenance, software sustainability, Web 2.0 | Tagged , , , , , , , , , , , , , , , | Leave a comment

Why Do We Still Have Journals?

This the title of an editorial essay by Gerald Davis (Stephen M. Ross School of Business, University of Michigan), in Administrative Science Quarterly. His essay was concerned with journals in social science, but I think many of the issues he raises are relevant to astronomy as well.

In our age of instant communication,  many consider traditional journals as dinosaurs, even when the papers are published on-line. Davis devotes a section to this: his list of “What’s The Matter With Journals?” will look familiar:

  • Peer review is slow and papers may not appear in print until a year after submission.
  • Journals are generally expensive.
  • Some elite journals exercise disproportionate influence over the direction of a field.
  • Publication tallies as the basis for career advancement can create incentives for bad science.
  • A rigid publication schedule (driven the need to deliver print copies) is out of synch with the timescale on which knowledge is produced.

The internet age has enabled new, rapid approaches to publication that come with their own consequences and pathologies:

  • Low barriers to entry have led to a proliferation of journals of dubious provenance.
  • The proliferation of papers makes it hard to find the right papers to read.
  • “Impact factors” assessing the importance of journals can be gamed.
  • Legitimate exercises in fast publication models – such as the Public Library of Science, described as “noble experiments” by Davis, are more platforms for sharing articles, with assessment of value following afterwards.

In the light of these consequences and pathologies, Davis argues that traditional journals retain an essential role, as follows (author’s emphasis):

“At their best, journals accomplish three things: certifying, convening, and curating. Certifying is what the review process does, validating articles as hav-ing made it through a vetting process (however organized). Convening means that specific journals are able to bring together interested and engaged scholars in a way that the abstract endeavor of organizational scholarship cannot. The membership of the editorial board reflects a journal’s ability to attract the volun- ary and mostly anonymous labor of outstanding scholars. Ideally, scholars will regard a journal as a community (but not a club). Curating suggests that what is published in a particular journal is likely to be worth reading. In a field in which 8,000 or more papers are published every year, it is helpful to have the assur- ance that papers in a specific journal will be worth your time.”


“Journals can also serve a civilizing function. Through their editorial practices, journals can enhance the legibility of arguments and findings. Graduate pro- grams rarely teach students how to write well, and good scientists are not always good writers. (Many of us believe that our Stata output ought to speak for itself and that the words surrounding the tables are mostly ornamental.) Although many journals have dispensed with the close editing of articles entirely, those that continue to do so serve a civilizing function by training new authors in how to write for an audience. “


Posted in astroinformatics, document management, informatics, information sharing, Internet, Journals, On-line Journals, Open Access, Peer review, publishing, social media, social networking, Uncategorized | Tagged , , , , , , , | Leave a comment