source: CIVL/mods/dev.civl.com/doc/manual/preambular.tex@ 1aaefd4

main test-branch
Last change on this file since 1aaefd4 was aad342c, checked in by Stephen Siegel <siegel@…>, 3 years ago

Performing huge refactor to incorporate ABC, GMC, and SARL into CIVL repo and use Java modules.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5664 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 9.4 KB
Line 
1% number subsubsections and put them in the table of contents...
2\setcounter{tocdepth}{3}
3\setcounter{secnumdepth}{3}
4
5\newcommand{\notimp}{\emph{Status:} Not yet implemented.}
6
7% algorithm2e package settings...
8
9\SetInd{1mm}{2mm}
10\SetVlineSkip{.5mm}
11\SetKw{Break}{break}
12\SetKw{Assert}{assert}
13\SetKw{Integer}{Integer}
14\SetKw{Array}{array}
15\SetKw{Of}{of}
16\SetKwFor{Procedure}{procedure}{is}{end procedure}
17\SetKwInOut{Uses}{uses}
18\SetKwInOut{Invariant}{invariant}
19
20% Type/font styles...
21\newcommand{\upsty}[1]{\textup{\textsf{#1}}}
22\newcommand{\setsty}[1]{\textup{\textsf{\textcolor{blue}{#1}}}}
23\newcommand{\code}[1]{\texttt{\textcolor{blue}{#1}}}
24\newcommand{\ct}[1]{\texttt{#1}}
25
26% Theorem environments...
27\newtheorem{theorem}{Theorem}
28\theoremstyle{definition}
29\newtheorem{definition}{Definition}[subsection]
30
31% Symbols...
32\renewcommand{\implies}{\Rightarrow}
33\newcommand{\ra}{\rightarrow}
34\newcommand{\B}{\mathbb{B}}
35\newcommand{\N}{\mathbb{N}}
36\newcommand{\lb}{\texttt{\char`\{}}
37\newcommand{\rb}{\texttt{\char`\}}}
38\newcommand{\U}{\texttt{\char`\_}}
39%\newcommand{\U}{{\ttfamily\symbol{'137}}}
40\newcommand{\UU}{\U\U}
41
42% Static notions...
43\newcommand{\rootscope}{\setsty{root}} % root static scope
44\newcommand{\start}{\setsty{start}} % start location $l_0$
45\newcommand{\Var}{\setsty{Var}} % set of all variables
46\newcommand{\bool}{\setsty{bool}} % boolean type
47\newcommand{\proc}{\setsty{proc}} % process reference type
48\newcommand{\Val}{\setsty{Val}} % set of all values
49\newcommand{\vtype}{\setsty{vtype}} % type of variable
50\newcommand{\etype}{\setsty{etype}} % type of expression
51\newcommand{\Type}{\setsty{Type}} % set of all types
52\newcommand{\Expr}{\setsty{Expr}} % set of all expressions
53\newcommand{\Eval}{\setsty{Eval}} % set of all valuations on variables
54\newcommand{\eval}{\setsty{eval}} % evaluation of an expression
55\newcommand{\sparent}{\setsty{sparent}} % parent of a static scope
56\newcommand{\dparent}{\setsty{dparent}} % parent of a dynamic scope
57\newcommand{\fscope}{\setsty{fscope}} % scope of a function
58\newcommand{\lscope}{\setsty{lscope}} % scope of a location
59\newcommand{\static}{\setsty{static}} % static scope associated to a dynamic one
60\newcommand{\stack}{\setsty{stack}} % call stack
61\newcommand{\vars}{\setsty{vars}} % variables declared in a scope
62\newcommand{\ancestors}{\setsty{ancestors}} % as in tree
63\newcommand{\descendants}{\setsty{descendants}} % as in tree
64\newcommand{\returntype}{\setsty{returnType}} % function's return type
65\newcommand{\numparams}{\setsty{numParams}} % number of params for a func.
66\newcommand{\params}{\setsty{params}} % sequence of formal parameters
67\newcommand{\void}{\setsty{void}} % type for func. returning nothing
68\newcommand{\Loc}{\setsty{Loc}} % locations in function's trans. sys.
69\newcommand{\Func}{\mathcal{F}} % set of function symbols
70\newcommand{\true}{\textit{true}} % boolean value true
71\newcommand{\false}{\textit{false}} % boolean value false
72\newcommand{\default}{\setsty{default}} % default value of type
73\newcommand{\len}{\setsty{length}} % length of sequence
74\newcommand{\func}{\setsty{func}} % function a static scope belongs to
75
76% Dynamic notions...
77\newcommand{\fnode}{\setsty{fnode}} % function node of dyscope
78\newcommand{\State}{\setsty{State}} % set of all states of model
79\newcommand{\deval}{\setsty{deval}} % valuation on dyscope
80\newcommand{\droot}{\setsty{droot}} % root dyscope
81\newcommand{\Frame}{\setsty{Frame}} % set of activation frames
82
83% Tables...
84\newcommand{\notationtable}{%
85 \begin{tabular}{lll}
86 Symbol & Section & Meaning\\ \hline
87 $\B$ & \S\ref{sec:notation} & \{\true,\false\}\\
88 $\N$ & \S\ref{sec:notation} & \{0,1,2,\ldots\}\\
89 $\ancestors$ & \S\ref{sec:notation} & set of ancestors of node in a tree (inclusive)\\
90 $\descendants$ & \S\ref{sec:notation} & set of descendants of node
91 in a tree (inclusive)\\
92 $\len$ & \S\ref{sec:notation} & length of a sequence\\
93 $\Var$ & \S\ref{sec:context} & the set of all variables\\
94 $\bool$ & \S\ref{sec:context} & the boolean type\\
95 $\proc$ & \S\ref{sec:context} & the process reference type\\
96 $\Val$ & \S\ref{sec:context} & the set of all values\\
97 $\Val_t$ & \S\ref{sec:context} & values of type $t$\\
98 $\default_t$ & \S\ref{sec:context} & default value of type $t$\\
99 $\vtype$ & \S\ref{sec:context} & function $\Var\ra\Type$ giving type of each variable\\
100 $\Eval$ & \S\ref{sec:context} & set of all valuations on $\Var$\\
101 $\Eval(V)$ & \S\ref{sec:state} & set of all valuations on variables in $V\subseteq\Var$\\
102 $\Expr$ & \S\ref{sec:context} & set of typed expressions over $\Var$\\
103 $\etype$ & \S\ref{sec:context} & $\Expr\ra\Type$, gives type of each expression\\
104 $\eval$ & \S\ref{sec:context} & $\Expr\times\Eval\ra\Val$, the evaluation function\\
105 $\mathcal{C}$ & \S\ref{sec:context} & a CIVL context\\
106 $\Sigma$ & \S\ref{sec:scopes} & set of all static scopes\\
107 $\rootscope$ & \S\ref{sec:scopes} & the root scope (member of $\Sigma$)\\
108 $\sparent$ & \S\ref{sec:scopes} & $\Sigma\setminus\{\rootscope\}\ra\Sigma$, parent function in static scope tree\\
109 $\vars$ & \S\ref{sec:scopes} & $\Sigma\ra 2^{\Var}$, specifies variables declared in scope\\
110 $\Lambda$ & \S\ref{sec:scopes} & a lexical scope system\\
111 $\void$ & \S\ref{sec:functions} & type used for function that does not return a value\\
112 $\Type'$ & \S\ref{sec:functions} & $\Type\cup\{\void\}$\\
113 $\Func$ & \S\ref{sec:functions} & set of function symbols\\
114 $\fscope$ & \S\ref{sec:functions} & $\Func\ra\Sigma\setminus\{\rootscope\}$, gives function scope of each function\\
115 $\returntype$ & \S\ref{sec:functions} & $\Func\ra\Type'$, gives return type of each function\\
116% $\numparams$ & \S\ref{sec:functions} & $\Func\ra\N$, gives number of inputs for each function\\
117 $\params$ & \S\ref{sec:functions} & $\Func\ra\Var^*$, formal
118 parameter sequence for $f\in\Func$\\
119 $f_0$ & \S\ref{sec:functions} & the root function (member of
120 $\mathcal{F}$)\\
121 $\func$ & \S\ref{sec:functions} & $\Sigma\ra\Func$, function to
122 which scope belongs\\
123 $\Loc_f$ & \S\ref{sec:gts} & set of locations for $f\in\Func$\\
124 $\lscope_f$ & \S\ref{sec:gts} & $\Loc_f\ra\Sigma$, gives scope of each location for $f\in\Func$\\
125 $\start_f$ & \S\ref{sec:gts} & start location for $f\in\Func$ (member of $\Loc_f$)\\
126 $T_f$ & \S\ref{sec:gts} & set of guarded transitions for $f\in\Func$\\
127 \end{tabular}
128}
129
130
131% CIVL-C keywords
132
133\newcommand{\cckey}{\$}
134\newcommand{\cc}[1]{\mbox{\texttt{\cckey{}#1}}}
135\newcommand{\cabstract}{\cc{abstract}}
136\newcommand{\ccontains}{\cc{contains}}
137\newcommand{\ccopy}{\cc{copy}}
138\newcommand{\cproc}{\cc{proc}}
139\newcommand{\cprocdefined}{\cc{proc{\U}defined}}
140\newcommand{\cprocNull}{\cc{proc{\U}null}}
141\newcommand{\cself}{\cc{self}}
142\newcommand{\cinput}{\cc{input}}
143\newcommand{\coutput}{\cc{output}}
144\newcommand{\cspawn}{\cc{spawn}}
145\newcommand{\cwait}{\cc{wait}}
146\newcommand{\cwaitall}{\cc{waitall}}
147\newcommand{\cassert}{\cc{assert}}
148\newcommand{\ctrue}{\cc{true}}
149\newcommand{\cfalse}{\cc{false}}
150\newcommand{\cassume}{\cc{assume}}
151\newcommand{\catom}{\cc{atom}}
152\newcommand{\catomic}{\cc{atomic}}
153\newcommand{\cwhen}{\cc{when}}
154\newcommand{\cchoose}{\cc{choose}}
155\newcommand{\cchooseint}{\cc{choose{\U}int}}
156\newcommand{\cinvariant}{\cc{invariant}}
157\newcommand{\crequires}{\cc{requires}}
158\newcommand{\censures}{\cc{ensures}}
159\newcommand{\cexit}{\cc{exit}}
160\newcommand{\cresult}{\cc{result}}
161\newcommand{\cat}{\texttt{@}}
162\newcommand{\ccollective}{\cc{collective}}
163\newcommand{\cequals}{\cc{equals}}
164\newcommand{\cfor}{\cc{for}}
165\newcommand{\cparfor}{\cc{parfor}}
166
167%\newcommand{\cheap}{\cc{heap}}
168\newcommand{\cscope}{\cc{scope}}
169\newcommand{\cscopedefined}{\cc{scope{\U}defined}}
170\newcommand{\cscopeof}{\cc{scopeof}}
171\newcommand{\cscopeparent}{\cc{scope{\U}parent}}
172\newcommand{\cscoperoot}{\cc{root}}
173\newcommand{\chere}{\cc{here}}
174\newcommand{\cregion}{\cc{region}}
175\newcommand{\cmalloc}{\cc{malloc}}
176\newcommand{\cfree}{\cc{free}}
177
178\newcommand{\cbundle}{\cc{bundle}}
179\newcommand{\cbundlesize}{\cc{bundle{\U}size}}
180\newcommand{\cbundlepack}{\cc{bundle{\U}pack}}
181\newcommand{\cbundleunpack}{\cc{bundle{\U}unpack}}
182\newcommand{\cbundleunpackapply}{\cc{bundle{\U}unpack{\U}apply}}
183
184\newcommand{\cmessage}{\cc{message}}
185\newcommand{\cmessagepack}{\cc{message{\U}pack}}
186\newcommand{\cmessagesource}{\cc{message{\U}source}}
187\newcommand{\cmessagetag}{\cc{message{\U}tag}}
188\newcommand{\cmessagedest}{\cc{message{\U}dest}}
189\newcommand{\cmessagesize}{\cc{message{\U}size}}
190\newcommand{\cmessageunpack}{\cc{message{\U}unpack}}
191
192
193\newcommand{\ccomm}{\cc{comm}}
194\newcommand{\ccommcreate}{\cc{comm{\U}create}}
195\newcommand{\cgcomm}{\cc{gcomm}}
196\newcommand{\cgcommcreate}{\cc{gcomm{\U}create}}
197
198\newcommand{\cbarrier}{\cc{barrier}}
199\newcommand{\cgbarrier}{\cc{gbarrier}}
200\newcommand{\cgbarriercreate}{\cc{gbarrier{\U}create}}
201\newcommand{\cbarriercreate}{\cc{barrier{\U}create}}
202\newcommand{\cbarriercall}{\cc{barrier{\U}call}}
203\newcommand{\cgbarrierdestroy}{\cc{gbarrier{\U}destroy}}
204\newcommand{\cbarrierdestroy}{\cc{barrier{\U}destroy}}
205\newcommand{\ccollator}{\cc{collator}}
206\newcommand{\cgcollator}{\cc{gcollator}}
207
208\newcommand{\cseqinit}{\cc{seq{\U}init}}
209\newcommand{\cseqlen}{\cc{seq{\U}length}}
210\newcommand{\cseqinsert}{\cc{seq{\U}insert}}
211\newcommand{\cseqrm}{\cc{seq{\U}remove}}
212
213\newcommand{\cforall}{\cc{forall}}
214\newcommand{\cexists}{\cc{exists}}
215\newcommand{\cimplies}{\ct{=>}}
216
217\newcommand{\crange}{\cc{range}}
218\newcommand{\cdomain}{\cc{domain}}
219\newcommand{\cdomainof}[1]{\cc{domain}\ct{(}#1\ct{)}}
220
221% version information
222\newcommand{\version}{v1.21}
223\newcommand{\versiondate}{2021-11-04}
Note: See TracBrowser for help on using the repository browser.