MOOSE an ob jectoriented multimo deling and simulation application framework Rob ert M Cub ert and Paul A Fishwick DepartmentofComputer Information Science and Engineering CSE Ro om University of Florida Gainesville FL ABSTRACT MOOSE Multimo del Ob ject Oriented Simulation Environment is an application framework for mo deling and simulation under development at University of Florida based on Ob ject Oriented Physical Mo deling OOPM OOPM extends ob jectoriented program design with visualization and a denition of system mo deling that reinforces the relation of model to program OOPM is a natural mechanism for mo deling largescale systems and facilitates eectiveintegration of disparate pieces of co de into one simulation Comp onents of MOOSE are Human Computer Interface HCI Library and BackEnd HCI in teracts with mo del author via graphical user interface GUI which captures mo del design controls mo del execution and provides output visualization Library has a mo del rep ository and ob ject store facilitating collab orative and distributed mo del denitions and managing ob ject p ersistence The Back End automatically converts a mo del denition to a complete simulation program in some Translator Target Language TTL presently C then compiles and links the program it wrote adding runtime supp ort and creating an executable program which runs under control of the HCI to provide mo del execution Dynamic mo del typ es include Finite State Machine Functional Blo ck Mo del Equational Constraint mo del and Rulebased Mo del alternatively mo del authors may create their own C co de metho ds mo del typ es may b e freely combined through multimo deling which glues together mo dels of same or dierenttyp es pro duced during mo del renement reecting various abstraction p ersp ectives to adjust mo del delity during development and during mo del execution Underlying multimo deling is Blo ck as fundamental ob ject Every mo del is built from Blo cks expressed in a Mo deling Assembly Language Keywords Simulation Multimo del Ob jectOriented Mo deling Mo del Abstraction Ob ject Oriented Physical Mo deling Visualization Application F ramework INTRODUCTION MOOSE is an acronym for Multimo del Ob ject Oriented Simulation Environment a mo deling and simulation en abling to ol under development at University of Florida MOOSE is an implementation of OOPM Ob ject Oriented Physical Mo deling an approachtomodelingandsimulation which promises not only to tightly couple a mo dels human author into the evolving mo deling and simulation pro cess through an intuitive HCI human computer in terface but also to help a mo del author to perform any or all of the following to think clearly ab out to b etter understand or to elucidate a mo del to participate in a collab orative mo deling eort to rep eatedly and painlessly rene a mo del as required in order to achieve adequate delity at minimal development cost to painlessly build large mo dels out of existing working smaller mo dels to start from a conceptual mo del whichis intuitively clear to domain exp erts and to unambiguously and automatically convert this to a simulation program to create or change a simulation program without b eing a programmer to p erform simulation mo del execution and to present simulation results in a meaningful way so as to facilitate the other ob jectives ab ove In some cases mo del design without mo del execution suces to achieve the mo del authors ob jectives whichmay b e to learn ab out or b etter understand a phenomenon or system or to communicate ab out such a system with ones colleagues This purp ose is per se justication for the development of MOOSE But usually a mo del author wishes not only to design a mo del but also to construct a simulation program to p erform mo del execution for reasons which include to empirically validate the mo del based on observed b ehavior to select or adjust various parameters and values and observe their eect to measure p erformance to gauge mo del delity and assess its adequacy In prevalent practice a mo del author makes what is known as a conceptual model often similar to a blackb oard picture with annotations and uses this mo del to describ e to one or more programmers detailed requirements for asimulation program to b e written based on the conceptual mo del Programmers then write a program but there is not necessarily a relation between the conceptual model and the program subsequently produced MOOSE oers to improve this situation MOOSE assists the mo del author with constructing the conceptual mo del and then builds a simulation program in an unambiguous way from the conceptual mo del MOOSE thus provides a mapping from conceptual mo del to simulation program Advantages include builtin mo del validation partial automation of the development pro cess allowing mo del authors and programmers to fo cus on the dicult rather than on the tedious easier accommo dation to change leading to a view of change as acceptable instead of as a threat reducing the resp onse time asso ciated with system development allowing the mo del author to eectively drive the development pro cess The amount of detail in a mo del reects the mo del authors abstraction p ersp ective Renement to greater detail is used to obtain mo del delity that is adequate in the eyes of the mo del author from a given abstraction p ersp ective and with certain ob jectives for the mo del or simulation to meet MOOSE addresses this area with multimodeling an approach which glues together mo dels of the same or dierent typ es pro duced during the activity of mo del renement and reecting various abstraction p ersp ectives Renement can b e adjustable during mo del execution as well as during mo del design The pieces that are put together to form a mo del such as describ ed ab ove are dynamic models Dynamic mo del typ es supp orted include Finite State Machine FSM Functional Blo ck Mo del FBM Equational ConstraintModelEQN and Rulebased Mo del RBM alternativelyusersmay create their own C co de mo dels mo del typ es may b e freely combined The dynamic mo del typ es implemented so far form a p opular collection of approaches used in simulation Additional dynamic mo del typ es are certainly in order and will likely b e added to the MOOSE rep ertoire Reuse of ones own previous work as wellasby one mo del author of the work of others is encouraged byavailability of mo del rep ositories These form a resource of growing value as MOOSE matures For example the b oiling water mo del is an FSM multimo del part of whichisshown in Fig Later we implemented a mo del of Rob ert Fultons steamship whose FBM app ears in Fig When the Fulton mo del was built the b oiling water mo dels Pot reemerged as the Boiler of the steamship Yet an application framework is more than just a class library In an application framework classes from the library are related in suchaway that a class is not used in isolation but within a design encouraged and supp orted by the framework The MOOSE Mo del Rep ository MMR is aptly named b ecause it is not just a class library as a mo del rep ository it stores not only a collection of classes available for reuse but also the design which relates those classes as to howtheyplay together within the geometry and dynamics of a particular mo del This enables supp ort for one of Bo o chs ve attributes of a complex system p A complex system that works is invariably found to have evolved from a simpler system that worked A complex system designed from scratchnever works and cannot b e patched up to makeit work Using MMR mo del authors can start from some piece of their overall system that happ ens to app eal to them intuitively When several such pieces are working they may b e combined into a morecomplex working system Comp onents of MOOSE fall into three groups Human Computer Interface HCI Library and Back End The HCI is comprised of two comp onents Mo deler and Scenario Modeler interacts with the human mo del author via graphical user interface GUI to construct the mo del In simulation parlance this is model design Mo deler relies on the Library discussed b elow to store mo del denitions Scenario is a visualization enabler employing a GUI Scenario activates and initializes simulation mo del execution which we call Engine at the b ehest of user who mayormay not b e the original mo del author Scenario maintains synchronous interaction with Engine displaying Engine output in a form meaningful to user optionally allowing user to interact with Engine including mo difying simulation parameters and changing the rate of simulation progress The BackEndhastwo comp onents Translator and Engine Translator is a bridge b etween mo del design and mo del execution Translator reads from the Library a languageneutral mo del denition pro duced by Mo deler and emits a complete computer program for the mo del in Translator Target Language TTL Presently MOOSE TTL is C potentially TTL can be Javaoranother language This simulation program emitted byTranslator is called Engine Its source language is TTL presently C Once compiled and linked with runtime supp ort the Engine executable program is activated under control of Scenario to p erform mo del execution The Library has two comp onents MOOSE Model Repository MMR and k of MOOSE Object Store MOS MOS holds ob ject data and MMR holds ob ject metadata MMR keeps trac mo dels as they are b eing built MMR servers provide a database management system DBMS for mo del denitions MMR clients work with Mo deler and Translator to dene and use mo del denitions
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages21 Page
-
File Size-