From 35df65238431ec11e25808ba38447618e2e06d90 Mon Sep 17 00:00:00 2001 From: Antongiacomo Polimeno Date: Mon, 20 Nov 2023 08:43:59 +0100 Subject: [PATCH] some minor --- macro.tex | 3 ++- pipeline_template_example.tex | 45 +++++++++++++++++++---------------- system_model.tex | 14 ++++++----- 3 files changed, 34 insertions(+), 28 deletions(-) diff --git a/macro.tex b/macro.tex index aabebf1..150d7e7 100644 --- a/macro.tex +++ b/macro.tex @@ -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}} diff --git a/pipeline_template_example.tex b/pipeline_template_example.tex index 19873bc..257d41b 100644 --- a/pipeline_template_example.tex +++ b/pipeline_template_example.tex @@ -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: @@ -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 diff --git a/system_model.tex b/system_model.tex index 52402aa..9f5114e 100644 --- a/system_model.tex +++ b/system_model.tex @@ -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} @@ -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};