snakes.tex 4.96 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}

\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}