1 / 52

Summer School „Modelling and Simulation with GroIMP“ / Tutorial for beginners

Summer School „Modelling and Simulation with GroIMP“ / Tutorial for beginners University of Göttingen (Germany), 27-28 September, 2010 Winfried Kurth Introduction to rule-based programming, L-systems and XL. Motivation What are functional-structural plant models (FSPM)? „model triangle“:

goro
Download Presentation

Summer School „Modelling and Simulation with GroIMP“ / Tutorial for beginners

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Summer School „Modelling and Simulation with GroIMP“ / Tutorial for beginners University of Göttingen (Germany), 27-28 September, 2010 Winfried Kurth Introduction to rule-based programming, L-systems and XL

  2. Motivation • What are functional-structural plant models (FSPM)? • „model triangle“: • Linking of botanical structures and functions • (e.g., light interception, water flow) in a • coherent, single model • processes linked to morphological objects • first step: purely structural models statistics aggregated models functional-structural models structural models morphology process models physiology

  3. Motivation for structural models of trees • ecosystem research: • forests as intensively structured life communities • relevant issues: • impact of tree architecture • - on carbon uptake and processing • - on water balance / drought stress robustness • interpretation of patterns of crown damage • simulation: competition, manipulations by foresters

  4. Motivation for structural models of trees • basic research: • - tree crowns (+ root systems) = complex structures • information compression? • - botanical knowledge basis • briding the gap: • practical view in botany/forestry – ecosystem models • - linking of models • demonstration • visualization of future development • virtual landscapes as support tools for planning and • decision

  5. Motivation for structural models of trees • special requirements for modelling of • - light in a stand • - mechanics • - water flux in a tree • - competition • bridge between process models and • botanical observations • common basis for diverse processes in/at the tree • (enhancing the consistency between different models)

  6. Origins, schools, motivations of plant modelling • French school • (Hallé et al.: botany; CIRAD) • tropical forests; agronomy • theoretical biologists (primarily in Great Britain) • theoretical computer science • L-Systems: grammar of shape generation • mathematization • computer graphics • Virtual Reality • efficiency of algorithms

  7. Origins, schools, motivations of plant modelling • forest ecologists and forest practitioners • - single-tree oriented growth models • - heterogeneous stands • - processes  morphological appearance • - ecosystem research • bioclimatologists und biophysicists • - heterogeneity: nonlinear light response of photosynthesis • - tree mechanics, tree hydraulics • entomologists • interaction herbivores – plant structure (agriculture) • CPAI Brisbane

  8. Structural models • 3 levels: • static description of structure • plant at a fixed date (e.g., at 27 September 2010) • dynamic description of structure, non-sensitive • description of development (ontogenesis) of a • plant: • time series of 3-dimensional structures • dynamics, taking causal impacts / conditions into account • (sensitive models) • different paths of development • logical conditions for the decision between them • (simplest case: stochastic)

  9. concerning 1.: static description of structure • two approaches: • tables • each morphological unit of a plant = one row • dtd code = „descriptive tree data“, or mtg code • (b) imperative (command-driven): • „Turtle geometry“ • virtual turtle „constructs“ the structure, • the description are the commands which control it • turtle geometry command language

  10. basis: semi-automatic or automatic digitization • different possibilities: • combination digital caliper - digital compass - • interface software • (Oppelt et al. 2000) • electromagentic probe • (Polhemus Fastrak, cf.Sinoquet et al., Clermont-Ferrand) • ultrasonic probe • mechanical arms • 3-d laser scanner • processing of stereophotos

  11. Example for dtd coding of a real branching system: description (in German) of the dtd code see: http://www.uni-forst.gwdg.de/~wkurth/dtd_code.pdf

  12. The second level of description: • Dynamic description of plant structures • how do plants change during ontogenesis?

  13. The approach of AMAP Atelier de Modélisation de l‘Architecture des Plantes Montpellier, Paris, Beijing (LIAMA) Ph. de Reffye, R. Lecoustre, M. Jaeger, E. Costes, P. Dinouard, F. Blaise, P.-H. Cournède et al. (agronomists, computer scientists, botanists, mathematicians) Modelling the activity of meristems shape of tree = trajectory of its meristems first AMAP version (basis of contemporary commercial software): makes usage of the 23 „architectural models“ (basic patterns) by Hallé et al.

  14. approach for modelling: • shape of tree = trajectory of meristems • primary meristem • branching • secondary meristem • (to be added: • mechanic deformations, deformations with physiological causes, damages, processes of senescence and mortality)

  15. meristem-based modelling approach • Adrian D. Bell 1979: • 3 basic processes • formation of a shoot (growth) • transition to resting state (and new activation) • death • similarly de Reffye 1981: • 3 meristem states • - dormance (sleeping) • croissance (growth) • mortalité (death) • state transitions with probabilities •  binomial distribution, Markov chains

  16. description synthesis multi-scaled graphs (MTG) Axe de référence (AMAPsim, GreenLab) dtd code L-systems, relational growth grammars (Grogra, GroIMP) Göttingen Montpellier

  17. combination 1st + 2nd level of description: morphological measurements mapping branches static encoding Grogra/GroIMP statistical data analysis growth grammar with parameters dynamic Grogra/GroIMP time series of three-dimensional structures graphics other simulation programmes statistical d.a.

  18. The software GroIMP • „Growth-grammar related Interactive Modelling Platform“ • written in Java • download from Sourceforge (free & open source) • rgg files, projects (gsz files) • editor, development environment • window for 3-d view • 2-d (graph) window (hidden!) • attribute view for each object • camera position • navigation • interactive modelling • compiler for the programming language XL

  19. XL: a multi-paradigm language Robert Floyd 1978: Turing Award Lecture "The Paradigms of Programming" Robert W. Floyd (1936-2001)

  20. Ecosystem: behaviour (under certain conditions) organisms describe structure processes determine laws (rules) controlling behaviour calculate effects

  21. Some important paradigms of programming • for numerical simulation of processes: • imperative paradigm • (also: von-Neumann paradigm, • control flow paradigm) John von Neumann (1903-1957)

  22. imperative programming: computer = machine for the manipulation of values of variables (these manipulations can have side effects).

  23. programme = plan for the calculation process with specification of the commands and of the control flow (e.g. loops). example: x = 0; while (x < 100) x = x + 1;

  24. programming languages which support imperative programming: Fortran, Pascal, C, ..., parts of Java, ..., command language of turtle geometry

  25. Turtle: goes according to commands

  26. F0

  27. F0

  28. F0 RU(90)

  29. F0 RU(90)

  30. F0 RU(90) F0

  31. F0 RU(90) F0

  32. F0 RU(90) F0 RU(90) LMul(0.5) F0

  33. F0 RU(90) F0 RU(90) LMul(0.5) F0

  34. object-oriented paradigm computer = environment for virtual objects programme = list of (object) classes, i.e. general specifications of objects, which can be created and destroyed at runtime. programming languages: Smalltalk, Simula, C++, Java, ...

  35. Inheritance of attributes and methods from superclasses to subclasses example: public class Car extends Vehicle { public String name; public int places; public void show() { System.out.println("The car is a " + name); System.out.println("It has " + places + "places."); } } typical: classes (Car) with data (name, places) and methods (show)

  36. usefulness of object hierarchies in biology for example: organ leaf flower internode root segment broad leaf needle coarse r.s. fine r.s.

  37. rule-based paradigm computer = machine transforming structures There is a current structure (in XL: a graph) which is transformed as long as it is possible. Work process: search and application.matching: search for a suitable rule, rewriting: application of the rule, thereby transformation of the structure. programme = set of transformation rules to find a programme: specification of rules. programming languages: L-system languages, AI languages, Prolog, ...

  38. Example: a graph grammar rule:

  39. Example: a graph grammar rule: application:

  40. Dynamical description of structures L-systems (Lindenmayer systems) rule systems for the replacement of character strings in each derivation step parallel replacement of all characters for which there is one applicable rule by A. Lindenmayer (botanist) introduced in 1968 to model growth of filamentous algae Aristid Lindenmayer (1925-1989)

  41. L-systems mathematically: • a triple (, , R) with: • a set of characters, the alphabet, • a string with characters from , the start word (also "Axiom"), R a set of rules of the form character  string of characters; with the characters taken from .

  42. A derivation step (rewriting) of a string consists of the replacement of all of its characters which occur in left-hand sides of rules by the corresponding right-hand sides. Convention: characters for which no rule is applicable stay as they are. Result: Derivation chain of strings, developed from the start word by iterated rewriting. • 123 ....

  43. Example: alphabet {A, B}, start word A set of rules: A  B B  AB A

  44. Example: alphabet {A, B}, start word A set of rules: A  B B  AB B

  45. Example: alphabet {A, B}, start word A set of rules: A  B B  AB AB parallel replacement

  46. Example: alphabet {A, B}, start word A set of rules: A  B B  AB BAB

  47. Example: alphabet {A, B}, start word A set of rules: A  B B  AB BAB

  48. Example: alphabet {A, B}, start word A set of rules: A  B B  AB ABBAB

  49. Example: alphabet {A, B}, start word A set of rules: A  B B  AB derivation chain: A  B  AB  BAB  ABBAB  BABABBAB  ABBABBABABBAB  BABABBABABBABBABABBAB  ...

  50. still missing for modelling biological structures in space: a geometrical interpretation Thus we add: a function which assigns to each string a subset of 3-D space „interpreted“ L-system processing 123 ....  S1S2S3 .... S1, S2, S3, ... can be seen as developmental steps of an object, a scene or an organism.

More Related