Model - An MLDesigner model describes the structure and behavior of a system or a part of the system in the real world. A model can be realized either by a hierarchy of other models or by programming language code and can consist of:
In MLDesigner the following model types are known:
Model instance - A model instance is a reference to a model that is embedded in another model.
Primitive source code - The primitive source code describes the behavior of a model and is deﬁned using the Ptolemy language code containing C++-code fragments.
Port - Input/output ports are used to connect model instances for exchanging data objects. A port is called formal port, if it is part of a model, and it is known as actual port in case of a model instance port.
Relation - A relation is the connection between ports.
Argument - An argument is either a parameter or a shared model element.
Parameter - Parameters are used to control the functionality of models. Formal parameters of modules or primitives deﬁne the interface on embedding into other modules or systems. The corresponding parameters that appear in instances of the model are called actual parameters.
Shared model element - So-called shared model elements are used to share information without exchanging data. Shared elements are memories, events and resources. The terms formal and actual are used accordingly to formal/actual parameters and ports.
Primitive - A primitive is the lowest level model in MLDesigner, with functionality deﬁned using the Ptolemy language containing C++ code fragments. The model part of a primitive deﬁnes its external interface, whereas the primitive source code written in Ptolemy deﬁnes the behavior of the primitive. Primitives can have input/output ports and arguments for interfacing. FSM primitives are a special type of primitive model. In contrast to normal primitives, the functional model of an FSM primitive is described by the FSM model.
Module - A module is a model made up of model instances. Like primitives, modules can have input/output ports as well as arguments for interfacing. A module can be a simple structure with one level or a hierarchical structure with more levels of module or primitive instances.
System - A system is the top-level model and consists of a number of primitive or module instances. A system model does not have any input/output ports and cannot be instantiated in other models. Deﬁned parameters are used to parameterize the system model. The system model deﬁnes the target used for the execution of the system as well as the target parameters. Target parameters are used to parameterize the target.
Library - A library is not really a model, but the MLDesigner model mechanism is used to group different models. Since the model mechanism is used for the deﬁnition of libraries, they can be handled in the same way as all the other models. A library that is not a sub-library of any other library is called top-level library and is placed in a model base. An independent library is a library that does not contain any model that requires resources like models or data structures from another library.
Model base - A model base is used in MLDesigner as base for a number of dependent and independent model libraries stored in a physical directory. In MLDesigner the following model bases are known:
Simulation - A simulation is the execution of a model containing shared model elements, modules and primitives within a system. In MLDesigner only systems are executable models. All elements of the system must be connected or linked before the simulation can be executed. The simulation produces results which are useful for analysing the behavior of the model and all elements contained therein.
Target - A target is an object that manages the execution of a simulation or code generation process. Thus, for example, in code generation, the target would be responsible for compiling the generated code and spawning the process to execute that code, if desired.
Data structure - A data structure in MLDesigner is a container for values of base type, vector, enumeration, or composite data type.