CIRAD, Virtual Plants INRIA Team Montpellier, France.
Front Plant Sci. 2012 May 30;3:76. doi: 10.3389/fpls.2012.00076. eCollection 2012.
The study of plant development requires increasingly powerful modeling tools to help understand and simulate the growth and functioning of plants. In the last decade, the formalism of L-systems has emerged as a major paradigm for modeling plant development. Previous implementations of this formalism were made based on static languages, i.e., languages that require explicit definition of variable types before using them. These languages are often efficient but involve quite a lot of syntactic overhead, thus restricting the flexibility of use for modelers. In this work, we present an adaptation of L-systems to the Python language, a popular and powerful open-license dynamic language. We show that the use of dynamic language properties makes it possible to enhance the development of plant growth models: (i) by keeping a simple syntax while allowing for high-level programming constructs, (ii) by making code execution easy and avoiding compilation overhead, (iii) by allowing a high-level of model reusability and the building of complex modular models, and (iv) by providing powerful solutions to integrate MTG data-structures (that are a common way to represent plants at several scales) into L-systems and thus enabling to use a wide spectrum of computer tools based on MTGs developed for plant architecture. We then illustrate the use of L-Py in real applications to build complex models or to teach plant modeling in the classroom.
植物发育的研究需要越来越强大的建模工具来帮助理解和模拟植物的生长和功能。在过去的十年中,L 系统形式主义已经成为建模植物发育的主要范例。这个形式主义的以前的实现是基于静态语言的,即需要在使用变量类型之前显式定义变量类型的语言。这些语言通常效率很高,但涉及相当多的语法开销,因此限制了建模人员的使用灵活性。在这项工作中,我们将 L 系统适应到 Python 语言,一种流行且强大的开源动态语言。我们表明,使用动态语言属性可以增强植物生长模型的开发:(i)通过保持简单的语法,同时允许高级编程结构,(ii)通过使代码执行变得容易并避免编译开销,(iii)通过允许高度的模型可重用性和构建复杂的模块化模型,以及(iv)通过提供强大的解决方案将 MTG 数据结构(表示在几个尺度上的植物的常用方法)集成到 L 系统中,从而能够使用基于为植物结构开发的 MTG 的广泛的计算机工具。然后,我们展示了在实际应用中使用 L-Py 来构建复杂模型或在课堂上教授植物建模。