Self-Made Data Framework (Plasticine)

Our company has developed Plasticine Data Framework that is flexible enough to support all necessary data structures and underlying data technologies that are used in simulator development.

The Architecture of the framework follows Entity-Attribute-Value (EAV) pattern (see This architecture solution leads to drastic speeding up of the development process with good performance of data layer at the same time.

Core features:

  • Metadata driven engine: all types are described without introducing new tables and attributes into db
  • Integrated caching subsystem that makes data framework extremely fast
  • Admin tool for defining object types and attributes instead of changing database schema
  • Support of any data providers: RDMBS (Postgre, Oracle, My SQL etc), file storages, in memory storages etc. Different data sources can be supported simultaneously.
  • Support of clustering
  • Unified containers for all data types

So, as all data are stored in the same containers (objects), this unified approach allows us to create software without wasting time on defining data schemas on all levels.

  • We do not have to create new tables or attributes on database.
  • We do not have to reconfigure HLA federates to introduce a new object type.
  • We do not have to introduce new classes into the code of our software.
  • We do not have to develop new forms in admin tools.
  • We do not have to write load or save a layer for new data types

All these operations are made automatically, once you have defined a new data type in Plasticine admin tool.
This enables us to create a unified approach that allows us, for example, to introduce new object types on all levels of simulation.


For example, for a Command & Control simulator a new object type Helicopter Mi-24 has been created in Plasticine admin tool for AI based modeling, in addition to other helicopter types.
Automatically this new object type will appear in the list of types in simulator admin tool, with an according form that contains tabs and parameter fields as it was defined in metadata in Plasticine admin tool.
This object type will also appear in the air environment mission editor, you can place entities of this type in the air environment and make missions for them according to the possibilities of their helicopter superclass. Simulation engine will use this type to model its behaviour according to its parameters and base behaviour of object superclasses.

We use an object-oriented approach here and all successors have he simulation behaviour of their ancestor (but simulation is different as unit properties are different and they are taken into accout in simulation).


For example, every helicopter of any type (Mi-24, for example) has the behaviour of a “helicopter” object type unless the simulation behaviour of a definite helicopter type (Mi-24 in our case) is changed.

For 3D visualizations you just define Mi-24 3D model and it would be used by 3D Visualization Engine

One important additional benefit of this framework is that you do not have to test working with data layer, as this framework (and, accordingly, working with the data source) has already been tested and thus testing expenses will be drastically decreased.