14-8 Handbook of Dynamic System Modeling
Model class. Because each simulation model has its model elements (i.e., transitions and states for FSM;
traces and functions for FBM), we also define four classes such as Transition, State, Trace, and Function.
Likewise, Geometry class is created, since 2D/3D objects are needed for explicitly representing geometric
representations for a geometry model as well as a dynamic model in 2D or 3D space. Specific geometric
types, such as primitive objects (i.e., cube, sphere, and arrow) and nonprimitive objects (i.e., stove, water,
and pot), could be defined as subclasses of the Geometry class. By conceptualizing the simulation model
type and 2D/3D geometry domains, we would provide syntactic and semantic mappings between objects
in the boiling water domain and objects in the simulation model type domain, and objects in the boiling
water domain and objects in the 2D/3D geometry domain.
To support the integrative multimodeling environment, we need to define additional classes, such
as Interaction Model, Scene Handler (i.e., 3D icons for supporting integrative multimodeling), Sensor,
Controller, and Actuator. We will cover these concepts in the following subsections.
14.2.1.2 Properties and Relationships
We assign two named properties (i.e., attributes), Geometry Model and Dynamic Model, to the Boiling Water
Scene class. In addition, we generate two association relationships, named“has a geometry model,” and“has
a dynamic model,” which connect to the Boiling Water Geometry Model and Boiling Water Dynamic Model
classes. Therefore, an object (i.e., an instance) of class Boiling Water Scene could have two attributes whose
values are objects of Boiling Water Geometry Model and Boiling Water Dynamic Model classes. Similarly,
two attributes, Geometry Object and Dynamic Model Element, are declared for the five fundamental classes
of the scene (i.e., Pot, Electric Stove, Knob, Water, and Scene Handler classes), since we assume that every
object in the scene has a corresponding geometric object for presentation as well as a dynamic model
element (i.e., state or function) for dynamics. Because Cold, Not Cold, Boiling, Cooling, and Heating
classes are subclasses of the Water class, these generalized classes can have their own attribute values that
are generated from Geometry, State, and Function classes. Therefore, we create association relationships,
named “has a geometry object,” and “has a dynamic model element,” between the water domain and the
geometry domain, and the water domain and the function/state domain. Because all classes in the water
domain are generated based on the water phases, state-based dynamic model type (i.e., FSM) could be the
reasonable choice to represent dynamics. Therefore, association relationships between the water domain
and the state domain are generated.
We create another association relationship named “uses” between class State/Function and class Geom-
etry, since 2D/3D objects are needed for explicitly representing geometric representations for a certain
dynamic model in 2D/3D space. An attribute, Interaction Model, is defined inside Geometry class, since
we attempt to induce an overall scene interaction model by taking an individual interaction model for
each geometric object that the boiling water scene contains. In addition, we define three attributes, Sensor,
Controller, and Actuator, in class Interaction Model so that an interaction model for a certain object could
be inferred from its attribute values (i.e., sensor, controller, and actuator, which are components of an
interaction model) through first-order logics. Likewise, the overall interaction model for the boiling water
scene could be generated from each object’s interaction model through first-order logics. We will explain
the process for creating interaction models for the boiling water scene in next section. To represent relation-
ships above,we create four association relationships,“has a sensor,”“has a controller,”“has an actuator,” and
“has an interaction model,” between Interaction Model and Sensor classes, Interaction Model and Controller
classes, Interaction Model and Actuator classes, and Geometry and Interaction Model classes, respectively.
14.2.2 Interaction Model Creation
The purpose of integrative multimodeling is to provide a human–computer interaction environment that
allows users to change model types within the same environment. Therefore, user interactions should be
logically formalized and implemented to support the integrative multimodeling environment. We formal-
ize the user interaction as an interaction model and create the interaction model(s) through first-order
logic rules. The interaction model consists of a sensor, a controller, and an actuator as model components
as well as links between components, since we will utilize Blender game logic bricks (Roosendaal and