# Mission statement

1. Reduce complexity of concurrency control where applicable by raising the abstraction level. The goal is not to replace traditional concurrency control completely, but to provide an alternative programming model. Multiverse can be seen as filling the gap between traditional databases and traditional lock based concurrency control.
2. Seamless integration in the Java projects. Multiverse doesn't rely on instrumentation, so can seamlessly be integrated in complexer builds. Multiverse also tries to stay out of the design of projects that use it as much as possible.
3. To be integrated in other JVM based languages like Scala, Groovy or JRuby. Although Multiverse has been written with Java in mind, it can also be integrated in other languages. Multiverse is uses under water in the Groovy Parallel Systems Library: GPars and in the past has been used as the STM implementation in Scala based Actor framework Akka.
4. Production environment quality. Multiverse is not an academic experiment. The goal is to create a library that can be used in the most demanding production environments.
5. Provide a framework for STM experiments. It should be easy to swap/tune the STM implementation without causing a big impact.