-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Morphogenetic system (M system) is an abstract model motivated by key aspects of morphogenetic phenomena such as self-assembly, growth, homeostasis, self-reproduction and self-healing of evolving systems. Its original purpose is the study of these phenomena, both theoretically and by experimentation, at a computational level abstracted from a biological implementation. Application in biological modeling and research is also worth considering. Mathematically, M systems rely on basic principles of membrane computing and self-assembly, as well as explicit emphasis on geometrical structures (location and shape) in 3D (or generally, dD) Euclidean space. Theoretical studies have shown that M systems are computational universal, as well as efficient in solving difficult NP problems. Moreover, they have also shown robustness to injuries and self-healing capabilities through extensive computer simulations of specific M systems modeling self-reproduction of a model of a basic eukaryotic cell. As computer simulations play a crucial tool in study and applications of morphogenetics, we have developed a software package to implement M systems in silico. It consists of two modules, a simulation engine and a visualizing tool based on the Unity game engine.
- Modular architecture with strong OOP approach
- Written in .NET 4.6.1
- Separated simulation engine (standalone DLL) with user friendly interface
- Soon distributed via NUGET packaging system
- Main classes coverd by Unit tests
-
Input
- Created M system is saved to M system description XML
- Structure is defined in XSD
-
Output
- So-called Snapshot file in XML structure
- Contains visualization objects with its shape, in specified position and with defined color
- Can be used as input file for MSystemVisualization (Unity engine)
-
MSystemSimulationEngine
- Main ENGINE of whole project
- Contains deserialization tool (usage is optional)
- Simulation methods for simulation run
- Serialize output data into XML structure called snapshot file
- Contains objects (created/destroyed/moved) with positions and color information
-
Cytos_v2
- Main application for running simulator
- Contains only UI all computation is done by MSystemSimulationEngine
-
MSystemCreator
- Easy to use XML creator and editor
- Creates basic XML structures
- Contains validation features and help
-
SharedComponents
- Basic library which contains useful and shareable tools across solution
-
Spatial and Numerics
- Open source mathematical libraries (user for e.g. object shifts and rotations)
-
MSystemVisualization
- Unity game engine used for visualization
- Is a multi-platform game engine (Windows, Mac,…)
- Takes full advantage of the C# language
- Unity supports two and three-dimensional environment
- For tile, we use method Mesh drawing
- For easy control in environment, user can use spectator mode