Collaborative ALM
Free SaaS for open source projects on Amazon EC2
         
Welcome to Object Modeling System
Tags:   framework; java; Modeling; Simulation
All Tags...
OMS3

Console (3.0.24)
Console FAQ


Framework (3.0.23)
Download
JavaDoc


Recent News
Milestone Release: 3.0.21
Apr 14 11:38
Milestone Release: 3.0.20
Mar 26 11:45
Milestone Release: 3.0.10
Dec 09, 2009 16:26
Milestone Release: 3.0.9
Dec 02, 2009 12:54
Milestone Release: 3.0.8
Nov 24, 2009 16:57

[ properties ] [ hide ]

Object Modeling System v3.0

Welcome to the Object Modeling System (OMS), a pure Java, object-oriented modeling framework. OMS allows model construction and model application based on components. This is a collaborative project active among the U.S. Department of Agriculture and partner agencies and organizations involved with agro-environmental modeling.

OMS3 is a highly inter-operable and lightweight modeling framework for component-based model and simulation development on multiple platforms. Interoperability features:

Component Interoperability
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.
Data interoperability
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.
Language Interoperability
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.
System Interoperability
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.

The OMS3 framework goal is to provide features to the modeler to make easy to create, inter-operable, scalable, and unburdened models that take full advantage of contemporary computing, management, and infrastructure technologies while keeping it simple intuitive for users.

OMS3 Models and Applications

Several environmental models are implemented using OMS3. Download and run them using provided examples data sets, or you can access the source code to make yourself familiar with OMS3 models.
AgroEcoSystem-Watershed Model (AgES-W)
AgES is a modular, spatially distributed hydrological system which implements hydrological processes as encapsulated process components. AgES operates at various temporal and spatial aggregation levels throughout the watershed.
Precipitation Runoff Modeling System (PRMS/OMS)
PRMS is a modular, deterministic, distributed-parameter modeling system developed to evaluate the impacts of various combinations of precipitation, climate, and land use on streamflow, sediment yields, and general basin hydrology.
Thornthwaite Monthy Water Balance Model
The Thorntwaite model can be used to examine various component of the hysdrolocic cycle to estimate global water balance.
Educational Examples
A set of simple models and components are provided to get new users started.
JGrasstools
hydro-geomorphological tool box implemented in OMS3, the Library contains all geoprocessing power that is behind JGrass at library level.

OMS Science component Library Component Library

Development Collaboration

As a user of this project you might want to:

You can access all source code (oms3 and models) using Subversion. Become a developer if you want to commit.

Please read this Note on how to use this site.