Component-based, multi-scaled functional-structural plant modelling in the language XL
Final Report Abstract
Funktions-Struktur-Modelle von Pflanzen decken oft mehrere Skalenebenen ab – z.B. metabolisches Netzwerk, Organ (Blatt), Individuum, Bestand. Als Bestandteil der auf die Pflanzenmodellierung zurechtgeschnittenen, regelbasierten Sprache XL wurde ein auf den mathematischen Konzepten von partiell geordneten Mengen und attributierten Graphen beruhender Formalismus entwickelt, der eine sehr allgemeine Behandlung solcher strukturellen Skalenebenen in Simulationsmodellen erlaubt. Vorteile gegenüber bisherigen Ansätzen aus der Literatur (insbes. OpenAlea) sind die Unterstützung beliebiger Graphstrukturen (nicht nur Bäume) und beliebiger Skalenstrukturen (auch mit simultanen Verfeinerungen nach unterschiedlichen Kriterien, z.B. Einteilung eines Kronendaches in Baumindividuen und alternativ in Höhenschichten). Entsprechende Datenstrukturen, Graph-Transformationsregeln und Import-/Export-Funktionen für codierte Pflanzenstrukturen (sog. MTG-Datenformat) wurden in die Sprache XL (eine Java-Erweiterung) und in das Entwicklungswerkzeug GroIMP (Growth-grammar related Interactive Modelling Platform) integriert, welches als Open-Source-Software frei verfügbar ist. Ein anderes Problem bei anspruchsvolleren Struktur-Funktions-Modellen ist die Komplexität der Modellstrukturen selbst, in der man am besten Übersicht gewinnt, wenn man das Modell in funktionale Komponenten zerlegt. Durch eine komponentenorientierte Softwareentwicklung werden nicht nur die Transparenz des Codes und die Dokumentation verbessert, sondern auch die Reproduzierbarkeit und Austauschbarkeit von (Teil-)Modellen und die Vergleichbarkeit der Ergebnisse unterschiedlicher Modelle, die zum Teil standardisierte Komponenten für häufig wiederkehrende Funktionen (z.B. Strahlungshaushalt in Pflanzenbeständen, Photosynthese, Blattwachstum) enthalten könnten.Wir haben damit begonnen, die Sprache XL um Konstrukte zu erweitern, die komponentenorientiertes Arbeiten unterstützen. Außerdem wird die Plattform GroIMP durch interaktive Bestandteile erweitert, die ein graphisches Zusammenfügen und Testen von Komponenten ermöglichen ("visuelle Programmierung"). Im Gegensatz zu existierenden komponentenorientierten Entwicklungswerkzeugen gewährleisten wir aber jederzeit auch Zugriff auf den Programmcode, welcher simultan zur graphischen Bearbeitung eines Modellierungsprojekts ständig automatisch aktualisiert wird. Welche Art von Komponenten in der Funktions-Struktur-Modellierung von Pflanzen wichtig sind und wie sie dort typischerweise verknüpft sind, entnimmt man am besten existierenden, bereits bewährten Modellen. Wir haben mit den Entwicklungsteams zweier solcher einschlägiger Modelle (eigentlich schon Modellfamilien), GreenLab und LIGNUM, zusammengearbeitet und die Modelle auf unserer Plattform nachimplementiert, um ihre Struktur besser zu verstehen und sie vergleichbar zu machen. Dabei haben sich interessante Einsichten ergeben. Zum Beispiel lässt sich die effizienzsteigernde Methode der structural factorization, die GreenLab verwendet, um vielfach auftauchende Substrukturen kompakt zu speichern und zu bearbeiten, im Rahmen des regelbasierten Programmierens mit sogenannten Instanzierungsregeln umsetzen. Auch hat sich der Graphtransformations-Ansatz unserer Programmiersprache XL bewährt, um die grundlegenden Regeln und Algorithmen der beiden Modelle in adäquater Form auszudrücken. Man kann sagen, dass die neue, regelbasierte Implementation beider Modelle viel intuitiver ist. Zukünftige Arbeiten werden den weiteren Ausbau des Komponentensystems von GroIMP und die Anbindung zusätzlicher Modellierungs- und Analysewerkzeuge betreffen. So soll ein von unserem Kooperationspartner an der Ecole Centrale (Paris) entwickeltes Werkzeug zur Parameterschätzung direkt mit GroIMP verbunden werden. Auch der Test des multiskalierten Ansatzes an Beispielszenarien mit zahlreichen involvierten Skalenebenen – von der Zelle bis zu überregionalen Gradienten von Stoffkonzentrationen – wurde gerade erst begonnen. Wir hoffen, damit den ständig wachsenden Erfordernissen nach anwendungstauglichen und zugleich transparenten Werkzeugen für die Modellierung pflanzenökologischer Prozesse und Szenarien nachzukommen.
Publications
- (2012): Multi-scale rule-based graph transformation using the programming language XL. In: H. Ehrig, G. Engels, H.-J. Kreowski, G. Rozenberg (eds.): Graph Transformations. 6th International Conference, ICGT 2012, Bremen, September 2012, Lecture Notes in Computer Science 7562, Springer, Berlin etc. 2012, 417-419
Yongzhi Ong
- (2012): Parallel graph grammars with instantiation rules allow efficient structural factorization of virtual vegetation. In: R. Echahed, A. Habel, M. Mosbah (eds.): The Fourth International Workshop on Graph Computation Models (GCM 2012), Bremen, 28. - 29. 9. 2012, Proceedings
Katarína Smoleňová, Winfried Kurth, Paul-Henry Cournède
- (2012): Rule-based integration of GreenLab into GroIMP with GUI aided parameter input. In: M. Kang, Y. Dumont, Y. Guo (eds.): 2012 IEEE 4th International Symposium on Plant Growth Modeling, Simulation, Visualization and Applications (PMA12), Shanghai, 31. 10. - 3. 11. 2012, IEEE Press, Beijing 2012, 347-354
Katarína Smoleňová, Michael Henke, Winfried Kurth