RCP | Science IWG

Die Zeit ist reif für eine gemeinsame, Eclipse-basierte Plattform für die Wissenschaft

Philip Wenig
©Shutterstock/BornToBe

Es ist kaum zu leugnen, dass die Eclipse-Plattform im Bereich der Anwendungsentwicklung eine überaus wichtige Rolle spielt. Ihr Einfluss wächst auch in anderen Bereichen immer weiter, nicht zuletzt dank der zahlreichen Industriearbeitsgruppen (IWG). Es drängt sich also die Frage auf, weshalb es für den wissenschaftlichen Bereich noch keine einheitliche Eclipse-basierte Plattform gibt. Eine Antwort darauf und einen Ausblick auf das, was noch kommen mag, gibt der folgende Artikel.

Zugegeben: Eine Plattform zu kreieren, die alle wissenschaftlichen Bereiche adressieren könnte, wäre, gelinde gesagt, vermessen. Es wäre die Antwort auf die Frage aller Fragen, die Weltformel, der Turmbau zu Babel, mit anderen Worten: utopisch. Denn wenn die Sachen erst einmal einen gewissen Komplexitätsgrad erreicht haben, wird es ungemütlich. Wie sehr wünscht man sich da die guten alten Zeiten zurück, in denen die Disziplinen klar umrissen und die wissenschaftlichen Riegen noch von einigen wenigen Universalgelehrten geprägt waren. Aber die Zeiten sind nun einmal unwiederbringlich vorüber. Zwar gibt es auch heutzutage noch vereinzelt solche Genies – Stephen Hawking, Noam Chomsky und die hier unerwähnten Generalisten lassen grüßen. Im Großen und Ganzen hat sich das Bild aber stark gewandelt. IBM mag in seinem Wunderkind Watson [1] den nächsten großen Universalgelehrten sehen, und in der Tat ist die von dem KI-System erbrachte Leistung erstaunlich. Doch ob IBMs Rechnung wie geplant aufgehen wird, darf nach den Darstellungen von Joseph Weizenbaum [2] bezweifelt werden.

Die Lage ist also komplizierter als gedacht. Und wer kennt sich schon gleichzeitig in der Naturstoffchemie, der Quantenphysik und dem Compilerbau hervorragend aus? Wohl kaum jemand. Naheliegend wäre es, sich auf genau das Fachgebiet zu konzentrieren, das man besonders gut beherrscht. Tatsächlich scheint genau das momentan zu passieren. Diese Entwicklung wird sehr eindrucksvoll von Atul Gawande [3] beschrieben. Was allerdings nicht vergessen werden sollte: Wir sind trotz dieser zunehmenden Spezialisierung auf eine immer stärkere Zusammenarbeit mit anderen angewiesen, um unsere eigenen Aufgaben erfolgreich erledigen zu können. Der Trend zu interdisziplinärem Arbeiten nimmt zwangsläufig zu.

Ein Beispiel: Wenn ich eine Bibliothek zur Berechnung des Mittelwerts und Medians einer Datenreihe benötige, möchte ich das Rad nicht neu erfinden. Das Schreiben einer solchen Bibliothek sollte ja noch relativ flott von der Hand gehen. Steht aber eine Hauptkomponentenanalyse oder eine Lösung komplexer Differentialgleichungen an, so wird die Sache schon kniffliger. Zum Glück befinden wir uns heutzutage in der vorteilhaften Situation, eine Vielzahl an Bibliotheken für unterschiedliche Zwecke erproben und kostenlos nutzen zu können – nicht zuletzt dank derer, die sich dem Open-Source-Gedanken verpflichtet fühlen. Eine Situation, die in einer von proprietärer Software dominierten Welt undenkbar wäre. Was indes bleibt, ist die Schwierigkeit, die gewünschten Bibliotheken in die eigene Anwendung zu integrieren, ein Problem, das man mit proprietärer Software natürlich nicht weniger hätte. Ein weiterer großer Nachteil der Open-Source-Lösung: Man muss sich darauf verlassen, dass die Bibliothek extern weiterhin gepflegt wird. Sollte dies nicht der Fall sein, ist die Funktionalität entweder soweit ausgereift, dass sie keiner weiteren Pflege bedarf, oder der Entwickler bzw. das Entwicklerteam hat sich einer anderen interessanten Aufgabe gewidmet. Wir könnten uns also den Quellcode besorgen und die entsprechenden Änderungen selber durchführen. Theoretisch spräche nichts dagegen, wäre da nicht das bereits angesprochene Problem mit den Generalisten und den Spezialisten: Ich würde es mir nicht zutrauen, Änderungen an einer Mathematik-Statistik-Bibliothek durchzuführen. Dafür bin ich aber ziemlich gut darin, Daten der Chromatographie/Massenspektrometrie zu bearbeiten. Hierzu habe ich mir mit OpenChrom [4] eine Software auf Basis der Rich-Client-Platform (RCP) geschaffen, um effizient arbeiten zu können (Lesetipp).

In der Ausgabe 1.13 des Eclipse Magazins lesen Sie mehr über die Entstehung, Grundlagen und Ziele der Software OpenChrom in Philip Wenigs Artikel „CSI und RCP – die Chemie stimmt“.

Bleiben wir im wissenschaftlichen Bereich. Es ist erstaunlich festzustellen, wie viele Arbeitsgruppen und Forscher die Rich Client Platform hier als Basis für ihre eigenen Anwendungen nutzen. Bioclipse [5], eine Plattform für den bio- und chemoinformatischen Bereich, ist sicher einigen Lesern geläufig. Auch andere großartige Projekte wie Bio7 [6], DAWN [7], KNIME [8] oder uDig [9] sollten nicht unerwähnt bleiben. Viele weitere interessante Projekte mit wissenschaftlichem Fokus basieren auf der RCP. In Tabelle 1 sind einige bekannte Open-Source-Projekte und in Tabelle 2 einige proprietäre Projekte aufgelistet. Wer hat zum Beispiel gewusst, dass Mathematica [10] auch auf der Rich-Client-Platform basiert? Umso mehr drängt sich die Frage auf, warum es noch keine Bestrebungen gibt, eine einheitliche Plattform als Basis für den wissenschaftlichen Bereich zu schaffen. Der größte gemeinsame Nenner der aufgeführten Anwendungen ist die Visualisierung von Prozess- und Messdaten. Aber auch eine Anbindung des Statistikpakets „R“ [11] sowie die Zusammenarbeit mit anderen, bereits bestehenden Industriearbeitsgruppen wie der LocationTech [12] oder der M2M [13] IWG sind interessante Optionen und sicher eine Bereicherung. Darüber hinaus würde die Common Build Infrastructure (CBI) der Eclipse Foundation ein zuverlässiges und einheitliches Bauen von Projekten ermöglichen. Eclipse bietet sich daher als Basis zum Aufbau einer wissenschaftlichen Plattform an. Durch die bewusst wirtschaftsfreundliche Ausrichtung der Eclipse Foundation werden beteiligte Unternehmen ermutigt, in die Basisplattform zu investieren. Dadurch soll das Problem der bereits aufgezeigten langfristigen Pflege von Bibliotheken adressiert werden. Darüber hinaus bieten die Modularität und eine Open-Source-Lizenzierung genau die Flexibilität, die im wissenschaftlichen Bereich zur Lösung von teils sehr speziellen Problemen benötigt wird.

 

Projekt

Bereich

Beschreibung

Atomic

Linguistik

Erforschung der Sprache

Bioclipse

Bioinformatik, Chemie

DNA, RNA und Proteinanalyse

Bio7

Biologie, Ökologie

Modellierung von Ökosystemen

Control System Studio

Physik

Anlagensteuerung

DAWN

Physik

Synchroton Datenauswertung

GDA

Physik

Synchroton Datenauswertung

GumTree

Physik

Synchroton Datenauswertung

KNIME

Biologie, Chemie

Datenanalyse und Reporterstellung

Maltcms

Chemie

Stoffwechselforschung

NiCE

Physik

Datenanalyse und Modellierung

OpenChrom

Chemie

Spurenanalytik und Qualitätskontrolle

openMASP

Chemie

Wasseranalytik und Risikoforschung

Passerelle

Physik

Datenfluss- und Prozesskontrolle

RCE

Physik

Simulation komplexer Systeme

STEM

Biologie, Epidemiologie

Modellierung von Epidemien

uDig

Geologie

Karten und Geoinformationssysteme

Tabelle 1: Alphabetische Auflistung einiger Open-Source-RCP-Projekte, die entsprechenden Links zu den Projekten finden sich unter [14]

Projekt

Bereich

Beschreibung

IDL Development Environment

Visualisierung

Darstellung komplexer Daten

Mathematica

Mathematik

Verarbeitung von Gleichungssystemen

Nsight Eclipse Edition

Visualisierung

Programmierung von Grafikprozessoren

OpenflowSuite

Geologie, Petrochemie

Exploration von Bodenschätzen

Tabelle 2: Alphabetische Auflistung einiger proprietärer RCP-Projekte, die entsprechenden Links zu den Projekten finden sich unter [14]

Insbesondere die Modularität der Eclipse-Plattform ermöglicht und vereinfacht auf diese Weise ein interdisziplinäres Arbeiten. Als Spezialist kann man sich somit einerseits zur Lösung der Fragestellungen auf das eigene Fachgebiet konzentrieren, ist durch das OSGi-basierte Modulsystem andererseits aber so flexibel, sich über definierte Schnittstellen mit anderen Spezialisten austauschen zu können. Mittels einer gemeinsamen Codebasis könnte es in Zukunft Eclipse für Biologen, Physiker und Chemiker und auf spezielle Einsatzzwecke zugeschnittene Lösungen geben (Abb. 1). Daher besteht momentan seitens mehrerer beteiligter Entwickler und Organisationen der klare Wunsch, eine gemeinsame Plattform und eine Industriearbeitsgruppe für den naturwissenschaftlichen Bereich zu gründen und zu etablieren [14].

 Abb. 1: Darstellung eines möglichen Szenarios der Zusammenarbeit verschiedener Entwickler und Projekte in der Industriearbeitsgruppe Wissenschaft

Fazit

Glaubt man den Ankündigungen von IBM, so ist Watson der nächste große Universalgelehrte unserer Zeit. Abgesehen von der beeindruckenden Leistungsfähigkeit des Systems sind jedoch Zweifel an den gesteckten Zielen angebracht. Trotzdem befinden wir uns aber in einer Zeit, in der zwar die Notwendigkeit zur Spezialisierung zunimmt, aber gleichzeitig interdisziplinäres Arbeiten an Bedeutung gewinnt. Wir müssten also Generalisten und Spezialisten in Personalunion sein, was sich natürlich gegenseitig ausschließt. Wenn hochspezialisiertes Arbeiten das Ziel ist, nehmen daher Flexibilität und Stabilität einen immer höheren Stellenwert ein. Die Komplexität, die mit dem Einsatz eines Softwaresystems und der Rekombination vorhandener Lösungen einhergeht, darf dabei nicht unterschätzt werden. Meist liegt der eigentliche Fokus zudem auf der Lösung eines sehr speziellen Problems. Genau hier soll mit der Gründung einer Industriearbeitsgruppe für den naturwissenschaftlichen Bereich Abhilfe geschaffen werden. Die Eclipse-Plattform ist für diesen Zweck geradezu ideal geeignet, und eine gemeinsame Basis unterschiedlicher Fachrichtungen würde den Austausch von Know-how deutlich vereinfachen. Eine Plattform zur Beantwortung der Frage aller Fragen werden wir sicher nicht erstellen können. Aber vielleicht schaffen wir es ja, in nicht allzu ferner Zukunft ein Eclipse-Release für Wissenschaftler zur Verfügung zu stellen.

Aufmacherbild: electrical engineer in working suit von Shutterstock / Urheberrecht: BornToBe

Geschrieben von
Philip Wenig
Philip Wenig
Dr. Philip Wenig ist Gründer der Open-Source-Software OpenChrom (http://www.openchrom.net) und Geschäftsführer der Lablicate UG (http://lablicate.com). Er beschäftigt sich hauptsächlich mit der Entwicklung von Software für den Bereich der Chromatographie und Massenspektrometrie (GC/MS). Darüber hinaus beteiligt sich seine Firma Lablicate UG aktiv an der Science Working Group (WG) der Eclipse Foundation (http://science.eclipse.org).
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.