Components are Plain Java Objects enriched with descriptive meta data by means of language annotations. This “non-invasive” approach over a modeling API minimizes dependencies on the framework. Components default to multi-threaded execution If data flows permits, components are executed in parallel, with no explicit parallel programming required. An OMS3 model scales well in current and future multi-core architectures.
The framework fully supports all native and types to be passed between components. An simple extension mechanism provides for any type of data conversions and transformation. This adds generic and aspect-oriented handling of data transformation to all models open for custom extensions. Standard data access, statistical methods, and efficiency analysis are available.
with FORTRAN, C, and C++ is simplified the developer by providing an annotation based approach also for those languages. Also, a simple Domain Specific Language DSL helps assembling model applications or perform model calibration, optimization, sensitivity and uncertainty analysis, and forecasting. Various methods are provided.
The framework can be embedded into other serving as an modeling engine that can drive simulations for example in a desktop application, web-service environment or a embedded device. A system API supports such flexible integration. In addition the framework can be used to generate Docbook5 compliant model and simulation documentation and SHA signatures of simulations for archival, auditing and traceability.