Franck Pommereau

initial import

*.aux
*.fdb_latexmk
*.fls
*.log
*.nav
*.out
*.snm
*.synctex.gz
*~
*.toc
*.vrb
/sloc
No preview for this file type

65.4 KB

\documentclass{beamer}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[orientation=portrait,size=a4,scale=2]{beamerposter}
\usepackage[absolute,overlay]{textpos}
\usepackage{url}
\usepackage{tikz}
\usetikzlibrary{shapes.callouts}
\parindent=0pt
\setbeamertemplate{navigation symbols}{}
\setlength{\TPHorizModule}{1cm}
\setlength{\TPVertModule}{1cm}
\def\${\texttt{{\color{gray}\string$}}}
\def\shell #1{{\setbox0\hbox{\texttt{#1\strut}}%
\dimen0=\dp0 \advance\dimen0 by 5pt
\leavevmode\raise -\dimen0 \hbox{$\smash{\tikz\node[shell]{\texttt{#1\strut}};}$}}}
\tikzstyle{shell}=[rounded corners,
inner sep=5pt,
align=flush left,
draw=black!10,
fill=black!5]
\tikzstyle{guide}=[line width=3pt,
rounded corners,
cap=round,
color=yellow!60!gray!50!white]
\def\minor #1{{\small\color{gray}#1}}
\def\remark #1{\minor{(#1)}}
\def\abcdC #1{{\color{blue!50!black!60!white}\texttt{\# #1}}}
\def\abcdK #1{{\texttt{\color{red!50!black}#1}}}
\def\abcdR #1{{\texttt{\color{purple!50!black}#1}}}
\def\abcdN #1{{\texttt{\color{green!50!black}#1}}}
\def\abcdA #1{\texttt{{\color{red!50!black}[}#1{\color{red!50!black}]}}}
\def\abcd #1{\texttt{#1}}
\def\NT #1{\texttt{\textit{\color{blue!50!black!60!white}#1}}}
\def\>{\texttt{~~~~}}
\def\*{$\color{gray}\triangleright$ \ignorespaces}
\def\+{$\phantom{\triangleright}$ \ignorespaces}
\def\({\leavevmode{\setbox0\hbox{(}\hbox to \wd0{\hfil}}\ignorespaces}
\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 \y in {1,...,29} {
%% \node at (.5,\y) {\y};
%% }
%% \end{tikzpicture}
%% \end{textblock}
%%
%% title & logos
%%
\begin{textblock}{19}(1,.7)
\begin{center}
\Huge\textbf{ABCD cheatsheet}
\end{center}
\end{textblock}
\begin{textblock}{1.5}(1,27.5)
\begin{tikzpicture}
\node[inner sep=0pt] (snk) {\includegraphics[width=15mm]{logo-snakes}};
\node[anchor=west,text width=6cm] at (snk.east)
{\tiny\color{gray}%
\copyright~2018 Franck Pommereau\\[4pt]
\href{mailto:franck.pommerau@univ-evry.fr}%
{franck.pommerau@univ-evry.fr}\\[-4pt]
\href{https://snakes.ibisc.univ-evry.fr}%
{snakes.ibisc.univ-evry.fr}};
\end{tikzpicture}
\end{textblock}
%%
%% command line interface
%%
\begin{textblock}{12}(1,2.7)
\advance\baselineskip by 14pt
\advance\parskip by 7pt
\noindent
\tikz\node[shell,text width=\textwidth-10pt] {\texttt{\$ abcd
{\color{red!50!black}[option]\dots}
{\color{green!50!black}spec.abcd}\strut}};
\shell{--pnml=FILE} save net as PNML \remark{SNAKES' variant}
\shell{--dot=FILE}
\shell{--neato=FILE}
\shell{--towpi=FILE}
\shell{--circo=FILE}
\shell{--fdp=FILE} draw net using a GraphViz engine
\shell{--load=PLUGIN} load a plugin before to build net
\remark{may be repeated}
\shell{--simul} start interactive simulator
\end{textblock}
%%
%% source structure
%%
\begin{textblock}{5}(15,2.7)
\begin{tikzpicture}[xscale=.8,yscale=-1]
\node[anchor=base west] at (.2,.8) {\abcdC{a comment}};
\node[anchor=base west] at (.2,1.3) {\abcdC{another comment}};
\path[fill=red,opacity=.1] (0,1.5) rectangle (6,4);
\node at (3,2.7) {\color{red!50!black}declarations};
\path[fill=green,opacity=.1] (0,4) rectangle (6,6);
\node at (3,5) {\color{green!50!black}process};
\draw[color=gray!70,line width=2pt,rounded corners] (0,0) -- (5,0) -- (6,1) -- (6,6) -- (0,6) -- cycle;
\draw[color=gray!70,line width=2pt,rounded corners,cap=round,shorten <=2pt,shorten >=2pt] (5,0) |- (6,1);
\end{tikzpicture}
\end{textblock}
%%
%% declarations
%%
\begin{textblock}{6}(1,11)
\textbf{buffer declarations:}
\abcdK{buffer} \NT{name}\abcdK{:} \NT{type} \abcdK{= ()}\\
\* empty buffer
\abcdK{buffer} \NT{name}\abcdK{:} \NT{type} \abcdK{=} \NT{val}\abcdK{,} \NT{\dots}\\
\* buffer with initial content
\vspace*{5pt}
\textbf{type expressions:}
any Python type or class\\
\* eg, \abcdR{int}, \abcdR{str}, \abcdR{object}, \dots,\\
\+ or user-defined classes
\abcdK{enum(}\NT{val}\abcdK{,} \NT{val}\abcdK{,} \NT{\dots}\abcdK{)}\\
\* enumerated type
\NT{type} \abcdK{*} \NT{type}\\
\* cross-product of types
\NT{type} \abcdK{|} \NT{type}\\
\* union of types
\NT{type} \abcdK{\&} \NT{type}\\
\* intersection of types
\vspace*{5pt}
\textbf{types definition:}$^\star$
\abcdK{typedef} \NT{name}\abcdK{:} \NT{type}\\
\vspace*{5pt}
\textbf{constants:}$^\star$
\abcdK{const} \NT{name} \abcdK{=} \NT{expr}
\vspace*{5pt}
\textbf{symbols:}$^\star$
\abcdK{symbol} \NT{name}\abcdK{,} \NT{\dots}\\
\* define fresh unique values
\vspace*{5pt}
\textbf{Python imports:}$^\star$
\* just use regular Python imports
\vspace*{5pt}
\tikz[remember picture]\node[inner sep=0pt](call) {\textbf{sub-processes}};
\vspace*{5pt}
\minor{$\star$ global declarations only}
\end{textblock}
%%
%% atomic actions
%%
\begin{textblock}{6}(14,9.9)
\textbf{atomic actions:}
\abcdA{\abcdR{True}}\\
\* no-op non-blocking action
\abcdA{\abcdR{False}}\\
\* always-blocking action
\abcdA{\NT{accesses}}\\
\* unguarded action
\abcdA{\NT{accesses} \abcdK{if} \NT{expr}}\\
\* guarded action
\vspace*{5pt}
\textbf{accesses:}
\abcdN{buff}\abcdK{-(}\NT{val}\abcdK{)}\\
\* consume \NT{val} from \abcdN{buff}
\abcdN{buff}\abcdK{-(}\NT{var}\abcdK{)}\\
\* consume a value from \abcdN{buff}\\
\+ and binds it to \NT{var}
\abcdN{buff}\abcdK{+(}\NT{expr}\abcdK{)}\\
\* produce a value into \abcdN{buff}
\abcdN{buff}\abcdK{?(}\NT{val}\abcdK{)}\\
\* test for \NT{val} in \abcdN{buff}
\abcdN{buff}\abcdK{?(}\NT{var}\abcdK{)}\\
\* test for a value in \abcdN{buff}\\
\+ and binds it to \NT{var}
\abcdN{buff}\abcdK{>>(}\NT{var}\abcdK{)}\\
\* flush \abcdN{buff} into \NT{var}
\abcdN{buff}\abcdK{<<(}\NT{var}\abcdK{)}\\
\* add the values contained in\\
\+ \NT{var} to \abcdN{buff}
\abcdN{buff}\abcdK{<>(}\NT{val}\abcdK{=}\NT{expr}\abcdK{)}\\
\* replace \NT{val} in \abcdN{buff}\\
\+ with \NT{expr}
\abcdN{buff}\abcdK{<>(}\NT{var}\abcdK{=}\NT{expr}\abcdK{)}\\
\* replace \NT{var} in \abcdN{buff}\\
\+ with \NT{expr}
\vspace*{5pt}
\remark{a comma-separated list of accesses\\[-2pt]
\( is performed atomically}
\end{textblock}
%%
%% control flow
%%
\begin{textblock}{5}(8,11.7)
\textbf{control flow:}
\NT{process} \abcdK{;} \NT{process}\\
\* sequential composition
\NT{process} \abcdK{*} \NT{process}\\
\* non-deterministic choice\\
\+ \remark{use opposite guards to\\[-2pt]
\+\( make it deterministic}
\NT{process} \abcdK{*} \NT{process}\\
\* iterate left-hand-side and\\
\+ exit with right-hand-side
\NT{process} \abcdK{|} \NT{process}\\
\* parallel composition
\vspace*{5pt}
\remark{no priorities $\Rightarrow$ use parentheses}
\vspace*{5pt}
\textbf{sub-process instances:}
\NT{name}\abcdK{(}\NT{args}\abcdK{)}\\
\* substitute \NT{args} in net \NT{name}\\
\+ scope its local buffers\\
\+ insert the net
\tikz\draw[guide,dashed,dash pattern=on 12pt off 6pt](0,0) -- (5,0);
\vspace*{5pt}
\leavevmode\hbox to 0pt{\tikz[remember picture]\node[inner sep=3pt](suite){};\hss}%
\textbf{sub-process declarations:}
\abcdK{net} \NT{name} \abcdK{(}\NT{params}\abcdK{):}\\[-4pt]
\begin{tikzpicture}[yscale=-1]
\node[fill=red,opacity=.1,text opacity=1,minimum width=4cm,minimum height=1cm]
at (2.6,0) {\color{red!50!black}declarations};
\node[fill=green,opacity=.1,text opacity=1,minimum width=4cm,minimum height=1cm]
at (2.6,1) {\color{green!50!black}process};
\node[rotate=90,text width=2cm,text centered,opacity=.3] at (0,.5) {\small indented\\[-5pt] block};
\end{tikzpicture}
\vspace*{5pt}
\textbf{sub-process parameters:}
\NT{name}\\
\* a value is expected
\NT{name}\abcdK{: buffer}\\
\* a buffer name is expected
\end{textblock}
%%
%% guide lines
%%
\begin{textblock}{21}(0,-.3)
\begin{tikzpicture}[overlay,remember picture,yscale=-1]
\draw[guide,->] (3.6,3.8) -- +(0,.7);
\draw[guide,->] (6.7,3.8) |- +(8.35,.6);
\draw[guide,->] (16.2,5.8) -| (14,9) -- (10,10.5) -| (3,11.2);
\draw[guide,->] (17.5,8.3) |- (15.5,9.5) -- (15.5,10.2);
\draw[guide,->] (16,9.5) -- (14,9.5) -- (9.5,11.2) -- (9.5,11.9);
\draw[guide,->,shorten >=3pt,shorten <=3pt] (call) -| (7.5,25) |- (suite);
\end{tikzpicture}
\end{textblock}
\end{frame}
\end{document}
This diff could not be displayed because it is too large.
No preview for this file type
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
No preview for this file type
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
No preview for this file type
This diff could not be displayed because it is too large.
No preview for this file type
This diff could not be displayed because it is too large.
No preview for this file type
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="152.50768"
height="46.106602"
id="svg3552"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="neco-plain.svg">
<defs
id="defs3554" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="375"
inkscape:cy="177.14288"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1440"
inkscape:window-height="850"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
borderlayer="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata3557">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1006.2556)">
<path
style="fill:#000000"
d="M 0 0 L 0 22.09375 C 1.83581 17.42535 5.24048 13.538 9.59375 11.125 L 0 0 z M 39.59375 0 L 30 11.125 C 34.35327 13.538 37.75794 17.42535 39.59375 22.09375 L 39.59375 0 z M 61.375 11.09375 L 61.375 11.125 C 50.63541 11.4001 42 19.10445 42 28.59375 C 42 28.89025 41.9831 29.17575 42 29.46875 C 42.51531 38.54975 50.97083 45.82745 61.375 46.09375 C 61.57174 46.10375 61.77092 46.09375 61.96875 46.09375 C 62.31315 46.09375 62.66009 46.10875 63 46.09375 L 77 46.09375 L 77 36.46875 L 75 36.46875 L 70.71875 36.46875 L 68.71875 36.46875 L 65.125 36.46875 L 64.40625 36.46875 C 64.25329 36.47875 64.0611 36.46875 63.90625 36.46875 L 63.65625 36.46875 L 63.15625 36.46875 L 62.4375 36.46875 C 62.28454 36.47875 62.09235 36.46875 61.9375 36.46875 L 61.6875 36.46875 C 58.512238 36.387444 55.744751 34.846258 54.21875 32.59375 L 77 32.59375 L 77 24.59375 L 54.21875 24.59375 C 55.744773 22.341214 58.512304 20.800056 61.6875 20.71875 L 61.9375 20.71875 L 63.15625 20.71875 L 63.65625 20.71875 L 63.90625 20.71875 L 65.125 20.71875 L 70.71875 20.71875 L 75 20.71875 L 77 20.71875 L 77 11.09375 L 61.96875 11.09375 L 61.375 11.09375 z M 99.375 11.09375 L 99.375 11.125 C 88.63541 11.4001 80 19.10445 80 28.59375 C 80 28.89025 79.9831 29.17575 80 29.46875 C 80.51531 38.54975 88.97083 45.82745 99.375 46.09375 C 99.57173 46.10375 99.77092 46.09375 99.96875 46.09375 C 100.31315 46.09375 100.66009 46.10875 101 46.09375 L 115 46.09375 L 115 36.46875 L 113 36.46875 L 108.71875 36.46875 L 106.71875 36.46875 L 103.125 36.46875 L 102.40625 36.46875 C 102.25329 36.47875 102.06111 36.46875 101.90625 36.46875 L 101.65625 36.46875 L 101.15625 36.46875 L 100.4375 36.46875 C 100.28454 36.47875 100.09234 36.46875 99.9375 36.46875 L 99.6875 36.46875 C 94.85659 36.34505 90.9375 32.86215 90.9375 28.59375 C 90.9375 24.32525 94.85669 20.84245 99.6875 20.71875 L 99.9375 20.71875 L 101.15625 20.71875 L 101.65625 20.71875 L 101.90625 20.71875 L 103.125 20.71875 L 108.71875 20.71875 L 113 20.71875 L 115 20.71875 L 115 11.09375 L 99.96875 11.09375 L 99.375 11.09375 z M 135 11.09375 C 125.33502 11.09375 117.5 18.92875 117.5 28.59375 C 117.5 38.25875 125.33502 46.09375 135 46.09375 C 144.66498 46.09375 152.5 38.25875 152.5 28.59375 C 152.5 18.92875 144.66498 11.09375 135 11.09375 z M 19 11.125 C 8.6196799 11.6403 0.30442 20.06455 0 30.46875 C -0.006 30.66545 0 30.8647 0 31.0625 C 0 31.4069 -0.0173 31.75385 0 32.09375 L 0 46.09375 L 11 46.09375 L 11 44.125 L 11 39.8125 L 11 37.8125 L 11 34.25 L 11 33.53125 C 10.992 33.37825 11 33.18615 11 33.03125 C 11 32.94225 10.997 32.87005 11 32.78125 L 11 32.25 L 11 31.53125 C 10.992 31.37835 11 31.18605 11 31.03125 C 11 30.94225 10.997 30.86995 11 30.78125 C 11.14135 25.95035 15.12074 22.0625 20 22.0625 C 24.87919 22.0625 28.85855 25.95045 29 30.78125 L 29 31.03125 L 29 32.25 L 29 32.78125 L 29 33.03125 L 29 34.25 L 29 39.8125 L 29 44.125 L 29 46.09375 L 40 46.09375 L 40 31.0625 L 40 30.46875 L 39.96875 30.46875 C 39.6543 19.72915 30.84691 11.125 20 11.125 C 19.66103 11.125 19.33485 11.108 19 11.125 z M 135.25 19.5 C 140.22056 19.5 144.25 23.5295 144.25 28.5 C 144.25 33.4706 140.22056 37.5 135.25 37.5 C 130.27944 37.5 126.25 33.4706 126.25 28.5 C 126.25 23.5295 130.27944 19.5 135.25 19.5 z "
transform="translate(0,1006.2556)"
id="path3307-2" />
</g>
</svg>
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: cairo 1.10.2 (http://cairographics.org)
%%CreationDate: Wed Nov 6 19:19:23 2013
%%Pages: 1
%%BoundingBox: 0 -1 123 38
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%EndComments
%%BeginProlog
/cairo_eps_state save def
/dict_count countdictstack def
/op_count count 1 sub def
userdict begin
/q { gsave } bind def
/Q { grestore } bind def
/cm { 6 array astore concat } bind def
/w { setlinewidth } bind def
/J { setlinecap } bind def
/j { setlinejoin } bind def
/M { setmiterlimit } bind def
/d { setdash } bind def
/m { moveto } bind def
/l { lineto } bind def
/c { curveto } bind def
/h { closepath } bind def
/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
0 exch rlineto 0 rlineto closepath } bind def
/S { stroke } bind def
/f { fill } bind def
/f* { eofill } bind def
/n { newpath } bind def
/W { clip } bind def
/W* { eoclip } bind def
/BT { } bind def
/ET { } bind def
/pdfmark where { pop globaldict /?pdfmark /exec load put }
{ globaldict begin /?pdfmark /pop load def /pdfmark
/cleartomark load def end } ifelse
/BDC { mark 3 1 roll /BDC pdfmark } bind def
/EMC { mark /EMC pdfmark } bind def
/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
/Tj { show currentpoint cairo_store_point } bind def
/TJ {
{
dup
type /stringtype eq
{ show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
} forall
currentpoint cairo_store_point
} bind def
/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
/Tf { pop /cairo_font exch def /cairo_font_matrix where
{ pop cairo_selectfont } if } bind def
/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
/cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
/cairo_font where { pop cairo_selectfont } if } bind def
/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
/g { setgray } bind def
/rg { setrgbcolor } bind def
/d1 { setcachedevice } bind def
%%EndProlog
%%Page: 1 1
%%BeginPageSetup
%%PageBoundingBox: 0 -1 123 38
%%EndPageSetup
q 0 -1 123 39 rectclip q
0 37.057 123 -38 re W n
0 g
0.004 6.6 m 0.008 14.42 1.023 18.631 3.785 22.287 c 9.297 29.588 21.344
29.69 27.402 22.49 c 30.277 19.073 31.191 15.338 31.195 6.998 c 31.199
-0.002 l 23.199 -0.002 l 23.199 6.826 l 23.199 15.061 21.965 18.526
18.516 19.951 c 15.648 21.139 13 20.666 10.301 18.483 c 8.555 17.069
8.379 16.26 8.129 8.471 c 7.855 -0.002 l 0 -0.002 l h
42.406 1.276 m 31.719 5.908 30.297 19.108 39.781 25.615 c 42.367 27.389
43.645 27.627 51.738 27.869 c 60.801 28.139 l 60.801 20.799 l 52.977
20.799 l 44.91 20.799 41.602 19.74 41.602 17.155 c 41.602 16.213 43.367
15.998 51.199 15.998 c 60.801 15.998 l 60.801 12.049 l 50.707 11.823 l
40.617 11.6 l 42.234 9.6 l 43.75 7.733 44.418 7.58 52.328 7.326 c
60.801 7.053 l 60.801 -0.002 l 53 0.03 l 47.859 0.053 44.246 0.475
42.406 1.276 c h
73.324 1.166 m 64.008 4.49 60.91 16.045 67.453 23.076 c 71.055 26.951
74.492 27.998 83.566 27.998 c 92 27.998 l 92 20.799 l 84.348 20.799 l
74.332 20.799 71.277 19.19 71.227 13.869 c 71.207 12.01 71.852 10.795
73.66 9.272 c 75.949 7.346 76.688 7.201 84.062 7.201 c 92 7.201 l 92
-0.002 l 84.199 0.033 l 79.715 0.057 75.094 0.537 73.324 1.166 c h
101.938 1.518 m 88.32 7.701 92.969 27.998 108 27.998 c 112.547 27.998
116.098 26.311 119.035 22.748 c 124.84 15.705 122.402 5.307 114.062
1.518 c 109.922 -0.365 106.078 -0.365 101.938 1.518 c h
113.238 9.162 m 117.883 13.811 114.691 20.799 107.918 20.799 c 103.684
20.799 100.801 18.045 100.801 13.998 c 100.801 9.92 103.68 7.201 108
7.201 c 110.406 7.201 111.793 7.717 113.238 9.162 c h
0.004 28.201 m 0.004 32.932 0.16 36.799 0.355 36.799 c 0.551 36.799
2.363 34.772 4.383 32.295 c 8.051 27.791 l 5.602 26.096 l 4.254 25.162
2.445 23.319 1.582 21.998 c 0.012 19.6 l h
28.398 23.475 m 27.078 24.94 25.309 26.514 24.461 26.979 c 23.027 27.76
23.191 28.139 26.859 32.44 c 30.801 37.057 l 31.043 32.928 l 31.176
30.658 31.176 27.002 31.043 24.807 c 30.801 20.811 l h
28.398 23.475 m f
Q Q
showpage
%%Trailer
count op_count sub {pop} repeat
countdictstack dict_count sub {end} repeat
cairo_eps_state restore
%%EOF
No preview for this file type

2.13 KB

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
width="153"
height="47"
sodipodi:docname="neco.png">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1015"
inkscape:window-height="727"
id="namedview4"
showgrid="false"
inkscape:zoom="2.0915033"
inkscape:cx="76.5"
inkscape:cy="23.5"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
style="fill:#000000"
d="m 0.483702,37.315625 c 0.0066,-9.773594 1.275404,-15.037416 4.726537,-19.608846 6.889748,-9.12628 21.945633,-9.255004 29.520827,-0.252398 3.59163,4.268411 4.734838,8.936553 4.741482,19.361244 l 0.0056,8.75 -5,0 -5,0 0,-8.532119 c 0,-10.291666 -1.546204,-14.623058 -5.857583,-16.40889 -3.583891,-1.484496 -6.890775,-0.892363 -10.265968,1.838232 -2.184185,1.767046 -2.404039,2.779373 -2.717474,12.512684 l -0.341028,10.590093 -4.908975,0 -4.908975,0 0.0056,-8.25 z m 53.001563,6.657017 C 40.128959,38.180601 38.34933,21.681136 50.203718,13.548449 c 3.232454,-2.217621 4.828988,-2.51872 14.946713,-2.818877 l 11.327694,-0.336053 0,4.586053 0,4.586053 -9.777494,0 c -10.086979,0 -14.222506,1.324969 -14.222506,4.556704 0,1.177545 2.209535,1.443296 12,1.443296 l 12,0 0,2.470123 0,2.470123 -12.615026,0.279877 -12.615025,0.279877 2.024933,2.5 c 1.89071,2.334287 2.726899,2.522605 12.615025,2.841025 l 10.590093,0.341025 0,4.408975 0,4.408975 -9.75,-0.03914 c -6.426655,-0.0258 -10.940562,-0.555436 -13.24286,-1.553841 z m 38.648049,0.134334 C 80.48609,39.954169 76.616145,25.510955 84.794737,16.718307 c 4.50263,-4.840691 8.798019,-6.152682 20.143553,-6.152682 l 10.53984,0 0,4.5 0,4.5 -9.56574,0 c -12.520023,0 -16.335594,2.014763 -16.402462,8.661106 -0.02339,2.325117 0.781871,3.845768 3.044922,5.75 2.857661,2.404564 3.783267,2.588894 13.00001,2.588894 l 9.92327,0 0,4.5 0,4.5 -9.75,-0.04389 c -5.60734,-0.02525 -11.383622,-0.62636 -13.594816,-1.414759 z m 35.766206,-0.437682 c -17.02138,-7.730731 -11.21262,-33.103669 7.5786,-33.103669 5.68429,0 10.12256,2.112161 13.79167,6.563414 7.25642,8.8033 4.2127,21.805107 -6.21307,26.540255 -5.17621,2.350918 -9.98099,2.350918 -15.1572,0 z m 14.12405,-9.558214 c 5.81053,-5.810515 1.81901,-14.545455 -6.64667,-14.545455 -5.29434,0 -8.89878,3.44291 -8.89878,8.5 0,5.100619 3.59934,8.5 9,8.5 3.0101,0 4.73939,-0.648485 6.54545,-2.454545 z M 0.484714,10.315625 c -0.0036,-5.9125 0.193687,-10.75 0.43847,-10.75 0.244782,0 2.508967,2.533665 5.031523,5.630366 l 4.586464,5.630367 -3.061923,2.119633 C 5.795191,14.11179 3.53397,16.415625 2.454314,18.065625 l -1.963011,3 -0.0066,-10.75 z m 35.493411,5.907672 c -1.65,-1.830049 -3.865725,-3.800848 -4.923833,-4.379551 -1.791416,-0.979767 -1.584926,-1.449581 3,-6.825718 l 4.923833,-5.77353 0.30226,5.160564 c 0.166242,2.83831 0.166242,7.407196 0,10.153081 l -0.30226,4.992518 -3,-3.327364 z"
id="path2987"
inkscape:connector-curvature="0" />
</svg>
This diff is collapsed. Click to expand it.
No preview for this file type

10.5 KB

This diff is collapsed. Click to expand it.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
\ProvidesPackage{pygments}
\makeatletter
\def\PY@reset{\let\PY@it=\relax \let\PY@bf=\relax%
\let\PY@ul=\relax \let\PY@tc=\relax%
\let\PY@bc=\relax \let\PY@ff=\relax}
\def\PY@tok#1{\csname PY@tok@#1\endcsname}
\def\PY@toks#1+{\ifx\relax#1\empty\else%
\PY@tok{#1}\expandafter\PY@toks\fi}
\def\PY@do#1{\PY@bc{\PY@tc{\PY@ul{%
\PY@it{\PY@bf{\PY@ff{#1}}}}}}}
\def\PY#1#2{\PY@reset\PY@toks#1+\relax+\PY@do{#2}}
\def\PY@tok@gd{\def\PY@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
\def\PY@tok@gu{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
\def\PY@tok@gt{\def\PY@tc##1{\textcolor[rgb]{0.00,0.25,0.82}{##1}}}
\def\PY@tok@gs{\let\PY@bf=\textbf}
\def\PY@tok@gr{\def\PY@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
\def\PY@tok@cm{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\def\PY@tok@vg{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\def\PY@tok@m{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\def\PY@tok@mh{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\def\PY@tok@go{\def\PY@tc##1{\textcolor[rgb]{0.50,0.50,0.50}{##1}}}
\def\PY@tok@ge{\let\PY@it=\textit}
\def\PY@tok@vc{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\def\PY@tok@il{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\def\PY@tok@cs{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\def\PY@tok@cp{\def\PY@tc##1{\textcolor[rgb]{0.74,0.48,0.00}{##1}}}
\def\PY@tok@gi{\def\PY@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
\def\PY@tok@gh{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\def\PY@tok@ni{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.60,0.60,0.60}{##1}}}
\def\PY@tok@nl{\def\PY@tc##1{\textcolor[rgb]{0.63,0.63,0.00}{##1}}}
\def\PY@tok@nn{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\def\PY@tok@no{\def\PY@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
\def\PY@tok@na{\def\PY@tc##1{\textcolor[rgb]{0.49,0.56,0.16}{##1}}}
\def\PY@tok@nb{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@nc{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\def\PY@tok@nd{\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
\def\PY@tok@ne{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.82,0.25,0.23}{##1}}}
\def\PY@tok@nf{\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\def\PY@tok@si{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
\def\PY@tok@s2{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\def\PY@tok@vi{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\def\PY@tok@nt{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@nv{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\def\PY@tok@s1{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\def\PY@tok@sh{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\def\PY@tok@sc{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\def\PY@tok@sx{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@bp{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@c1{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\def\PY@tok@kc{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@c{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\def\PY@tok@mf{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\def\PY@tok@err{\def\PY@bc##1{\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{##1}}}
\def\PY@tok@kd{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@ss{\def\PY@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\def\PY@tok@sr{\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
\def\PY@tok@mo{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\def\PY@tok@kn{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@mi{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\def\PY@tok@gp{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\def\PY@tok@o{\def\PY@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\def\PY@tok@kr{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@s{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\def\PY@tok@kp{\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@w{\def\PY@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
\def\PY@tok@kt{\def\PY@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}}
\def\PY@tok@ow{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
\def\PY@tok@sb{\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\def\PY@tok@k{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\def\PY@tok@se{\let\PY@bf=\textbf\def\PY@tc##1{\textcolor[rgb]{0.73,0.40,0.13}{##1}}}
\def\PY@tok@sd{\let\PY@it=\textit\def\PY@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\def\PYZbs{\char`\\}
\def\PYZus{\char`\_}
\def\PYZob{\char`\{}
\def\PYZcb{\char`\}}
\def\PYZca{\char`\^}
\def\PYZsh{\char`\#}
\def\PYZpc{\char`\%}
\def\PYZdl{\char`\$}
\def\PYZti{\char`\~}
% for compatibility with earlier versions
\def\PYZat{@}
\def\PYZlb{[}
\def\PYZrb{]}
\makeatother
This diff is collapsed. Click to expand it.
No preview for this file type
This diff could not be displayed because it is too large.
This diff is collapsed. Click to expand it.
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: cairo 1.10.2 (http://cairographics.org)
%%CreationDate: Wed Nov 6 17:33:45 2013
%%Pages: 1
%%BoundingBox: 0 -1 254 157
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%EndComments
%%BeginProlog
/cairo_eps_state save def
/dict_count countdictstack def
/op_count count 1 sub def
userdict begin
/q { gsave } bind def
/Q { grestore } bind def
/cm { 6 array astore concat } bind def
/w { setlinewidth } bind def
/J { setlinecap } bind def
/j { setlinejoin } bind def
/M { setmiterlimit } bind def
/d { setdash } bind def
/m { moveto } bind def
/l { lineto } bind def
/c { curveto } bind def
/h { closepath } bind def
/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
0 exch rlineto 0 rlineto closepath } bind def
/S { stroke } bind def
/f { fill } bind def
/f* { eofill } bind def
/n { newpath } bind def
/W { clip } bind def
/W* { eoclip } bind def
/BT { } bind def
/ET { } bind def
/pdfmark where { pop globaldict /?pdfmark /exec load put }
{ globaldict begin /?pdfmark /pop load def /pdfmark
/cleartomark load def end } ifelse
/BDC { mark 3 1 roll /BDC pdfmark } bind def
/EMC { mark /EMC pdfmark } bind def
/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
/Tj { show currentpoint cairo_store_point } bind def
/TJ {
{
dup
type /stringtype eq
{ show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
} forall
currentpoint cairo_store_point
} bind def
/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
/Tf { pop /cairo_font exch def /cairo_font_matrix where
{ pop cairo_selectfont } if } bind def
/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
/cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
/cairo_font where { pop cairo_selectfont } if } bind def
/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
/g { setgray } bind def
/rg { setrgbcolor } bind def
/d1 { setcachedevice } bind def
%%EndProlog
%%Page: 1 1
%%BeginPageSetup
%%PageBoundingBox: 0 -1 254 157
%%EndPageSetup
q 0 -1 254 158 rectclip q
0 156.105 254 -157 re W n
0 g
95.027 1.093 m 86.047 3.968 75.254 14.156 72.016 22.808 c 71.148 25.124
69.852 30.718 69.133 35.238 c 68.414 39.761 67.148 45.66 66.316 48.347
c 63.754 56.652 55.895 63.871 49.418 63.871 c 45.777 63.871 41.227
60.574 39.52 56.706 c 36.805 50.554 30.746 49.656 23.398 54.316 c
18.652 57.328 12.438 59.648 7.316 60.328 c 2.941 60.91 0 62.999 0
65.531 c 0 71.019 8.582 79.648 19.48 85.117 c 29.113 89.949 31.887
89.863 38.383 84.546 c 41.68 81.847 43.711 81.734 50.398 83.871 c
53.156 84.749 57.457 85.468 59.961 85.468 c 75.086 85.468 82.25 77.101
86.781 54.144 c 89.59 39.894 93.363 32.761 98.812 31.394 c 102.578
30.449 107.191 32.574 109.969 36.539 c 112.109 39.589 112.434 40.789
112.668 46.539 c 112.934 52.917 112.855 53.226 109.418 59.871 c 107.484
63.609 104.066 69.644 101.82 73.281 c 99.574 76.917 96.988 82.117 96.07
84.835 c 91.945 97.05 95.531 117.632 104.191 131.46 c 110.5 141.535
120.035 149.671 129.832 153.335 c 136.883 155.976 147.793 156.824
157.199 155.464 c 167.828 153.929 170.332 153.16 178.664 148.874 c
194.867 140.539 202.461 127.581 202.691 107.871 c 202.84 95.261 201.426
90.355 192.32 71.871 c 188.176 63.464 184.418 54.933 183.965 52.906 c
181.445 41.675 188.422 34.074 196.648 39.089 c 200.586 41.492 202.359
46.113 202.383 54.031 c 202.426 69.542 207.281 78.617 218.281 83.734 c
222.082 85.499 223.883 85.828 229.602 85.792 c 237.391 85.742 242.578
83.91 247.07 79.621 c 256.25 70.851 256.289 54.105 247.145 49.441 c
241.309 46.464 239.254 48.902 242.398 55.07 c 245.828 61.785 243.387
68.39 236.742 70.382 c 227.625 73.113 220 64.191 220 50.789 c 220
48.156 219.598 43.628 219.109 40.734 c 216.766 26.902 205.703 16.093
191.148 13.417 c 184.629 12.218 177.816 13.769 171.734 17.831 c 166.656
21.23 163.816 24.749 160.539 31.714 c 158.23 36.624 158.02 37.734
158.043 45.07 c 158.07 52.621 158.258 53.519 161.43 61.148 c 165.762
71.558 167.977 80.152 168.551 88.749 c 169.617 104.734 161.719 115.195
148.496 115.316 c 139.973 115.398 133.852 111.32 130.117 103.07 c
128.852 100.277 128.496 97.855 128.52 92.269 c 128.551 85.804 128.906
84.128 131.973 75.871 c 138.316 58.796 139.301 55.488 140.004 48.843 c
141.16 37.925 139.566 31.085 133.496 20.953 c 123.988 5.078 108.137
-3.106 95.027 1.093 c h
113.602 5.234 m 122.555 9.566 132.758 22.05 136.086 32.742 c 139.273
42.988 138.039 52.101 130.895 71.07 c 125.234 86.105 124.312 96.121
127.855 104.128 c 132.527 114.687 143.926 120.265 154.539 117.179 c
165.309 114.046 171.168 104.671 171.191 90.519 c 171.203 83.238 169.883
77.601 164.27 60.925 c 159.766 47.55 l 160.629 41.972 l 161.797 34.433
166.184 25.699 170.883 21.566 c 181.902 11.863 200.41 14.527 210.48
27.265 c 214.391 32.21 215.797 36.863 217.32 49.871 c 218.281 58.054
218.992 61.113 220.672 64.242 c 223.105 68.781 227.855 72.488 232.137
73.183 c 236.199 73.839 243.422 70.507 245.145 67.179 c 246.832 63.914
246.699 58.609 244.828 54.488 c 242.309 48.933 246.18 49.132 249.645
54.738 c 251.812 58.246 251.973 64.171 250.043 69.468 c 246.684 78.703
241.309 82.456 230.762 82.929 c 224.91 83.195 223.848 82.996 219.102
80.753 c 209.43 76.183 205.828 69.589 204.758 54.499 c 203.957 43.206
202.73 39.804 198.41 36.871 c 195.297 34.753 189.887 34.464 186.465
36.234 c 185.121 36.929 183.477 38.953 182.406 41.234 c 180.875 44.488
180.668 45.945 181.035 50.828 c 181.43 56.042 182.074 57.769 187.902
69.226 c 196.059 85.257 198.066 89.929 199.078 95.214 c 200.762 104.015
200.844 107.058 199.602 114.781 c 197.574 127.386 192.914 135.812
184.52 142.042 c 171.562 151.656 157.188 155.031 139.457 152.617 c
124.531 150.585 110.863 140.167 103.699 125.355 c 99.719 117.124 96.801
105.097 96.801 96.91 c 96.801 88.64 100.363 78.679 106.547 69.664 c
111.211 62.867 114.598 54.515 115 48.824 c 115.508 41.632 114.203
37.289 110.242 32.992 c 106.645 29.085 103.402 27.835 99.262 28.753 c
92.5 30.257 88.25 36.257 85.688 47.917 c 81.453 67.175 78.707 74.175
73.777 78.249 c 67.934 83.085 58.836 84.312 50.246 81.417 c 42.434
78.785 39.84 79.078 35.512 83.066 c 32.215 86.101 31.535 86.402 28.918
85.98 c 24.656 85.292 15.172 80.378 10.039 76.199 c 5.418 72.433 2.07
67.261 2.883 65.144 c 3.379 63.847 3.648 63.742 10.398 62.214 c 12.82
61.664 18.016 59.652 21.941 57.742 c 26.57 55.492 30.164 54.269 32.148
54.269 c 34.977 54.269 35.41 54.589 37.738 58.371 c 40.504 62.863 46.23
67.074 49.555 67.062 c 52.949 67.046 59.41 63.531 62.656 59.929 c
66.695 55.449 68.484 51.05 70.441 40.781 c 73.172 26.433 74.398 22.535
77.641 17.906 c 87.422 3.949 101.027 -0.848 113.602 5.234 c h
113.602 5.234 m f
Q Q
showpage
%%Trailer
count op_count sub {pop} repeat
countdictstack dict_count sub {end} repeat
cairo_eps_state restore
%%EOF
No preview for this file type
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
width="350"
height="226"
sodipodi:docname="snake-shadow.png">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1349"
inkscape:window-height="708"
id="namedview4"
showgrid="false"
inkscape:zoom="0.91428571"
inkscape:cx="175"
inkscape:cy="113"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="0"
inkscape:current-layer="svg2" />
<path
style="fill:#000000"
d="m 136.25343,213.03298 c -11.22578,-3.59671 -24.71752,-16.32957 -28.76477,-27.1468 -1.08262,-2.89357 -2.70351,-9.88481 -3.60197,-15.53609 -0.89846,-5.65127 -2.48276,-13.02441 -3.52066,-16.38474 -3.20715,-10.38354 -13.02714,-19.40285 -21.12531,-19.40285 -4.5481,0 -10.23795,4.11758 -12.37119,8.95267 -3.39274,7.68982 -10.9696,8.81346 -20.1541,2.98881 -5.93362,-3.76299 -13.70215,-6.66771 -20.10355,-7.51688 -5.46665,-0.72518 -9.14313,-3.34021 -9.14313,-6.50339 0,-6.86103 10.7268,-17.64447 24.35165,-24.48023 12.03771,-6.03946 15.50442,-5.93492 23.62619,0.71251 4.12224,3.37392 6.66257,3.51707 15.02216,0.84651 3.4433,-1.1 8.82025,-2 11.94877,-2 18.91074,0 27.86586,10.45863 33.52741,39.15647 3.51351,17.80966 8.22949,26.72762 15.03765,28.43636 4.70868,1.1818 10.47569,-1.47617 13.94708,-6.4281 2.67493,-3.8158 3.07939,-5.3136 3.37542,-12.5 0.32857,-7.97627 0.23482,-8.36092 -4.06182,-16.66473 -2.41898,-4.675 -6.6939,-12.21955 -9.49982,-16.76567 -2.80591,-4.54611 -6.04059,-11.04599 -7.18818,-14.44417 -5.15524,-15.265516 -0.67389,-40.994989 10.15093,-58.281018 7.88513,-12.59169 19.80842,-22.763568 32.05323,-27.344938 8.81501,-3.298118 22.45014,-4.357934 34.20933,-2.658985 13.28386,1.919231 16.4164,2.881015 26.82937,8.237431 20.25621,10.419764 29.74561,26.614036 30.0354,51.25735 0.18532,15.759416 -1.582,21.89249 -12.96671,44.99795 -5.17655,10.5059 -9.87608,21.17285 -10.44339,23.70433 -3.14684,14.0418 5.57216,23.54168 15.85347,17.27332 4.92602,-3.00331 7.14339,-8.7792 7.1699,-18.67638 0.0519,-19.39239 6.12351,-30.73561 19.874,-37.12961 4.74807,-2.20786 7.00227,-2.61777 14.14796,-2.57273 9.73595,0.0614 16.22481,2.35384 21.83763,7.71509 11.47359,10.95933 11.52466,31.89142 0.092,37.72391 -7.29274,3.72048 -9.86193,0.67199 -5.92967,-7.03588 4.28329,-8.39593 1.23218,-16.65173 -7.0737,-19.14023 -11.39642,-3.41446 -20.92626,7.73821 -20.92626,24.48982 0,3.29262 -0.50145,8.94844 -1.11432,12.5685 -2.92737,17.29094 -16.75505,30.80154 -34.94831,34.14693 -8.15096,1.49881 -16.66495,-0.43813 -24.26775,-5.52093 -6.34918,-4.24469 -9.90051,-8.64739 -13.99688,-17.35239 -2.88702,-6.13507 -3.14628,-7.52352 -3.11677,-16.6917 0.0304,-9.44101 0.26698,-10.56459 4.2323,-20.1001 5.41184,-13.014 8.18162,-23.7535 8.8986,-34.50322 1.33232,-19.975776 -8.53793,-33.051963 -25.06586,-33.207454 -10.65722,-0.10026 -18.305,4.996382 -22.97461,15.310774 -1.58052,3.491099 -2.02771,6.517802 -1.9946,13.5 0.0383,8.07835 0.48027,10.17767 4.31581,20.5 7.92889,21.33852 9.15811,25.47536 10.03856,33.78418 1.44582,13.64406 -0.5495,22.19314 -8.13676,34.86243 -11.88355,19.84331 -31.69988,30.07354 -48.08473,24.82387 z m 23.21532,-5.17844 c 11.19133,-5.4157 23.94662,-21.02068 28.10621,-34.38548 3.98569,-12.80604 2.44355,-24.196 -6.48632,-47.90656 -7.07784,-18.79307 -8.2289,-31.31347 -3.79941,-41.32708 5.83795,-13.197654 20.08802,-20.167099 33.35111,-16.311414 13.46643,3.914797 20.78733,15.635259 20.81654,33.326444 0.015,9.09959 -1.63297,16.14523 -8.65214,36.99037 l -5.62973,16.71883 1.0792,6.9722 c 1.4587,9.42402 6.94366,20.342 12.81636,25.51136 13.77631,12.1264 36.91305,8.79495 49.49887,-7.12731 4.88567,-6.18083 6.64547,-11.99532 8.55112,-28.2534 1.19951,-10.23359 2.09028,-14.05683 4.18598,-17.9663 3.04225,-5.67526 8.98255,-10.30573 14.33524,-11.17435 5.07531,-0.82361 14.10523,3.34427 16.25584,7.5031 2.11097,4.08217 1.94722,10.71231 -0.39184,15.86499 -3.15206,6.94364 1.68708,6.6911 6.01645,-0.31397 2.70993,-4.38476 2.91172,-11.78972 0.50177,-18.41347 -4.20016,-11.54419 -10.92047,-16.23598 -24.10298,-16.8275 -7.31509,-0.32824 -8.64184,-0.0804 -14.57393,2.72237 -12.09302,5.71367 -16.59473,13.95266 -17.9317,32.81838 -1.00008,14.11202 -2.53158,18.36709 -7.93151,22.03675 -3.8917,2.6447 -10.65794,3.00319 -14.93525,0.79131 -1.67889,-0.86819 -3.73313,-3.39829 -5.0745,-6.25 -1.91137,-4.06348 -2.17123,-5.88447 -1.71073,-11.9876 0.49197,-6.52007 1.29847,-8.68134 8.58268,-23 10.19454,-20.03954 12.706,-25.87937 13.97087,-32.486082 2.10638,-11.002156 2.20816,-14.802654 0.65494,-24.457284 -2.53514,-15.758148 -8.36277,-26.290967 -18.85337,-34.075443 -16.1975,-12.019246 -34.16321,-16.236014 -56.32741,-13.220721 -18.65968,2.538526 -35.74318,15.562632 -44.69935,34.077859 -4.97699,10.28899 -8.62301,25.322515 -8.62301,35.554946 0,10.337815 4.4542,22.787945 12.18502,34.058875 5.82728,8.49572 10.06014,18.93374 10.56383,26.04991 0.63631,8.98962 -0.9952,14.42131 -5.9445,19.79066 -4.49965,4.88154 -8.55133,6.44472 -13.72696,5.29598 -8.4515,-1.87581 -13.76639,-9.37845 -16.96974,-23.95494 -5.28938,-24.06871 -8.72543,-32.82139 -14.88458,-37.91559 -7.30768,-6.04414 -18.67925,-7.57383 -29.41573,-3.95698 -9.76421,3.28933 -13.00837,2.92629 -18.41917,-2.06122 -4.11759,-3.79546 -4.96817,-4.17153 -8.23987,-3.64313 -5.32921,0.86071 -17.18573,7.00469 -23.59891,12.22883 -5.77499,4.70427 -9.96275,11.16984 -8.94782,13.81471 0.62347,1.62474 0.96126,1.7565 9.39843,3.66611 3.025,0.68465 9.51734,3.19894 14.42742,5.58731 5.78634,2.8146 10.27563,4.34249 12.75924,4.34249 3.53381,0 4.0771,-0.39861 6.98547,-5.12532 3.4562,-5.61705 10.61366,-10.88082 14.77365,-10.86491 4.23899,0.0162 12.3177,4.41403 16.37419,8.91364 5.05022,5.60189 7.28516,11.1002 9.72983,23.93698 3.41506,17.93221 4.95002,22.80779 9.00129,28.59117 12.2242,17.45062 29.23421,23.44513 44.94891,15.84048 z"
id="path2987"
inkscape:connector-curvature="0" />
</svg>
No preview for this file type
\documentclass{beamer}
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\usepackage[orientation=portrait,size=a0,scale=2]{beamerposter}
\usepackage{textpos}
\usepackage{picins}
\usepackage{url}
\usepackage{fancyvrb}
\usepackage{relsize}
\usepackage{tikz}
\usetikzlibrary{shapes.callouts}
\parindent=0pt
\setbeamertemplate{navigation symbols}{}
\def\smallskip{\vspace{5mm}}
\def\medskip{\vspace{10mm}}
\def\bigskip{\vspace{20mm}}
\colorlet{title}{black!10}
\colorlet{minor}{black!65}
\colorlet{snakes}{green!30!black}
\colorlet{python}{blue!30!black}
\definecolor{popup}{rgb}{.6,1,.5}
\def\*{\raise-.65ex\hbox{$\smash{
\includegraphics[height=1em]{snake-shadow.pdf}}$}}
\def\section#1{\noindent\colorbox{title}{%
\hbox to \textwidth{\bfseries #1\hfill\strut\*}}\smallskip}
\def\endparitem{\endgraf\egroup}
\def\>{\par\bgroup
\let\par=\endparitem
\leftskip=1.4em\parindent=-1.4em
\indent\hbox to 1.4em{\hss
$\smash{\includegraphics[width=1em]{cartoon-python.pdf}}$
}\ignorespaces}
\def\+{\par\bgroup
\let\par=\endparitem
\leftskip=2.8em\parindent=-1.4em
\indent\hbox to 1.4em{\hss
$\color{snakes}\smash{\bullet}$
}\ignorespaces}
\def\PYk #1{{\color{snakes}#1}}
\def\PYn #1{{\color{python}#1}}
\def\PYc #1{{\color{minor}#1}}
\begin{document}
\begin{frame}[fragile]{}
%%
%% title & logos
%%
\begin{textblock}{14.4}(.5,.5)
\parpic{\includegraphics[height=13cm]{logo-snakes}\quad}
{\Large\bfseries a high-level Petri nets library}\\[15pt]
{\large Franck Pommereau}\\[30pt]
\small
IBISC/COSMO, university of vry/Paris-Saclay\\
23 boulevard de France, 91037 vry Cedex France\\[20pt]
\url{franck.pommereau@ibisc.univ-evry.fr}\\
\url{http://www.ibisc.univ-evry.fr/~fpommereau/SNAKES/}
\end{textblock}
\begin{textblock}{14.4}(.7,.5)
\null\hfill
\begin{tikzpicture}[xscale=4,yscale=4]
\node at (-2,0) {\includegraphics[width=150mm, height=150mm,
keepaspectratio=true]{logo-ibisc}};
\node at (1,1) {\includegraphics[width=58mm, height=58mm,
keepaspectratio=true]{logo-ueve}};
\node at (1,-1) {\includegraphics[width=65mm, height=65mm,
keepaspectratio=true]{logo-genopole}};
\end{tikzpicture}
\end{textblock}
%%
%% left column
%%
\begin{textblock}{9}(.5,2.85)
\section{SNAKES in a nutshell}
\tikzstyle{popup}=[draw,rectangle callout,rounded corners=15,
text width=10cm,align=center,callout pointer width=7mm,
callout absolute pointer={(70:.5)},fill=popup]
\begin{center}
\begin{tikzpicture}[scale=12]
\node at (0,0) {\scalebox{-1}[1]{%
\includegraphics[scale=3]{oroborus.pdf}}};
\node[popup,callout relative pointer={(-70:2)}] at (90:1)
{SNAKES is a Python library};
\node[popup,callout relative pointer={(-150:2)}] at (40:1.4)
{Define and manipulate Petri nets};
\node[popup,callout relative pointer={(170:3)}] at (10:1.3)
{Very generic Petri net definition};
\node[popup,callout relative pointer={(150:4)}] at (-25:1.3)
{Annotations are Python expressions};
\node[popup,callout relative pointer={(80:4)}] at (-90:1)
{Tokens are Python objects};
\node[popup,cloud callout,cloud puffs=15,aspect=2.5,inner sep=-20pt,
cloud puff arc=120,callout relative pointer={(170:3)},
fill=blue!20,rounded corners=0] at (-45:1.7)
{\small Even SNAKES'\\[-20pt] net objects};
\node[popup,callout relative pointer={(50:4.5)}] at (-150:1.2)
{Fully reflexive for maximal flexibility};
\node[popup,cloud callout,cloud puffs=12,aspect=2.6,inner sep=-50pt,
cloud puff arc=140,callout relative pointer={(50:2)},
fill=blue!20,rounded corners=0] at (-130:1.5)
{\small Inspired\\[-20pt] by Emacs};
\node[popup,callout relative pointer={(10:3)}] at (170:1.2)
{Extensible with plugins};
\node at (0,0) {\includegraphics[scale=.5]{python-powered.pdf}};
\end{tikzpicture}
\end{center}
%%
%%
%%
\medskip
\section{Plugins}
\> {\color{snakes}\texttt{gv}}: draw Petri nets using GraphViz
\> {\color{snakes}\texttt{ops}}: algebras of Petri nets compositions
{\small\color{minor}(PBC, PNA, M-nets, \dots)}
\> {\color{snakes}\texttt{pids}}: dynamic processes creation and
destruction
\> {\color{snakes}\texttt{labels}}: arbitrary objects annotations
\> {\color{snakes}\texttt{let}}: variables assignation during computation
\> \dots {\color{minor}(your plugin here: try, it's easy)}
%%
%%
%%
\bigskip
\section{ABCD for friendly modelling}
\> process algebra with friendly Python-like syntax
\> embeds full Python
\> compiler shipped with SNAKES library
\> generates Petri nets objects
\> export to pictures or PNML files
\> simulation and reachability analysis
\vbox to 0pt{\vss\null\hfill
\includegraphics[width=18cm]{abcd-simul}
\vspace*{.2\baselineskip}}
\vspace*{-\baselineskip}
%%
%%
%%
\bigskip
\section{Neco for fast analysis}
\> \L ukasz Fronc's companion tool {\small\color{minor}(available
separately at \url{https://code.google.com/p/neco-net-compiler/})}
\> Neco compiles SNAKES Petri nets into fast native code
\+ optimised marking structure
\+ per-transition optimised firing
\> reads PNML, ABCD, or net objects
\> process-symmetries reductions
\> state space exploration and LTL model-checking
{\small\color{minor}(using SPOT)}
\> awarded at the \emph{model-checking contest\/} 2013
{\small\color{minor}(PETRI NETS conf.)}
\vbox to 0pt{\vss\null\hfill
\begin{tikzpicture}
\node[inner sep=0pt] (neco) {\includegraphics[width=18cm]{neco.pdf}};
\node[below=-6pt] at (neco.south) {\scalebox{2.1}[1]{net
compiler\hskip 9pt\null}};
\end{tikzpicture}\hspace*{-12mm}
\vspace*{2.8\baselineskip}}
%%
%%
%%
\end{textblock}
%%
%% right column
%%
\def\section#1{\noindent{\bfseries #1}\smallskip}
\begin{textblock}{5}(10,2.85)
\begin{tikzpicture}
\path[fill=title] (0,0) rectangle (40,100);
\end{tikzpicture}
\end{textblock}
\begin{textblock}{5}(10.2,3)
%%
%%
%%
\section{About SNAKES}
\> free \& open source {\small (GNU LGPL)}
\> works out of the box
\> 81.5k lines of portable Python
\> maintained for 10\texttt{+} years
\> one permanent developer/user
\> online documentation has\qquad 300\texttt{+} visitors per month
%%
%%
%%
\bigskip
\section{SNAKES vs GitHub's top 10 Python projects$^*$
{\color{minor}\small(on Nov. 2013)}}
\vskip -1ex
\begin{tikzpicture}[xscale=3.4,yscale=-2.5]
\tikzstyle{project}=[left,anchor=base east,inner sep=0pt]
\tikzstyle{bar}=[draw=blue!50!black,fill=blue!50!white,
anchor=base west,inner sep=0pt,name=bar]
\tikzstyle{price}=[right,anchor=base west]
\node[project] at (0,1) {\small django\;};
\node[bar,text width=530] at (0,1) {\small\strut};
\node[price,anchor=base east] at (bar.base east)
{\raise -.1ex\hbox{\small\$5.3M (432)}};
\node[project] at (0,2) {\small\color{snakes}snakes\;};
\node[bar,text width=270] at (0,2) {\small\strut};
\begin{scope}[color=snakes]
\draw[clip] (bar.north west) rectangle (bar.south east)
node at (bar.center) {\includegraphics[scale=.2]{python-skin}};
\end{scope}
\node[price] at (bar.base east) {\small\$2.7M (2)};
\node[project] at (0,3) {\small sick-beard\;};
\node[bar,text width=260] at (0,3) {\small\strut};
\node[price] at (bar.base east) {\small\$2.6M (110)};
\node[project] at (0,4) {\small ipython\;};
\node[bar,text width=230] at (0,4) {\small\strut};
\node[price] at (bar.base east) {\small\$2.3M (236)};
\node[project] at (0,5) {\small boto\;};
\node[bar,text width=210] at (0,5) {\small\strut};
\node[price] at (bar.base east) {\small\$2.1M (314)};
\node[project] at (0,6) {\small reddit\;};
\node[bar,text width=150] at (0,6) {\small\strut};
\node[price] at (bar.base east) {\small\$1.5M (87)};
\node[project] at (0,7) {\small sentry\;};
\node[bar,text width=130] at (0,7) {\small\strut};
\node[price] at (bar.base east) {\small\$1.3M (166)};
\node[project] at (0,8) {\small tornado\;};
\node[bar,text width=60] at (0,8) {\small\strut};
\node[price] at (bar.base east) {\small\$0.6M (120)};
\node[project] at (0,9) {\small requests\;};
\node[bar,text width=30] at (0,9) {\small\strut};
\node[price] at (bar.base east) {\small\$0.3M (275)};
\node[project] at (0,10) {\small flask\;};
\node[bar,text width=20] at (0,10) {\small\strut};
\node[price] at (bar.base east) {\small\$0.2M (159)};
\node[project] at (0,11) {\small httpie\;};
\node[bar,text width=10] at (0,11) {\small\strut};
\node[price] at (bar.base east) {\small\$0.1M (22)};
\end{tikzpicture}
estimated cost to develop {\color{minor}\small(generated using David A.
Wheeler's ``SLOCCount'')} and number of contributors
\hbox to \textwidth{\null\hfill\color{minor}\small $^*$ 10 most forked
or followed Python projects}
%%
%%
%%
\bigskip
\section{Using SNAKES out of Python}
\> write a binding in Cython
\begin{Verbatim}[commandchars=\\\{\},fontsize=\small,xleftmargin=1.4em,
numbers=left,numbersep=30pt]
\PYc{# this is Cython code}
\PYk{cdef} \PYk{public} \PYk{int} \PYn{foo} (...):
\PYc{# Python with SNAKES here}
\end{Verbatim}
\> Cython compiles to C/C\texttt{++} \qquad with a \texttt{.h} file:
\begin{Verbatim}[commandchars=\\\{\},fontsize=\small,xleftmargin=1.4em,
numbers=left,numbersep=30pt]
\PYc{// this is C/C++ code}
\PYk{extern} \PYk{int} \PYn{foo}(...);
\end{Verbatim}
\> use this API in your project
%%
%%
%%
\bigskip
\section{Isn't Python slow?}
\> {\color{snakes}no} for handling nets {\small\color{minor}even large
ones}
\> {\color{red!30!black}yes} for firing transitions
\> \raise -.1ex\hbox{\includegraphics[height=.9em]{neco.pdf}} is fast
at that! {;-)}
%%
%%
%%
\end{textblock}
%%
%% flush top
%%
\vspace*{150cm}
\end{frame}
\end{document}
\ No newline at end of file
This diff could not be displayed because it is too large.
No preview for this file type
This diff could not be displayed because it is too large.