/
glossary.tex
131 lines (97 loc) · 8.19 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
\chapter{Glossary}\label{glossary}
\glossaryitem{element modification}: part of a modification, overrides the
declaration equation in the class used by the instance generated by the
modified element. Example: \lstinline!vcc(unit="V")=1000!. (See \cref{modifications}.)
\glossaryitem{element-redeclaration}: part of a modification, replaces one of
the named elements possibly used to build the instance geneated by the
element that contains the redeclaration. Example: \lstinline!redeclare type Voltage = Real(unit="V")! replaces \lstinline!type Voltage!. (See \cref{redeclaration}.)
\glossaryitem{encapsulated}: a class that does not depend on where it is
placed in the package-hierarchy, since its lookup is stopped at the
encapsulated boundary. (See \cref{simple-name-lookup}).
\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{extends clause}: an unnamed element of a class definition that
uses a name and an optional modification to specify a base class of the
class defined using the class definition. (See \cref{inheritance-modification-and-redeclaration}.)
\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{modification}: part of an element. Modifies the instance
generated by that element. A modification contains element modifications
and element redeclarations. (See \cref{modifications}.)
\glossaryitem{modification environment}: the modification environment of a
class defines how to modify the corresponding class definition when
flattening the class. (See \cref{modification-environment}.)
\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}.)