The Kevoree Modeling Framework (KMF) started as a research project to create an alternative to the Eclipse Modeling Framework (EMF). Like EMF, KMF is a modeling framework and code generation facility for building complex object-oriented applications based on structured data models. While EMF was primarily designed to support design-time models, KMF is specifically designed to support the email@example.com paradigm and targets runtime models. Runtime models of complex systems usually have high requirements regarding memory usage, runtime performance, and thread safety. KMF was specifically designed with this requirements in mind.
The border between large-scale data management systems and models is becoming less and less strict as firstname.lastname@example.org progressively gains maturity through large-scale and distribution mechanisms. Therefore, since its early days as an EMF alternative KMF, evolved to a framework for efficient modeling (structuring), processing, and analyzing large-scale data. It enables models with millions of elements, which no longer must fit completely into main memory, and supports the distribution of models over thousands of nodes.
KMF provides a powerful toolset for developers to model, structure, and reason about complex data (during design- and runtime), while still being a 'lightweight' framework trying to introduce as less overhead as possible. Advanced features like a notion of time, a native per object based versioning concept, distribution support, and easy-to-plug machine learning algorithms make KMF a powerful toolset for structuring, processing, and analyzing data. A main focus of KMF is on performance and scalability, which are often neglected to a great extend by modeling frameworks.Get Started!
KMF lets you define all your domain data as a single model which is virtually complete and accessible form everywhere.
Native support for temporal data.
Models are transparently distributed across nodes.
Data is managed (stored and retrieved) on a per model element base
Support for different NoSQL storage systems, e.g., Redis, MongoDB, LevelDB.
Support for different machine learning algorithms, e.g., Gaussian mixture.
Support for dynamically instantiatable meta models
An efficient query language for models.
If you have any questions, feedback, or remarks we would be happy to hear from you!