Skip to content

Commit

Permalink
examples firts draft
Browse files Browse the repository at this point in the history
  • Loading branch information
antongiacomo committed Nov 14, 2023
1 parent 501a707 commit 22b03c3
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 77 deletions.
21 changes: 8 additions & 13 deletions .github/workflows/blank.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,12 @@ jobs:
- name: Generate PDF document
uses: hspaans/latexmk-action@v1

- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
- uses: "marvinpinto/action-automatic-releases@latest"
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body: |
Changes in this Release
- First Change
- Second Change
draft: false
prerelease: false
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
prerelease: true
title: "Development Build"
files: |
*.pdf
8 changes: 7 additions & 1 deletion macro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
\newcommand{\templateChartAnnotation}{\ensuremath{\myLambda,\myGamma}}
\newcommand{\instanceChartAnnotation}{\ensuremath{\myLambda}}
\renewcommand{\P}[1]{\ensuremath{P_{#1}}}
\newcommand{\p}[1]{\ensuremath{p_{#1}}}
% \newcommand{\TF}{\ensuremath{T_{\fChartFunction}}}
\newcommand{\user}{user\,}
\newcommand{\User}{User\,}
Expand All @@ -57,4 +58,9 @@

\newcommand{\pipeline}{Pipeline\xspace}
\newcommand{\pipelineTemplate}{Pipeline Template\xspace}
\newcommand{\pipelineInstance}{Pipeline Instance\xspace}
\newcommand{\pipelineInstance}{Pipeline Instance\xspace}


\newcommand{\policy}[5]{
$\langle \text{#1},{#2},{#3},{#4},\ensuremath{#5} \rangle$
}
1 change: 1 addition & 0 deletions main.tex
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
\usepackage{soul}
\usepackage[inline]{enumitem}
\usepackage{xcolor}
\usepackage{amssymb}
\graphicspath{{Images/}}
\definecolor{commentsColor}{rgb}{0.497495, 0.497587, 0.497464}
\definecolor{keywordsColor}{rgb}{0.000000, 0.000000, 0.635294}
Expand Down
47 changes: 2 additions & 45 deletions pipeline_instance_example.tex
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

\begin{example}\label{ex:instance}

As an example, let us consider the pipeline template \tChartFunction in \cref{sec:example}.
Expand All @@ -8,52 +7,10 @@
Services $s_1$ and $s_2$ are annotated with a profile that satisfies the data protection requirements in \P{1}, respectively.
The third service $s_3$ is annotated with a profile that does not satisfy the data protection requirements in \P{1}.
The filtering algorithm then returns the set $S'=\{s_1,s_2\}$.
The comparison algorithm is fnally applied to $S'$ and returns a ranking of the services according to quality metrics, where $s_1$ is ranked first. $s_1$ is then selected and integrated in $\vii{1}\in \Vp$.
The comparison algorithm is finally applied to $S'$ and returns a ranking of the services according to quality metrics, where $s_1$ is ranked first. $s_1$ is then selected and integrated in $\vii{1}\in \Vp$.

The comparison algorithm is finally applied to $S'$ and returns a ranking of the services according to quality metrics, where $s_1$ is ranked first. $s_1$ is then selected and integrated in $\vii{1}\in \Vp$.

The same logic is applied to the \vi{2} and \vi{3}.

\end{example}


% \begin{figure}[H]
% \centering

% \begin{tikzpicture}
% % Nodes
% \node[draw, circle, minimum size=0.4cm, draw=gray, text opacity=0.5] (node11) at (0,1.2) {Sx};
% \node[draw, circle, minimum size=1cm] (node1) at (0,0) {S1};
% \node[draw, circle, minimum size=0.4cm, draw=gray, text opacity=0.5] (node10) at (0,-1.2) {Sy};

% \node[draw, circle, minimum size=0.4cm, draw=gray, text opacity=0.5] (node22) at (2,1.2) {Sx};
% \node[draw, circle, minimum size=1cm] (node2) at (2,0) {S2};
% \node[draw, circle, minimum size=0.4cm, draw=gray, text opacity=0.5] (node21) at (2,-1.2) {Sy};

% \node[draw, circle, minimum size=1cm] (node3) at (4,0) {$\timesOperator$};

% \node[draw, circle, minimum size=0.4cm, draw=gray, text opacity=0.5] (node42) at (5,-1.5) {Sx};
% \node[draw, circle, minimum size=1cm] (node4) at (6,-1.5) {S3};
% \node[draw, circle, minimum size=0.4cm, draw=gray, text opacity=0.5] (node41) at (7,-1.5) {Sy};

% \node[draw, circle, minimum size=1cm] (node5) at (6,1.5) {S4};
% \node[draw, circle, minimum size=0.4cm, draw=gray, text opacity=0.5] (node51) at (5,1.5) {Sx};
% \node[draw, circle, minimum size=0.4cm, draw=gray, text opacity=0.5] (node52) at (7,1.5) {Sy};
% % Connection
% \draw[->] (node1) -- (node2);
% \draw[->] (node2) -- (node3);
% \draw[->] (node3) -- (node4);
% \draw[->] (node3) -- (node5);
% \end{tikzpicture}
% \caption{Service composition instance}
% \label{fig:service_composition_instance}
% \end{figure}
% \[ \forall S \in \mathrm{S}_{C} \exists \iChartFunction(S) = \mathrm{S}_{1} \]


% \begin{figure}
% \centering
% \includegraphics[width=\columnwidth]{serviceDetail.pdf}
% \caption{Service Detail}
% \label{fig:service_detail}reinstall remote-ssh
% \end{figure}
\end{example}
72 changes: 54 additions & 18 deletions pipeline_template_example.tex
Original file line number Diff line number Diff line change
@@ -1,22 +1,58 @@
\subsection{Example}\label{sec:example}
As an example, let us consider a pipeline template $G^{\myLambda,\myGamma}$ as a sequence of three vertices modeling three key stages in our reference scenario: data preparation (\vi{1}), data enrichment (\vi{2}), and data storage (\vi{3}). Each stage is annotated with its policy set \P{i} and functional description \F{i}. Table~\ref{table:example} reports the policies and functional descriptions for each vertex, which are presented in the following.

%\begin{enumerate*}[label=n\arabic*)]
% \item
The first vertex (\vi{1}) is responsible for data preparation.
It specifies an anonymization policy ($\myLambda(v_1)$) to protect sensitive information, such as personally identifiable information (PII) in the dataset.
The transformation function \TF{1} in $\myGamma(v_1)$ is an empty function \tf{a}, as no functional transformation is required for anonymization.
% \item

The second vertex (\vi{2}) focuses on data enrichment, where additional information from the states of New York and New Hampshire is integrated into the dataset.
It requires a data enrichment policy ($\myLambda(v_2)$) to ensure that the added data are relevant and comply with privacy regulations.
The transformation function \TF{2} in $\myGamma(v_2$) is an additive function \tf{a}, which merges and integrates the external data with the existing dataset.
% \item

The third vertex (\vi{3}) is responsible for aggregating data, including statistical measures like averages, medians, and some more statistics.
It follows an aggregation policy ($\myLambda(v_3)$) to define how the aggregation should be performed, and ensure compliance with privacy and security regulations.
The transformation function \TF{3} in $\myGamma(v_3)$ is a transformation function \tf{t}, which computes the required statistics and aggregates the data.
%\end{enumerate*}


As an example, let us consider the pipeline template \tChartFunction in \cref{sec:example}.

In this example all the policies referenced are detailed in table \ref{tab:anonymization}.
We assume that the data owner is the Connecticut Prison (CTP) and that this facility has a partnership with two others, namely New York Prison and New Hampshire Prison.

The first stage is responsible for data anonymization. The policy annotation \P{i}, associated with the first stage,
specifies three degree of anonymization : \emph{none}, \emph{partial}, and \emph{full}.
During service execution, the policy is assessed:
if the service profile match with the data owner, \P{1} is satisfied and the data is not anonymized;
if the service profile match with a partner of the owner, \P{2} is satisfied and the data is partially anonymized;
if the service profile doesn't match with a partner nor with the owner, \P{3} is satisfied and the data is fully anonymized.

The second stage is responsible for data enrichment. The policy annotation $p$, associated with the second stage,

The third stage, responsible for data analysis and statistics, adopts policies analogous to the first stage. The logic remains consistent:
if the service profile match with the data owner, \P{1} is satisfied and the data computation is made on non anonymized data;
if the service profile match with a partner of the owner, \P{2} is satisfied and the data computation is made on partially anonymized data;
if the service profile doesn't match with a partner nor with the owner, \P{3} is satisfied and the data computation is made on fully anonymized data.
The fourth stage is responsible for machine learning tasks:
policy \p{4} applies, thus we always aim to anonymize the dataset to avoid any personal identifiers entering into the machine learning algorithm/model.
The fifth stage is responsible for storing data. As stated in policy annotation \P{5}, if the service is located in the facility itself, the data will not be anonymized.
If the service is located in a partner region, the data will be partially anonymized.

The sixth stage is responsible for data visualization. As stated in policy annotation \P{6}, if the user is member of the facility itself, the data will not be anonymized.
If the user is member of a partner facility, the data will be partially anonymized.
If the user is not member of the facility nor a partner, the data will be fully anonymized.





\begin{table*}[ht!]
\centering
\bgroup
\def\arraystretch{1.5}
\begin{tabular}{c|c||l}
\textbf{Policy} & \textbf{Service} & \textbf{Anonymization} \\ \hline

$\p{1}$ & \s{1} & \policy{$\langle service,owner=``CTP"\rangle$}{dataset}{READ}{ANY}{\varnothing} \\
$\p{2}$ & \s{1} & \policy{$\langle service,owner=partner(``CTP") \rangle$}{dataset}{READ}{ANY}{light\_anonymization} \\
$\p{3}$ & \s{1} & \policy{$\langle service,owner=``Connecticut Prison"$}{dataset}{READ}{ANY}{full\_anonymization} \\
$\p{4}$ & \s{4} & \policy{ANY}{dataset}{READ}{ANY}{full\_anonymization} \\
$\p{5}$ & \s{5} & \policy{$\langle service,region=``FACILITY"\rangle$}{dataset}{WRITE}{ANY}{none} \\
$\p{6}$ & \s{5} & \policy{$\langle service,region=``{CT,NY,NH}"\rangle$}{dataset}{WRITE}{ANY}{light\_anonymization} \\
$\p{7}$ & \s{6} & \policy{$\langle,user,role= ``Connecticut Prison Officer"$}{dataset} {READ}{ANY}{none} \\
$\p{7}$ & \s{6} & \policy{$\langle,user,role= ``Partener Prison Officer"$}{dataset} {READ}{ANY}{light\_anonymization} \\
$\p{8}$ & \s{6} & \policy{$\langle,user,role= ``Any"$}{dataset} {READ}{ANY}{full\_anonymization} \\
\end{tabular}
\egroup
\caption{Anonymization policies}
\label{tab:anonymization}
\end{table*}

\begin{figure}[ht!]
\centering
Expand Down

0 comments on commit 22b03c3

Please sign in to comment.