MOOSE: An Object-Oriented Multimodeling and Simulation Application Framework

Robert M. Cubert, University of Florida
Paul A. Fishwick, University of Florida

Paper

Abstract


MOOSE (Multimodel Object Oriented Simulation Environment) is an application framework for modeling and simulation, under development at University of Florida, based on Object Oriented Physical Modeling (OOPM). OOPM extends object-oriented program design with visualization and a definition of system modeling that reinforces the relation of model to program. OOPM is a natural mechanism for modeling large-scale systems, and facilitates effective integration of disparate pieces of code into one simulation. Components of MOOSE are Human Computer Interface (HCI), Library, and Back End. HCI interacts with model author via graphical user interface (GUI) which captures model design, controls model execution, and provides output visualization. Library has a model repository and object store facilitating collaborative and distributed model definitions, and managing object persistence. The Back End automatically converts a model definition to a complete simulation program in some Translator Target Language (TTL), presently C++, then compiles and links the program it wrote, adding runtime support, and creating an executable program which runs under control of the HCI to provide model execution. Dynamic model types include Finite State Machine, Functional Block Model, Equational Constraint model, and Rule-based Model; alternatively, model authors may create their own C++ code methods; model types may be freely combined through multimodeling, which glues together models of same or different types, produced during model refinement, reflecting various abstraction perspectives, to adjust model fidelity during development and during model execution. Underlying multimodeling is ``Block" as fundamental object. Every model is built from Blocks, expressed in a Modeling Assembly Language. KEYWORDS: Simulation, Multimodel, Object-Oriented Modeling, Model Abstraction, Object Oriented Physical Modeling, Visualization, Application Framework