An exploration of convergent evolution in academia: Why ecosystem ecologists and biogeochemists should think about the tools of software engineering Robert A. Payn, Dept. of Land Res. & Environmental Sci. Clemente Izurieta, Computer Science Department Geoffrey C. Poole, Dept. of Land Res. & Environmental Sci. Montana State University and Montana University System Institute on Ecosystems 2015 Annual Meeting of the Society for Freshwater Science Milwaukee, Wisconsin, USA Thursday, 21 May, 10:45 – Room 102C An exploration of convergent evolution in academia: Why ecosystem ecologists and biogeochemists should think about the tools of software engineering Robert A. Payn, Dept. of Land Res. & Environmental Sci. Clemente Izurieta, Computer Science Department Geoffrey C. Poole, Dept. of Land Res. & Environmental Sci. Montana State University and Montana University System Institute on Ecosystems 2015 Annual Meeting of the Society for Freshwater Science Milwaukee, Wisconsin, USA Thursday, 21 May, 10:45 – Room 102C An exploration of convergent evolution in academia: Why ecosystem ecologists and biogeochemists should think about the tools of software engineering Robert A. Payn, Dept. of Land Res. & Environmental Sci. Clemente Izurieta, Computer Science Department Geoffrey C. Poole, Dept. of Land Res. & Environmental Sci. Montana State University and Montana University System Institute on Ecosystems National Science Foundation EPSCoR Track-1 program under grant # EPS-1101342. 2015 Annual Meeting of the Society for Freshwater Science Milwaukee, Wisconsin, USA Thursday, 21 May, 10:45 – Room 102C Software Engineering Lab Fluvial Landscape Lab Timberlake Observatory Wetland National Science Foundation grant # DEB-1021001 Convergence in ecosystem and information sciences: Same ontology... different semantics... Ecosystem ecology System component Structure Function Tansley 1935 Integrate abiotic and biotic controls on plant succession Software engineering UML Class Attributes Methods Dahl and Nygaard ca. 1965 “In silico” simulation of complex systems Two kinds of ontological hierarchies in UML Inheritance More abstract class Structure Function More specific class UML example of inheritance in benthos Inheritance Diptera “Tipula is a Dipteran” Tipula UML example of inheritance in benthos Diptera “Tipula is a Dipteran” Amphipoda “Gammarus is an Amphipod” Tipula Gammarus UML example of inheritance in benthos “Tipula is an Arthropod” Diptera “Tipula is a Dipteran” Arthropoda “Gammarus is an Arthropod” <<interface>> Shredder <<interface>> Collector Shred method Collect method Tipula “Tipula is a Shredder” “Gammarus is a Shredder” “Gammarus is a Collector” Amphipoda “Gammarus is an Amphipod” Gammarus UML example of inheritance in biogeochemistry Microbe Heterotroph <<interface>> Aerobe reduceO2() Obligate Aerobe Facultative Denitrifier <<interface>> Nitrate Reducer Autotroph reduceNO3() Nitrifier Two kinds of ontological hierarchies in UML Inheritance More abstract class Composition Composite class Component class Structure Function “... is a ...” More specific class “... has a ...” Component class Biosphere UML example of composition in biology Ecosystem Biological composite Organism Biological component Organ Tissue Cell UML example of composition in biology BioComponent BioLeaf BioComposite Biosphere Ecosystem Organism Organ Tissue Cell UML example of composition in cross-disciplinary models Computer file system folder folder file folder file Biosphere Ecosystem Composite “pattern” Component Leaf Composite Organism Organ Tissue Cell Examples in literature BioSystems 2005 Briefings in Bioinformatics 2009 Take home messages (even if you never write code) Inheritance Clearer definitions of structural or functional hierarchies Composition Composite class More abstract class Component class Structure Function “... has a ...” “... is a ...” More specific class Component class Composite pattern Clearer abstractions of repeated pattern across nature Component Leaf Composite Biosphere Ecosystem Organism Organ Tissue Cell