soft1901 assignment :: home > introduction

Introduction

Problem Statement

Marine ecosystems are complex, multifaceted systems that play host to numerous organisms that form key components of nutrition for many communities around the world, as well as organisms that are vital to the stability of numerous food chains. Today’s world is resource-scarce, and hence it is critically important for there to be an extensive knowledge base to enable our policy makers to formulate solutions that meet both short-term and long-term objectives.

Every ecosystem consists of interactions between the organisms that constitute the ecosystem. Indeed, in addition to the dependence and interdependence regimes between different organisms of separate species, organisms of the same species interact with one another to ensure collective survival. It is, therefore, integral to any computer modelling of an ecosystem that it encapsulates the food chain, as well as key characteristics of how life forms actually move in real life. That is, although the system should respond in feasible ways to changes in its state, there must be sufficient randomness to reflect the inherent chaotic nature of the world around us. Furthermore, in order to reach its full potential, the simulation must be easy to use, and allow for changes to parameters in order for experimentation to occur.

Solution Description

The virtual environment of the simulation has been set in the frigid waters of the Antarctic, an area that will be increasingly thrust into the spotlight as competing interests fight over access to the largest remaining unspoilt area of the Earth. Autonomous agents representing fish, penguins, whales and different types of plankton (the primary producers in the food chain) move around in the virtual three-dimensional environment. The interactions between different species are predator-prey relationships, with the life forms towards the top of the food chain acting to eat the ones further down, and the life forms towards the bottom reproducing to ensure survival of their species. Intra-species relationships include flocking and reproduction.

Food Chain

< Simulation Food Chain

The different types of plankton are the primary producers in the system, and they are eaten by fish. Fish are the primary food source for the two animals above it, penguins and whales.

Because the simulation is designed to model the behaviour of the real world in order to understand the behaviour of real world systems, scientific accuracy was a concern of the developers in this project. Research into behaviour and characteristics of Antarctic marine life forms was carried out so that the formation of the simulated food chain would be representative, and so that the distinguishing characteristics of movement of each of the life forms would be maintained. For example, for fish, different methods of flocking were investigated, while for penguins, the ways in which real penguins may choose to come up for breath is reflected in the simulation.

The solution, written in the Java programming language, utilises object-oriented principles, allowing for easy extensibility and adaptability. The project can be roughly divided into three sections. Firstly, the autonomous life forms are part of an inheritance structure, simplifying code production through common routines, and allowing for polymorphism in the next section, the framework classes. The framework classes control the simulation environment including the ground and current, communication between the life forms and the environment and vectors. The upper tier is the user interface, consisting of a main program executable, into which different panels can be inserted, such as the two- and three-dimensional renderers and the set of graphs. The three-dimensional renderer relies on the set of jogl libraries (a Java implementation of OpenGL).