How can we best understand complex systems with dynamics that make them constantly change?
Current researchers have a number of powerful modeling strategies at their disposal. These can be used for constructing stochastic and/or deterministic simulation models.
Traditionally the construction of such models is either difficult or tedious (depending on your skills). Likewise, understanding a given model can be complicated, as most of them are encoded in languages that are difficult for us humans to understand.
This makes many biologists think that modeling is beyond them.
Evolvix is being developed to address exactly this problem.
Building on many years of experience with modeling, Evolvix is being designed by lead developer Laurence Loewe to deal with many of the million small problems that make modelling so challenging.
Descriptive = More Intuitive
Instead of telling the computer what to do in which order to analyze a model, Evolvix follows a much more simple paradigm:
Say what you want, leave the details to the computer.
This approache makes Evolvix a descriptive programming language. We use this approach every day in real life to hide complexity:
While many can drive a car (i.e. tell the car what they want: go, stop, ....), few can build a car (i.e. put together a system that translates the user's wishes into actual movement on the ground).
Likewise, Evolvix knows two types of persons that interact with it:
- Users see only the descriptive surface that describes a model and the tasks that need to be done for analyzing the model.
- Developers see the details of how Evolvix works: C++, data structures, algorithms, mathematical methods, etc, basically the details that nobody else wants to see.
A common language for building models
The challenge in building models is their complexity. Fortunately, there exist recurring patterns. These patterns can be used like bricks to build a really complicated system. If we can find a common language for describing the bricks that exist and how to put them together, then we can divide and conquer much of the complexity of our world.
Evolvix is an attempt to find such a common language for everything that many biologists would like to use in order to describe the complex systems they study. Since biology is very diverse in itself, Evolvix is as domain-independent as possible. Hence we do not only model
- molecules in cells (e.g. molecular systems biology) or
- cells in organisms (e.g. developmental biology) or
- individuals in populations (e.g. population genetics) or
- populations in ecosystems (e.g. ecology) or
- ...
Instead we facilitate the modeling of all of the above by supporting only
- Parts in Systems and their Actions.
More details on the language development can be found on this site.
We invite you to think about your favourite modeling problems and to tell us what potential features in a modeling language might make it as easy and pain-free as possible to implement these features.
Any questions about evolvix should be addressed to:
Evolvix Lead Developer
Laurence Loewe
Assistant Prof, UW-Madison
Laurence.Loewe@evolutionary-research.net
|