snakes.tex
4.96 KB
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
\documentclass{beamer}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[orientation=portrait,size=a4,scale=2]{beamerposter}
\usepackage[absolute,overlay]{textpos}
\usepackage{url}
\usepackage{tikz}
\tikzstyle{box}[yellow]=[draw=#1!70!black,fill=#1!50,very thick,
rounded corners,fill opacity=.25,draw opacity=.5,minimum height=2,outer sep=10pt]
\tikzstyle{dots}[yellow]=[color=#1!70!black,opacity=.25]
\tikzstyle{layer}[yellow]=[above,rotate=90,#1!70!black,opacity=.75]
\tikzstyle{label}=[below right=1mm,anchor=base west]
\parindent=0pt
\setbeamertemplate{navigation symbols}{}
\setlength{\TPHorizModule}{1cm}
\setlength{\TPVertModule}{1cm}
\def\minor #1{{\small\color{gray}#1}}
\def\remark #1{\minor{(#1)}}
\begin{document}
\begin{frame}[t]{}
%%
%% drawing grid
%%
\begin{textblock}{21}(0,0)
\begin{tikzpicture}[yellow!70,yscale=-1]
\draw[densely dotted] (0,0) grid (21,30);
\foreach \x in {1,...,20} {
\node at (\x,.5) {\x};
}
\foreach \x in {1,...,20} {
\node at (\x,29.5) {\x};
}
\foreach \y in {1,...,29} {
\node at (.5,\y) {\y};
}
\foreach \y in {1,...,29} {
\node at (20.5,\y) {\y};
}
\end{tikzpicture}
\end{textblock}
%%
%% title & logos
%%
\begin{textblock}{4}(1,1)
\includegraphics[height=38mm]{../pix/logo-snakes}
\end{textblock}
\begin{textblock}{9}(5,1)
{\Large\bfseries a high-level Petri nets library}\\[10pt]
{\large Franck Pommereau}\\[16pt]
IBISC/COSMO, university of Évry/Paris-Saclay\\[8pt]
\href{mailto:franck.pommereau@ibisc.univ-evry.fr}%
{franck.pommereau@ibisc.univ-evry.fr}\\
\href{https://snakes.ibisc.univ-evry.fr}%
{snakes.ibisc.univ-evry.fr}
\end{textblock}
\begin{textblock}{6}(14,1)
\begin{tikzpicture}[yscale=.9]
\node at (-2,0) {\includegraphics[width=35mm, height=35mm,
keepaspectratio=true]{../pix/logo-ibisc}};
\node at (1,1) {\includegraphics[width=20mm, height=20mm,
keepaspectratio=true]{../pix/logo-ueve}};
\node at (1,-1) {\includegraphics[width=20mm, height=20mm,
keepaspectratio=true]{../pix/logo-genopole}};
\end{tikzpicture}
\end{textblock}
%%
%% architecture
%%
\begin{textblock}{8}(5,5.5)
\begin{tikzpicture}[yscale=-1,xscale=1.1]
% core library
\draw[box] (.1,.1) rectangle (5.9,1.9);
\draw[box=orange] (6.1,.1) rectangle (7.9,1.9);
\node[dots=orange] at (8.5,1) {$\bullet\bullet\bullet$};
\node[layer=orange] at (0,1) {core library\strut};
\node[label] at (0,.5) {nets};
\node[label,text width=8cm,scale=.6] at (.1,1) {\itshape{%
Petri nets, places, transitions, arcs,\\
markings, marking graphs, \dots}};
\node[label] at (6,.5) {simul};
\node[label,text width=20mm,scale=.6] at (6.1,1) {\itshape{%
interactive simulation}};
% plugins
\draw[box=green] (.1,2.1) rectangle (1.9,3.9);
\draw[box=green] (2.1,2.1) rectangle (3.9,3.9);
\draw[box=green] (4.1,2.1) rectangle (5.9,3.9);
\draw[box=green] (6.1,2.1) rectangle (7.9,3.9);
\node[dots=green] at (8.5,3) {$\bullet\bullet\bullet$};
\node[layer=green] at (0,3) {plugins\strut};
\node[label] at (0,2.5) {ops};
\node[label,text width=24mm,scale=.6] at (.1,3) {\itshape{%
PBC\slash PNA \& M-nets\\ compositions}};
\node[label] at (2,2.5) {sync};
\node[label,text width=26mm,scale=.6] at (2.1,3) {\itshape{%
transitions\\ synchronisation}};
\node[label] at (4,2.5) {gv};
\node[label,text width=26mm,scale=.6] at (4.1,3) {\itshape{%
drawing with GraphViz}};
\node[label] at (6,2.5) {pids};
\node[label,text width=26mm,scale=.6] at (6.1,3) {\itshape{%
dynamic\\ process spawn\slash kill}};
% utilities
\draw[box=blue] (.1,4.1) rectangle (3.9,5.9);
\node[dots=blue] at (4.5,5) {$\bullet\bullet\bullet$};
\node[layer=blue] at (0,5) {utilities\strut};
\node[label] at (0,4.5) {abcd};
\node[label,text width=66mm,scale=.6] at (.1,5) {\itshape{%
compiler\slash simulator for the\\ Asynchronous Box Calculus\\
with Data}};
% sep
\draw[densely dotted,gray,thick](-.9,6) -- (9,6);
\node[above left,gray,scale=.7] at (9,6) {included in SNAKES};
\node[below left,gray,scale=.7] at (9,6) {not in SNAKES anymore};
% external tools
\draw[box=red] (.1,6.1) rectangle (3.9,7.9);
\node[dots=red] at (4.5,7) {$\bullet\bullet\bullet$};
\node[layer=red,text width=2cm,text centered] at (0,7) {external\\[-1mm] tools};
\node[label] at (0,6.5) {neco};
\node[label,text width=66mm,scale=.6] at (.1,7) {\itshape{%
net compiler,\\ state-space computation\\ \& LTL model-checking}};
\node at (3,6.5) {\includegraphics[height=5mm]{../pix/neco}};
\end{tikzpicture}
\end{textblock}
%%
%% core
%%
\begin{textblock}{4}(1,5.5)
\end{textblock}
\end{frame}
\end{document}