Included Model Libraries

When you install, there are several SysML MDZIP model libraries provided with the software. These are included by default in the modelDependencies folder. You can add these to specific projects through the Options > Project Usages > Use Project dialog in your No Magic modeling tool. In the Containment Tree, they will appear dimmed, which indicates that they are read-only project dependencies that cannot be modified.

When opening a project in a NoMagic Modeling tool, any model dependencies will be resolved in the following order of file locations:

  1. Absolute path specified in the mdzip
  2. Same directory as the open project
  3. Installed modelLibraries directory with the No Magic Tool
  4. The global location from the environment settings.

For more information about configuring the NoMagic tool settings to find the installed content from BEE, see the Installation Guide section on setting up the SysML tools.

Conflicts between directories may exist, so take care not to have duplicate copies of SysML dependencies in multiple locations on a local disk. At runtime, BEE will not look in the NoMagic modelLibraries directory by default for any dependencies and will instead look for any dependency in the modelDependencies directory of the BEE install. You can add additional model directories in the SysML Client Application in Actions > Settings > Model Directories.

Required models (Moxie-Base.mdzip)

The "base" model library contains the SysML blocks and stereotypes that are required to execute a Behavior Execution Engine simulation. It includes the types used for event detection, time management, code generation, and simulation configuration. All Behavior Execution Engine simulations must use at least two of the elements in the Moxie-Base package:

  1. Moxie-Base::Structure::Thing - Behavior Execution Engine requires that all blocks with a state machine classifier behavior derive either directly or indirectly from Thing. This allows Behavior Execution Engine to execute those state machines at the start of the simulation.
  2. Moxie-Base::Simulation::SimulationSpecification - Behavior Execution Engine requires that the simulation configuration execution target be an instance specification of SimulationSpecification. This simulation instance specification informs Behavior Execution Engine which instance specifications take part in the simulation.

Time-dynamic geometry models (Moxie-Core.mdzip)

The "core" model library contains a set of blocks that are abstractions of time-dynamic spatial geometry used to represent object trajectories. It also contains some reference implementations of these abstract geometry types for customization with specific analysis tools like STK. Unlike with the "base" models, Behavior Execution Engine does not require any of these models to run simulations. This library is a "core" from which you can build custom specialized models that all interoperate using its common time-dynamic geometry. These geometry concepts also align well with similar features in STK's Vector Geometry Tool or Analysis Workbench capability.

The Moxie-Core package models time implicitly so that you can describe system-level concepts and situations in a natural way and without needing a detailed understanding of the underlying physics. For example, you can specify a change event with a high-level expression like when(phone.location.getDistanceTo(tower.location).isLessThan(tower.broadcastRange)), assuming that both locations derive from Moxie-Core::Structure::SpatialPoint and that the tower's broadcast range derives from Moxie-Core::Structure::ScalarValue or SysML::Libraries::PrimitiveValueTypes::Real.

STK models (Moxie-STK.mdzip)

STK-related features are only available if you acquired Behavior Execution Engine as part of STK Enterprise or otherwise have a valid license for STK. If you acquired Behavior Execution Engine as part of ModelCenter Enterprise but have access to a valid STK license, contact us for access to the STK-related features.

The STK model library contains stereotypes to help you connect to both the STK application and STK objects within the application during a simulation. Along with the library, Behavior Execution Engine also provides an STK delegate module. This delegate module contains some utilities in the form of STK controller dependencies for interacting with STK from delegate code, and several of these utilities make use of the stereotypes from the STK model library. The delegate module also contains reference delegate implementations of the geometry types from the time-dynamic geometry "core" library. Behavior Execution Engine does not require either the STK model library or the STK delegate module to run simulations; they are just helpers for connecting to and controlling STK.