HomeNews and blogs hub

EclipseCon France 2015

Bookmark this page Bookmarked

EclipseCon France 2015

Author(s)
Boris Adryan

Boris Adryan

SSI fellow

Posted on 21 July 2015

Estimated read time: 6 min
Sections in this article
Share on blog/article:
Twitter LinkedIn

EclipseCon France 2015

Posted by s.hettrick on 21 July 2015 - 4:43pm

By Boris Adryan, Fellow of the Software Sustainability Institute

The Eclipse Foundation is an open-source community and home to tools that primarily revolve around software development. Their most well-known project is the Eclipse IDE, which has become the standard integrated development environment for Java programmers. Eclipse is a broad church, however, and provides a platform for collaborative projects reaching from software (writing) to interest groups (talking).

At the Software Sustainability Institute's "Selection Day 2014" I met Tracy Miranda from Kichwa Coders, a small software consultancy that works closely with DAWNScience, an open-source data science project developed at the Diamond Light Source by my co-fellow Mark Basham and others. Tracy is not only a superb developer, but also heads the relatively new Eclipse Science interest group. So far Eclipse Science only has a few projects in their portfolio (for example DAWNScience), but the contributors face much of the same challenges that the Software Sustainability Institute has recognised. Thus, the Eclipse Foundation asked me to wear my academic hat and that of the Institute's Fellows, and invited me to give a talk on "Better Software Better Research." and the mission of the Software Sustainability Institute. The slides of my talk are online and in the following I'm going to summarise a number of insights I gained at the conference.

On Day 1 of EclipseCon I visited the How to reuse the DAWNScince Eclipse Project and Advanced graphical editors for domain-specific languages workshops. Both workshops were advertised as entry level beginner sessions, but in absence of any deeper experience with the Eclipse IDE, I spent much of the time just marvelling about the possibilities of modern software development. For example, it is possible to embed "the exciting pieces" of DAWNScience in your own software, without too much knowledge of the underlying code but using public methods that can easily be invoked.

A great opener to the presentations at EclipseCon was Tom Raftery with a talk on why he doesn't believe in an upcoming energy crisis. Not to worry, this wasn't some climate change-denying rant, but an outlook on how improvements in technology may eventually even lead to an overabundance of electrical energy. For example, the price for solar energy has come down from ~$80/watt in 1977 to less than $1/watt in 2013, the overall tendency still falling. Tom predicted that the exchange of information about the local production and demand of electricity will lead to "Uber-like energy brokers" that are going to use the batteries of electric cars as short-term buffers of energy. Tom's talks are known to be well referenced and this one can be found on SlideShare.

The first talk in the Science Track was System testing scientific software by Torkild Resheim. He works as a programmer for a company that provides simulations for the oil & gas industry. On the example of which forces act on the anchors of oil rigs in rough sea he explained the issue: Often scientific programmers can write unit tests for small parts of the code, but to test the overall behaviour of software one requires detailed domain-specific knowledge. How can one implement a "unit test" that takes into account the entire vertical of software components in such complex simulation, especially when one is not the actual programmer? Torkild demonstrated Eclipse products that allow the definition of a "grammar", a user-defined macro language that can be used to automate the parametrisation of the simulation and produces reports with critical outputs for the scientists to check. If you want to know more about DSL, xtxt and ANTLR (yes, they love their acronyms), have a look at Torkild's slides.

On Day 2 the Science Track was opened by my talk about the Software Sustainability Institute. On examples from my own academic career I showed why the Institute is needed: I showed "typical bad practices" in scientific software development - coding with just an ad-hoc solution in mind, usually only little re-usable code, no or meaningless comments, but also references to "custom-written Perl scripts" with no code deposition or the difficulties keeping good programmers in academic teams. I concluded with the following: The Software Sustainability Institute does a great job addressing training, policy and awareness for good scientific software in the UK, but our reach is only national. The Eclipse Foundation however has world-wide reach, but no strategic goals yet how to further good practice in scientific software development. We need to build on this first contact between both institutions and leverage each other's strengths in the implementation of our mission.

The third talk on the Science Track introduced Instrumentino, a Python framework including a graphical user interface for the control of Arduino-based experimental setups. While these are rare in the biomedical sciences, it seems that chemical engineers around the world have started tinkering with embedded systems to control their experiments. Not everyone wants to interact directly with a microcontroller, so this is where Instrumentino allows higher-level Python procedures and the user interface to access the data.

Last but not least the Science Track concluded with Integrating Python and Java in Eclipse. This demonstration by the Kichwa Coders showed how scientists at the Diamond Light Source can use the Java-based DAWNScience and over a well-defined interface have access to Java objects in Python and vice-versa. With the Eclipse IDE and the PyDev-plugin for Eclipse it is possible to explore the properties of such objects and have a transparent exchange of data without having to manually extract, save and reload data when moving from one language to the other. Many scientific workflows rely on the combination of different software tools, and I can see how such solutions can minimise issues with rawfile1.txt, raw_file_1-after-doingX.txt, raw_file_normalised--doingX_prep.csv etc. From a technical perspective, I came as Eclipse skeptic but left as a friend: The Eclipse community is strong and active, and many development tools like PyDev or Architect (Eclipse-integration for R) make their IDE a powerful tool for data analysis.

Eclipse Science is a young project and the team behind it is motivated to leverage the power of the Eclipse Foundation to make their interest group a success. Benefits of having a project on Eclipse comprise, amongst many other things, legal advice on software IP, licensing and commercialisation, which is the day-to-day business of Eclipse: collating and quality checking of code, providing free-of-charge access to software, while supporting those who develop by facilitating contacts to industry partners etc. So if your project is mature enough to be deployed through Eclipse, you may want to give Tracy Miranda a shout.

Share on blog/article:
Twitter LinkedIn