-
Notifications
You must be signed in to change notification settings - Fork 41
/
glossary.tex
107 lines (79 loc) · 6.82 KB
/
glossary.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
\chapter{Glossary}\label{glossary}
\glossaryitem{equation}: part of a class definition. A scalar equation relates
scalar variables, i.e.\ constrains the values that these variables can
take simultaneously. When n-1 variables of an equation containing n
variables are known, the value of the nth variable can be inferred
(solved for). In contrast to a statement in an algorithm section, an
equation does not define for which of its variable it is to be solved.
Special cases are: initial equations, instantaneous equations,
declaration equations. (See \cref{equations}.)
\glossaryitem{event}: something that occurs instantaneously at a specific time
or when a specific condition occurs. Events are for example defined by
the condition occurring in a when clause, if clause, or if expression.
(See \cref{events-and-synchronization}.)
\glossaryitem{expression}: a term built from operators, function references,
components, or component references (referring to components) and
literals. Each expression has a type and a variability. (See \cref{operators-and-expressions}.)
\glossaryitem{flattening}: the computation that creates a flattened class of a
given class, where all inheritance, modification, etc.\ has been
performed and all names resolved, consisting of a flat set of equations,
algorithm sections, component declarations, and functions. (See \cref{flattening-process}.)
\glossaryitem{function}: a class of the specialized class function. (See \cref{functions}.)
\glossaryitem{function subtype} or \glossaryitem{function compatible interface}: A
is a function subtype of B iff A is a subtype of B and the additional
arguments of function A that are not in function B are defined in such a
way (e.g.\ additional arguments need to have default values), that A can
be called at places where B is called. (See \cref{function-compatibility-or-function-subtyping-for-functions}.)
\glossaryitem{identifier} or ident: an atomic (not composed) name. Example:
\lstinline!Resistor! (See \cref{identifiers-names-and-keywords}.)
\glossaryitem{index} or \glossaryitem{subscript}: An expression, typically of \lstinline!Integer! type or the colon symbol (\lstinline!:!), used to reference a component (or a range of components) of an array. (See \cref{array-indexing}.)
\glossaryitem{instantaneous}: An equation or statement is instantaneous if it
holds only at events, i.e., at single points in time. The equations and
statements of a when-clause are instantaneous. (See \cref{when-equations} and
\cref{when-statements}.)
\glossaryitem{literal}: a real, integer, boolean, enumeration, or string
literal. Used to build expressions. (See \cref{literal-constants}.)
\glossaryitem{matrix}: an array where the number of dimensions is 2. (See
\cref{arrays}.)
\glossaryitem{operator record}: A record with user-defined operations;
defining e.g.\ multiplication and addition see \cref{overloaded-operators}.
\glossaryitem{partial}: a class that is incomplete and cannot be instantiated
in a simulation model; useful e.g.\ as a base-class. (See \cref{component-declaration-static-semantics}.)
\glossaryitem{partial flattening}: first find the names of declared local
classes and components. Modifiers, if present, are merged to the local
elements and redeclarations are performed. Then base-classes are looked
up, flattened and inserted into the class. See also flattening, which
additionally flattens local elements and performs modifications. (See
\cref{flattening-process}.)
\glossaryitem{plug-compatibility}: see restricted subtyping and \cref{plug-compatibility-or-restricted-subtyping}.
\glossaryitem{predefined type}: one of the types \lstinline!Real!, \lstinline!Boolean!, \lstinline!Integer!,
\lstinline!String! and types defined as \lstinline!enumeration! types. The component
declarations of the predefined types define attributes such as \lstinline!min!, \lstinline!max!,
and \lstinline!unit!. (See \cref{predefined-types-and-classes}.)
\glossaryitem{prefix}: property of an element of a class definition which can
be present or not be present, e.g.\ \lstinline!final!, \lstinline!public!, \lstinline!flow!. (See \cref{prefix-rules}.)
\glossaryitem{primitive type}: one of the built-in types \lstinline!RealType!,
\lstinline!BooleanType!, \lstinline!IntegerType!, \lstinline!StringType!, \lstinline!EnumType!. The primitive types are
used to define attributes and value of predefined types and enumeration
types. (See \cref{predefined-types-and-classes}.)
\glossaryitem{redeclare}: the modifier that changes a replaceable element.
(See \cref{redeclaration})
\glossaryitem{replaceable}: an element that can be replaced by a different
element having a compatible interface. (See \cref{redeclaration})
\glossaryitem{restricted subtyping} or \glossaryitem{plug-compatibility}: a type A
is a restricted subtype of type B iff A is a subtype of B, and all
public components present in A but not in B must be default-connectable.
This is used to avoid introducing, via a redeclaration, an un-connected
connector in the object/class of type A at a level where a connection is
not possible. (See \cref{plug-compatibility-or-restricted-subtyping}.)
\glossaryitem{scalar} or scalar variable: a variable that is not an array.
\glossaryitem{simple type:} \lstinline!Real!, \lstinline!Boolean!, \lstinline!Integer!, \lstinline!String! and enumeration types
\glossaryitem{specialized class}: one of: \lstinline!model!, \lstinline!connector!, \lstinline!package!, \lstinline!record!, \lstinline!block!, \lstinline!function!, \lstinline!type!. The class restriction of a class represents an assertion regarding the content of the class and restricts its use in other classes. For example, a class having the \lstinline!package! class restriction must only contain classes and constants. (See \cref{specialized-classes}.)
\glossaryitem{subtype} or \glossaryitem{interface compatible}: relation between types. \lstinline!A! is a subtype of (interface compatible with) \lstinline!B! iff a number of properties of \lstinline!A! and \lstinline!B! are the same and all important elements of \lstinline!B! have corresponding elements in \lstinline!A! with the same names and their types being subtypes of the corresponding element types in \lstinline!B!. See also restricted subtyping and function restricted subtyping. (See \cref{interface-compatibility-or-subtyping}.)
\glossaryitem{supertype}: relation between types. The inverse of subtype. \lstinline!A! is a subtype of \lstinline!B! means that \lstinline!B! is a supertype of \lstinline!A!. (See \cref{interface-compatibility-or-subtyping}.)
\glossaryitem{transitively nonreplaceable}: a class reference is considered
transitively non-replaceable if there are no replaceable elements in the
referenced class, or any of its base classes or constraining types
transitively at any level. (See \cref{transitively-non-replaceable}.)
\glossaryitem{vector}: an array where the number of dimensions is 1. (See
\cref{arrays}.)