Skip to content

Commit

Permalink
some minor
Browse files Browse the repository at this point in the history
  • Loading branch information
antongiacomo committed Nov 20, 2023
1 parent ca2d814 commit 35df652
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 28 deletions.
3 changes: 2 additions & 1 deletion macro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@
\newcommand{\dataset}[1]{\ensuremath{D_{#1}}}

\newcommand{\T}{\ensuremath{T}}
\newcommand{\TP}{\ensuremath{T^{P}}}
\newcommand{\TF}[1]{\ensuremath{T^F_{#1}}}
\newcommand{\tf}[1]{\ensuremath{t^f_{#1}}}
\newcommand{\TP}{\ensuremath{T^{P}}}
\newcommand{\tp}[1]{\ensuremath{t^p_{#1}}}

\newcommand{\G}{\ensuremath{G}}

Expand Down
45 changes: 24 additions & 21 deletions pipeline_template_example.tex
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,19 @@ \subsection{Example}\label{sec:example}

We present an example of pipeline template focusing on policy annotations. The pipeline template consists of five stages, and each stage is annotated with a policy presented in \cref{tab:anonymization}. \hl{Connecticut Prison (CTP) is the service user executing the pipeline. New York Prison and New Hampshire Prison are two partner DOC.}\hl{SPOSTARE NEL SYSTEM MODEL? SI, MA DATA OWNER DIPENDE DAL DATASET, HO MESSO SERVICE USER} We recall that \cref{tab:dataset} shows a sample of our reference dataset.

In the following we will make reference to three different type of anonymization:\hl{E' GIUSTO USARE}\tf{i}\hl{? SPOSTIAMO PRIMA?}
In the following we will make reference to three different type of anonymization:%\hl{E' GIUSTO USARE}\tf{i}
\hl{? SPOSTIAMO PRIMA?}
\begin{enumerate*}[label=\roman*)]
\item \emph{level0} (\tf{0}): no anonymization is performed;
\item \emph{level1} (\tf{1}): the data is partially anonymized, only the first name and last name are anonymized;
\item \emph{level2} (\tf{2}): the data is fully anonymized: first name, last name, identifier and age are anonymized.
\item \emph{level0} (\tp{0}): no anonymization is performed;
\item \emph{level1} (\tp{1}): the data is partially anonymized, only the first name and last name are anonymized;
\item \emph{level2} (\tp{2}): the data is fully anonymized: first name, last name, identifier and age are anonymized.
\end{enumerate*}

Let us consider the pipeline template \tChartFunction in \cref{sec:example},
% 1° NODO %
The first stage consists of three parallel vertices (\vi{1}, \vi{2}, \vi{3}) and focuses on data collection without applying any policies.\hl{IN REALTA' APPLICHIAMO UNA POLITICA DI ACCESSO CON EMPTY TRANSFORMATION.} The functional requirement necessitates a URI as input, and the output is the downloaded dataset.
The first stage consists of three parallel vertices (\vi{1}, \vi{2}, \vi{3}) and focuses on data collection.
The policy annotation \p{0} is linked with an empty transformation.
The functional requirement necessitates a URI as input, and the output is the downloaded dataset.

The second stage incorporates a sole vertex, which merges the three datasets obtained from the previous stages and is associated with three policies (\p{1},\p{2},\p{3}).
The policies are evaluated during the node execution:
Expand Down Expand Up @@ -57,27 +60,27 @@ \subsection{Example}\label{sec:example}
\begin{table*}[ht!]
\centering
\caption{Anonymization policies}\label{tab:anonymization}
% \bgroup
% \bgroup
\def\arraystretch{1.5}

\begin{tabular}[t]{c|c|l}
\textbf{Vertex} & \textbf{Policy} & \policy{subject}{object}{action}{environment}{transformation} \\ \hline

\vi{M} & $\p{1}$ & \policy{\pone}{dataset}{READ}{ANY}{\tf{1}}\\
\vi{M} & $\p{2}$ & \policy{\ptwo}{dataset}{READ}{ANY}{\tf{2}}\\
\vi{M} & $\p{3}$ & \policy{\pthree}{dataset}{READ}{ANY}{\tf{3}}\\
\vi{4} & $\p{4}$ & \policy{ANY}{dataset}{READ}{ANY}{\tf{3}}\\
\vi{5} & $\p{5}$ & \policy{$\langle service\_region=``FACILITY"\rangle$}{dataset}{WRITE}{ANY}{\tf{1}}\\
\vi{5} & $\p{6}$ & \policy{$\langle service\_region=``\{CT,NY,NH\}"\rangle$}{dataset}{WRITE}{ANY}{\tf{2}}\\
\vi{6} & $\p{7}$ & \policy{$\langle user\_role=``Connecticut Prison Officer"\rangle$}{dataset} {READ}{ANY}{\tf{1}}\\
\vi{6} & $\p{7}$ & \policy{$\langle user\_role=``Partner Prison Officer"\rangle$}{dataset} {READ}{ANY}{\tf{2}}\\
\vi{6} & $\p{8}$ & \policy{$\langle user\_role=``Any"\rangle$}{dataset} {READ}{ANY}{ \tf{3}}\\
\textbf{Vertex} & \textbf{Policy} & \policy{subject}{object}{action}{environment}{transformation} \\ \hline
\vi{1},\vi{2},\vi{3} & $\p{0}$ & \policy{ANY}{dataset}{READ}{ANY}{\tp{0}} \\
\vi{4} & $\p{1}$ & \policy{\pone}{dataset}{READ}{ANY}{\tp{1}} \\
\vi{4} & $\p{2}$ & \policy{\ptwo}{dataset}{READ}{ANY}{\tp{2}} \\
\vi{4} & $\p{3}$ & \policy{\pthree}{dataset}{READ}{ANY}{\tp{3}} \\
\vi{5} & $\p{4}$ & \policy{ANY}{dataset}{READ}{ANY}{\tp{3}} \\
\vi{6} & $\p{5}$ & \policy{$\langle service\_region=``FACILITY"\rangle$}{dataset}{WRITE}{ANY}{\tp{1}} \\
\vi{6} & $\p{6}$ & \policy{$\langle service\_region=``\{CT,NY,NH\}"\rangle$}{dataset}{WRITE}{ANY}{\tp{2}} \\
\vi{7} & $\p{7}$ & \policy{$\langle user\_role=``Connecticut Prison Officer"\rangle$}{dataset} {READ}{ANY}{\tp{1}} \\
\vi{7} & $\p{7}$ & \policy{$\langle user\_role=``Partner Prison Officer"\rangle$}{dataset} {READ}{ANY}{\tp{2}} \\
\vi{7} & $\p{8}$ & \policy{$\langle user\_role=``Any"\rangle$}{dataset} {READ}{ANY}{\tp{3}} \\
\end{tabular}
\begin{tabular}[t]{c|c|c}
\textbf{\tf{i}} & \textbf{Level} & \textbf{Columns Anonymized} \\\hline
\tf{0} & Level0 & $anon(\varnothing)$ \\
\tf{1} & level1 & $anon(FIRST\_NAME, LAST\_NAME)$ \\
\tf{2} & level2 & $anon(FIRST\_NAME, LAST\_NAME, IDENTIFIER, AGE)$ \\
\textbf{\tf{i}} & \textbf{Level} & \textbf{Columns Anonymized} \\\hline
\tp{0} & Level0 & $anon(\varnothing)$ \\
\tp{1} & level1 & $anon(FIRST\_NAME, LAST\_NAME)$ \\
\tp{2} & level2 & $anon(FIRST\_NAME, LAST\_NAME, IDENTIFIER, AGE)$ \\
\end{tabular}
% % \begin{tabular}[t]{ccc}
% % \toprule
Expand Down
14 changes: 8 additions & 6 deletions system_model.tex
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ \subsection{Service Pipeline and Reference Scenario}\label{sec:service_definitio
The user's preferences align with a predefined pipeline template that orchestrates the following sequence of operations:
\begin{enumerate*}[label=(\roman*)]
\item \emph{Data fetching}, including the download of the dataset from other states;
\item \emph{Data preparation and protection}, including data merging, cleaning and anonymization;\hl{QUESTO E' MERGE (M). IO PENSAVO DIVENTASSE UN NODO $v_i$. NEL CASO CAMBIANDO LA DEFINIZIONE 3.1 DOVE NON ESISTONO PIU' I NODI MERGE E JOIN.}
\item \emph{Data preparation and protection}, including data merging, cleaning and anonymization;
% \hl{QUESTO E' MERGE (M). IO PENSAVO DIVENTASSE UN NODO $v_i$. NEL CASO CAMBIANDO LA DEFINIZIONE 3.1 DOVE NON ESISTONO PIU' I NODI MERGE E JOIN.}
\item \emph{Data analysis}, including statistical measures like averages, medians, and clustering-based statistics;
\item \emph{Machine learning task}, including training and inference;
\item \emph{Data storage}, including the storage of the results in the corresponding states. Specifically, one copy remains in Connecticut (where sensitive information in the source dataset is not protected), while two additional copies are distributed to New York and New Hampshire (with sensitive information from the source dataset being safeguarded).\hl{SPIEGHIAMO BENE LA PARENTESI}
Expand Down Expand Up @@ -114,20 +115,21 @@ \subsection{Service Pipeline and Reference Scenario}\label{sec:service_definitio
\node[draw, circle,left=1em] (node1) at (node2.west) {$\vi{1}$};
\node[draw, circle,right=1em] (node3) at (node2.east) {$\vi{3}$};

\node[draw, circle,below=1em] (merge) at (node2.south) {$M$};
\node[draw, circle,below=1em] (merge) at (node2.south) {$\vi{4}$};

\node[draw, circle, cross , minimum size=1.5em,below=1em] (fork) at (merge.south) {};
\node[draw, circle,below =1.5em, left=2em] (ml) at (fork.south) {$\vi{4}$};
\node[draw, circle,below =1.5em, right=2em] (analysis) at (fork.south) {$\vi{5}$};
\node[draw, circle,below =1.5em, left=2em] (ml) at (fork.south) {$\vi{5}$};
\node[draw, circle,below =1.5em, right=2em] (analysis) at (fork.south) {$\vi{6}$};
\node[draw, circle, cross , minimum size=1.5em,below=3em] (join) at (fork.south) {};
\node[draw, circle,below =1.5em, ] (storage) at (join.south) {$\vi{5}$};
\node[draw, circle,below =1.5em] (visualization) at (storage.south) {$\vi{6}$};
\node[draw, circle,below =1.5em, ] (storage) at (join.south) {$\vi{7}$};
\node[draw, circle,below =1.5em] (visualization) at (storage.south) {$\vi{8}$};

% Labels

\node[right=1em] at (node3.east) {Dataset fetch};
\node[right=1em] at (merge.east) { $merge$};
\node[right=1em] at (split.east) { $parallel$};
\node[right=1em] at (fork.east) { $alternative$};
\node[right=1em] at (analysis.east) { Data analysis};
\node[left=1em] at (ml.west) { ML task};
\node[right=1em] at (storage.east) { Storage};
Expand Down

0 comments on commit 35df652

Please sign in to comment.