Blocks
A SysML block defines a type of thing, whether a physical object or an abstract idea. Most blocks in a model have both properties that describe the thing's state and operations that are procedures the thing can perform. The core blocks in a SysML model will also typically have behaviors (such as state machines). These behaviors are what Behavior Execution Engine executes when you run a simulation. Behavior Execution Engine requires, for any block with behavior you want to execute, that a block meets the following criteria:
- Its behavior is set as its Classifier Behavior. If no blocks in your model have behaviors, you cannot run a Behavior Execution Engine simulation of your model.
- It has at least one instance specification that is referenced by the slots of the simulation instance specification, either directly or indirectly through other instance specifications. Behavior Execution Engine executes all such instance specifications at the start of a simulation.
Figure 1: A block with a Classifier Behavior that derives directly from Moxie-Base::Structure::Thing
Block definition diagrams
Behavior Execution Engine does not require a block definition diagram, but you may want to create one to help visualize the structure of your model. A block definition diagram can show the relationships between the blocks as well as their properties and operations.
Figure 2: A simple block definition diagram
Instance specification diagrams
Behavior Execution Engine does not require an instance specification diagram, but you may want to create one to help visualize the initial state of your model. An instance specification diagram is just an object diagram that shows the instance specifications used in the simulation and their initial slot values.
Figure 3: A simple instance specification diagram