Post on 19-Dec-2015
Building Artificial Ecosystems with Safariya
By Karel P. Bergmann
CPSC 502 Final Presentation
Agave Perryi in bloom
Outline
• Project Goals• System Description
– Architecture– Safariya Core– Safariya Interface– World Files– Species Files
• All Together• Recurring Configurations• Summary Kolob Canyon (Utah)
Project Goals
• Simulator for ecosystem-level interactions
• Interactions between organisms and environment
• Interactions between organisms
• Two dimensional• Discrete time• Discrete space
What is Safariya?
Safariya Screenshot
Project Goals
• Modeling artificial ecosystems efficiently
• Emergent behaviour• Modular• Expandable
What is Safariya For?
Where Are We?
• Project Goals• System Description
– Architecture– Safariya Core– Safariya Interface– World Files– Species Files
• All Together• Recurring Configurations• Summary
Sitka Spruce (Picea sitchensis)
System DescriptionArchitecture
Safariya-Core• Back end• Standalone capability• Written in C• Responsible for all
mission-critical operations.
Safariya-Interface• Front end• Plugs into Safariya-
Core• Written in Java Swing• Responsible for
dynamic visualization tasks
System DescriptionSafariya-Core
• Loads world file*• Loads species files*• Runs simulation
– Multipass handling
• Simple text monitor• Generates log files
Safariya Screenshot
System DescriptionSafariya-Interface
• Connects to Safariya-Core
• Transmits simulation parameters
• Displays current state
Safariya Screenshot
System DescriptionSafariya-Interface
• 5 Separate visualization overlays– Oxygen– Carbon dioxide– Water– Solar radiation– Standard
Safariya Screenshot
System DescriptionSafariya-Interface
• Genotypic activity plots– Displays population densities of all taxa
Safariya Screenshot
System DescriptionSafariya-Interface
• Explorer window– Displays environmental
attributes– Displays organism
information– Site by site basis
Safariya Screenshot
System DescriptionWorld Files
• Fully specifies environmental attributes
• Specified by LL(1) Grammar• Safariya-Core equipped with
parser
Safariya Screenshot
System DescriptionWorld Files
• Fully specifies environmental attributes– Elevation– Oxygen– Carbon Dioxide– Water– Solar Radiation– Diffusion– Production Kananaskis Country from Mt. Rae
System DescriptionSpecies Files
• Fully specifies species attributes
• Seeds world with specimens• Specified by LL(1) Grammar• Safariya-Core equipped with
parser
Safariya Screenshot
System DescriptionSpecies Files
• Fully specifies species attributes– Initial mass, energy– Reproductive mode– Trophic level– Clutch size– Metabolic rate– Movement function– Conspecific recognition Tomato Frog (Dyscophus antongilli)
Where Are We?
• Project Goals• System Description
– Architecture– Safariya Core– Safariya Interface– World Files– Species Files
• All Together• Recurring Configurations• Summary
Heliconid Butterfly (Heliconius charitonius)
Where Are We?
• Project Goals• System Description
– Architecture– Safariya Core– Safariya Interface– World Files– Species Files
• All Together• Recurring Configurations• Summary
Regal Horned Lizard (Phrynosoma solarae)
Recurring ConfigurationsImmobile Autotrophs
• Absence of predators• Growth dictated by
– Carbon Dioxide– Water– Solar Radiation
Bryce Canyon (Utah)
Recurring ConfigurationsSignaling Autotrophs
• Regions inhabited by predators
• Requires coevolution of– Danger signaling– Signal based locomotion– Autotrophy
Grand Canyon (Arizona)
Recurring ConfigurationsSignaling Heterotrophs
• Regions inhabited by mobile organisms
• Requires coevolution of– Mobility– Food signaling– Signal based locomotion– Heterotrophy
Prairie Rattlesnake (Crotalus viridis)
Where Are We?
• Project Goals• System Description
– Architecture– Safariya Core– Safariya Interface– World Files– Species Files
• All Together• Recurring Configurations• Summary
Desert Iguana (Dipsosaurus dorsalis)