add acronym

This commit is contained in:
2024-11-25 14:48:21 +01:00
parent 532a34e6e2
commit 0bfd7e8291
8 changed files with 191 additions and 213 deletions

7
.gitignore vendored
View File

@@ -15,7 +15,10 @@
*.lof *.lof
*.lot *.lot
*.run.xml *.run.xml
*.acn
*.glo
*.glsdefs
*.ist
# SyncTeX files # SyncTeX files
*.synctex.gz *.synctex.gz
*.synctex(busy) *.synctex(busy)
@@ -35,6 +38,8 @@
*.DS_Store *.DS_Store
.direnv .direnv
.jupyter .jupyter
svg-inkscape
.ipynb_checkpoints/
# Directory for auxiliary files created by latexmk # Directory for auxiliary files created by latexmk
latexmk/ latexmk/

View File

@@ -5,21 +5,53 @@
\label{Introduction} % Change X to a consecutive number; for \label{Introduction} % Change X to a consecutive number; for
% referencing this chapter elsewhere, use \ref{ChapterX} % referencing this chapter elsewhere, use \ref{ChapterX}
\begin{figure}[h!]
\centering
\includesvg[width=\textwidth]{Figures/clan_thesis_argumentation_tree.drawio.svg}
\caption{Argumentation Tree for the Clan Thesis}
\label{fig:clan_thesis_argumentation_tree}
\end{figure}
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% SECTION 1 % SECTION 1
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
\section{Methodology} \section{Methodology}
In this chapter, we will discuss the methodology used in this This chapter outlines the methodology employed in the present
research. We will discuss the research design, and the research limitations. research to evaluate and analyze the Clan framework. A visual
representation of the argumentation flow central to the Clan Thesis
is provided in Figure \ref{fig:clan_thesis_argumentation_tree}.
\begin{figure}[H]
\centering
\includesvg[width=1\textwidth,
keepaspectratio]{Figures/clan_thesis_argumentation_tree.drawio.svg}
\caption{Argumentation Tree for the Clan Thesis}
\label{fig:clan_thesis_argumentation_tree}
\end{figure}
The structure of this thesis adopts a multi-problem-oriented approach
rather than focusing on a single isolated problem. Specifically, it
addresses a set of interrelated challenges within the context of
enhancing the reliability and manageability of \ac{P2P}
networks. The primary objective of this research is to investigate
how the Clan framework provides effective solutions to these challenges.
To achieve this goal, the research is divided into two main components:
\begin{enumerate}
\item \textbf{Development of a Theoretical Model} \\
A theoretical model of the Clan framework will be constructed. This
model will consist of a formal specification of the foundational
axioms of the system, including the properties and principles that
govern its design. From these base axioms, the research will derive
key theorems and explore their corresponding boundary conditions. The
theoretical analysis will aim to elucidate the underlying mechanisms
of the framework and provide a concrete foundation for its evaluation.
\item \textbf{Empirical Verification of the Theoretical Model} \\
To validate the theoretical model, a series of experiments will be
conducted on various components of the Clan framework. These
experiments will assess how the theoretical predictions align with
practical observations. This step is essential to determine the
extent to which the theoretical model holds under real-world
conditions and to identify its limitations, if any.
\end{enumerate}
TODO
\section{Related Work} \section{Related Work}
@@ -36,21 +68,18 @@ the development and positioning of the Clan framework.
Nix addresses significant issues in software deployment by utilizing Nix addresses significant issues in software deployment by utilizing
a technique that employs cryptographic a technique that employs cryptographic
hashes to ensure unique paths for component instances[1]. hashes to ensure unique paths for component instances \cite{dolstra_nix_2004}.
The system is distinguished by its features, such as concurrent The system is distinguished by its features, such as concurrent
installation of multiple versions and variants, installation of multiple versions and variants,
atomic upgrades, and safe garbage collection. atomic upgrades, and safe garbage collection.
These capabilities lead to a flexible deployment system that These capabilities lead to a flexible deployment system that
harmonizes source and binary deployments. harmonizes source and binary deployments.
Nix conceptualizes deployment without imposing rigid policies, Nix conceptualizes deployment without imposing rigid policies,
thereby offering adaptable strategies for component management[2]. thereby offering adaptable strategies for component management.
This contrasts with many prevailing systems that are constrained by This contrasts with many prevailing systems that are constrained by
policy-specific designs, policy-specific designs,
making Nix an agile choice for modern deployment needs[3]. The making Nix an easily extensible, safe and versatile deployment solution
insights gained from Nix's approach for configuration files and software.
to non-interference and de-risking upgrades through atomic
transactions highlight the potential
for deploying software components seamlessly in decentralized networks[4].
\subsection{NixOS: A Purely Functional Linux Distribution} \subsection{NixOS: A Purely Functional Linux Distribution}

View File

@@ -338,20 +338,19 @@ KOMA-script documentation for details.}]{fancyhdr}
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% ABBREVIATIONS PAGE DESIGN % ABBREVIATIONS PAGE DESIGN
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% \newcommand{\abbrevname}{List of Abbreviations}
\newcommand{\abbrevname}{List of Abbreviations} % \providecaptionname{english,british,american}{\abbrevname}{List of
\providecaptionname{english,british,american}{\abbrevname}{List of % Abbreviations}
Abbreviations} % \providecaptionname{ngerman,german,austrian,naustrian}{\abbrevname}{Abk\"urzungsverzeichnis}
\providecaptionname{ngerman,german,austrian,naustrian}{\abbrevname}{Abk\"urzungsverzeichnis} % \NewDocumentEnvironment{abbreviations}{ m }{%
\NewDocumentEnvironment{abbreviations}{ m }{% % \ifbool{nolistspace}{\begingroup\singlespacing}{}
\ifbool{nolistspace}{\begingroup\singlespacing}{} % \ifbool{listtoc}{\addchap{\abbrevname}}{\addchap*{\abbrevname}}
\ifbool{listtoc}{\addchap{\abbrevname}}{\addchap*{\abbrevname}} % \begin{longtable}{#1}
\begin{longtable}{#1} % }{%
}{% % \end{longtable}
\end{longtable} % \addtocounter{table}{-1}% Don't count this table as one of the document tables
\addtocounter{table}{-1}% Don't count this table as one of the document tables % \ifbool{nolistspace}{\endgroup}{}
\ifbool{nolistspace}{\endgroup}{} % }
}
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% ABSTRACT PAGE DESIGN % ABSTRACT PAGE DESIGN

View File

@@ -45,7 +45,7 @@
{ {
devShells.default = pkgs.mkShell { devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [ buildInputs = with pkgs; [
python3
]; ];
}; };
packages = { packages = {

View File

@@ -1,4 +1,4 @@
{ ... }: { pkgs, ... }:
{ {
kernel.python.minimal = { kernel.python.minimal = {
enable = true; enable = true;
@@ -10,5 +10,10 @@
kernel.bash.minimal = { kernel.bash.minimal = {
enable = true; enable = true;
runtimePackages = [
pkgs.python3
pkgs.nix
pkgs.git
];
}; };
} }

View File

@@ -7,5 +7,5 @@
% required. % required.
@Control{biblatex-control, @Control{biblatex-control,
options = {3.10:0:0:1:0:1:1:0:0:1:0:2:3:1:3:1:0:0:3:1:79:+:+:nyt}, options = {3.10:0:0:1:0:1:1:0:0:0:0:1:3:1:3:1:0:0:3:1:79:+:+:nty},
} }

View File

@@ -49,10 +49,11 @@
\usepackage[utf8]{inputenc} % Required for inputting international characters \usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[T1]{fontenc} % Output font encoding for international characters \usepackage[T1]{fontenc} % Output font encoding for international characters
\usepackage{float}
\usepackage{mathpazo} % Use the Palatino font by default \usepackage{mathpazo} % Use the Palatino font by default
\usepackage{svg} \usepackage{svg}
\usepackage[backend=bibtex,style=authoryear,natbib=true]{biblatex} % \usepackage{acronym}
\usepackage[backend=bibtex,style=numeric,natbib=true]{biblatex} %
% Use the bibtex backend with the authoryear citation style (which % Use the bibtex backend with the authoryear citation style (which
% resembles APA) % resembles APA)
@@ -220,7 +221,7 @@ and Management}} % Your department's name and URL, this is used in
Key to this investigation are the underlying peer-to-peer technologies, Key to this investigation are the underlying peer-to-peer technologies,
ZeroTier and Mycelium, which enable decentralized network connections, ZeroTier and Mycelium, which enable decentralized network connections,
and the "Data-Mesher" a decentralized conflict free replicated database. and the "Data-Mesher" a decentralized conflict free replicated database.
The study begins with an in-depth analysis of fault tolerance This thesis begins with an in-depth analysis of fault tolerance
mechanisms in these technologies, mechanisms in these technologies,
evaluating how robust they are against node failures and network disruptions. evaluating how robust they are against node failures and network disruptions.
Next, scalability is examined through both theoretical models and Next, scalability is examined through both theoretical models and
@@ -269,13 +270,19 @@ and Management}} % Your department's name and URL, this is used in
% ABBREVIATIONS % ABBREVIATIONS
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
\begin{abbreviations}{ll} % Include a list of abbreviations (a table % \begin{abbreviations}{ll} % Include a list of abbreviations (a table
% of two columns) % % of two columns)
\textbf{LAH} & \textbf{L}ist \textbf{A}bbreviations \textbf{H}ere\\ % \textbf{LAH} & \textbf{L}ist \textbf{A}bbreviations \textbf{H}ere\\
\textbf{WSF} & \textbf{W}hat (it) \textbf{S}tands \textbf{F}or\\ % \textbf{WSF} & \textbf{W}hat (it) \textbf{S}tands \textbf{F}or\\
% \textbf{P2P} & \textbf{P}eer \textbf{T}o \textbf{P}eer\\
\end{abbreviations} % \end{abbreviations}
\section*{Abbreviations}
\begin{acronym}[P2P] % [P2P] aligns entries to the longest label
\acro{P2P}{Peer to Peer}
\end{acronym}
%---------------------------------------------------------------------------------------- %----------------------------------------------------------------------------------------
% PHYSICAL CONSTANTS/OTHER DEFINITIONS % PHYSICAL CONSTANTS/OTHER DEFINITIONS

View File

@@ -108,75 +108,6 @@
{Attachment:/home/lhebendanz/Zotero/storage/W44Z4XEE/inet_ipv6_vpn.pdf:application/pdf}, {Attachment:/home/lhebendanz/Zotero/storage/W44Z4XEE/inet_ipv6_vpn.pdf:application/pdf},
} }
@report{shukla_navigating_2019,
location = {Rochester, {NY}},
title = {Navigating the Landscape of Programmable Networks: Looking
beyond the Regulatory Status Quo},
url = {https://papers.ssrn.com/abstract=3427455},
shorttitle = {Navigating the Landscape of Programmable Networks},
abstract = {Digital transition processes are transforming
industries, economies, and societies. On the one hand, the number
of connected end-users and things is growing rapidly. On the other
hand, the range of applications is continuously evolving. As
applications like {IoT}, the Tactile Internet, or Immersive User
Interfaces gain traction, the demands for traffic delivery,
privacy, and security become highly diverse and complex. In meeting
these demands, programmable networks gain importance. They
introduce a new networking paradigm and provide an evolved spectrum
of capabilities. In this paper, we conduct a cross-disciplinary
study to navigate the landscape of programmable networks. We
provide a comprehensive overview of the evolution and the growing
complexity of this new networking paradigm and, based on a horizon
scanning approach, elucidate associated opportunities and
challenges. From this, we derive and discuss insights for the
design of appropriate policies and regulatory frameworks for the
future Internet.},
number = {3427455},
author = {Shukla, Apoorv and Stocker, Volker},
urldate = {2024-09-23},
date = {2019-07},
langid = {english},
doi = {10.2139/ssrn.3427455},
keywords = {P4, Policy, Programmable Networks, Regulations, {SDN}},
file = {PDF:/home/lhebendanz/Zotero/storage/B768VLZ3/Shukla and
Stocker - 2019 - Navigating the Landscape of Programmable Networks
Looking beyond the Regulatory Status Quo.pdf:application/pdf},
}
@report{moghaddam_decentralized_2015,
title = {A Decentralized Approach to Software-Defined Networks ({SDNs})},
url = {http://arxiv.org/abs/1504.07933},
abstract = {Redistribution of the intelligence and management in
the software defined networks ({SDNs}) is a potential approach to
address the bottlenecks of scalability and integrity of these
networks. We propose to revisit the routing concept based on the
notion of regions. Using basic and consistent definition of
regions, a region-based packet routing called {SmartRegion} Routing
is presented. The flexibility of regions in terms of naming and
addressing is then leveraged in the form of a region stack among
other features placed in the associated packet header. In this way,
most of complexity and dynamicity of a network is absorbed, and
therefore highly fast and simplified routing at the inter-region
level along with semi-autonomous intra-region routing will be
feasible. In addition, multipath planning can be naturally realized
at both inter and intra levels. A basic form of {SmartRegion}
routing mechanism is provided. Simplicity, scalability, and
manageability of the proposed approach would also bring future
potentials to reduce energy consumption and environmental footprint
associated to the {SDNs}. Finally, various applications, such as
enabling seamless broadband access, providing beyond {IP}
addressing mechanisms, and also address-equivalent naming
mechanisms, are considered and discussed.},
institution = {{arXiv}},
author = {Moghaddam, Reza Farrahi and Lemieux, Yves and Cheriet, Mohamed},
urldate = {2024-09-23},
date = {2015-04},
doi = {10.48550/arXiv.1504.07933},
keywords = {Computer Science - Networking and Internet Architecture},
file =
{Attachment:/home/lhebendanz/Zotero/storage/SENCWZZ4/decent_sdn.pdf:application/pdf},
}
@article{bakhshi_state_2017, @article{bakhshi_state_2017,
title = {State of the Art and Recent Research Advances in Software title = {State of the Art and Recent Research Advances in Software
Defined Networking}, Defined Networking},
@@ -288,27 +219,6 @@
under high churns a survey.pdf:application/pdf}, under high churns a survey.pdf:application/pdf},
} }
@article{dolstra_nix_nodate,
title = {Nix: A Safe and Policy-Free System for Software Deployment},
abstract = {Existing systems for software deployment are neither
safe nor sufficiently flexible. Primary safety issues are the
inability to enforce reliable specification of component
dependencies, and the lack of support for multiple versions or
variants of a component. This renders deployment operations such as
upgrading or deleting components dangerous and unpredictable. A
deployment system must also be flexible (i.e., policy-free) enough
to support both centralised and local package management, and to
allow a variety of mechanisms for transferring components. In this
paper we present Nix, a deployment system that addresses these
issues through a simple technique of using cryptographic hashes to
compute unique paths for component instances.},
author = {Dolstra, Eelco and de Jonge, Merijn and Visser, Eelco},
langid = {english},
file = {PDF:/home/lhebendanz/Zotero/storage/FVVZ628U/Dolstra et al.
- Nix A Safe and Policy-Free System for Software
Deployment.pdf:application/pdf},
}
@inproceedings{guilloteau_painless_2022, @inproceedings{guilloteau_painless_2022,
location = {Heidelberg, Germany}, location = {Heidelberg, Germany},
title = {Painless Transposition of Reproducible Distributed title = {Painless Transposition of Reproducible Distributed
@@ -388,86 +298,6 @@
- 2010 - NixOS A Purely Functional Linux Distribution.pdf:application/pdf}, - 2010 - NixOS A Purely Functional Linux Distribution.pdf:application/pdf},
} }
@inproceedings{zhang_towards_2023,
location = {Birmingham United Kingdom},
title = {Towards Dynamic and Reliable Private Key Management for
Hierarchical Access Structure in Decentralized Storage},
isbn = {9798400701245},
url = {https://dl.acm.org/doi/10.1145/3583780.3615090},
doi = {10.1145/3583780.3615090},
abstract = {With the widespread development of decentralized
storage, it is increasingly popular for users to store their data
to the decentralized database systems for the well-understood
benefits of outsourced storage. To ensure the data privacy, systems
commonly require users to securely keep their private keys. Thus,
the secure storage of private keys is an important issue in these
systems. However, existing key-management schemes commonly rely on
a Trusted Third Party ({TTP}), which raises critical security
concerns such as the single point of failure and Distributed Denial
of Service ({DDoS}) attacks. In this paper, we propose {HasDPSS}, a
secure and efficient blockchain-based key-management scheme for
decentralized storage systems. It uses secret sharing, a
lightweight cryptographic technique, to build the decentralized
key-management scheme. Considering that the reliability of managing
participants has inherent heterogeneity, we introduce the
hierarchical access structure to achieve fine-grained key
management. Meanwhile, to adapt the node churn of decentralized key
management, {HasDPSS} enables a dynamic management committee to
provide reliable services with a proactive refresh mechanism while
protecting the integrity and security of private keys. In our
design, we use the dimension switch method of polynomials in the
evolving process to achieve the committee change of the
hierarchical access structure. The reliability of participants is
guaranteed by the customized commitment protocol and the immutable
property of the blockchain. We thoroughly analyze security
strengths and conduct extensive experiments to demonstrate the
practicality of our design.},
eventtitle = {{CIKM} '23: The 32nd {ACM} International Conference
on Information and Knowledge Management},
pages = {3371--3380},
booktitle = {Proceedings of the 32nd {ACM} International Conference
on Information and Knowledge Management},
publisher = {{ACM}},
author = {Zhang, Yifang and Wang, Mingyue and Guo, Yu and Guo, Fangda},
urldate = {2024-11-24},
date = {2023-10-21},
langid = {english},
file = {PDF:/home/lhebendanz/Zotero/storage/WI8JTTIS/Zhang et al. -
2023 - Towards Dynamic and Reliable Private Key Management for
Hierarchical Access Structure in Decentraliz.pdf:application/pdf},
}
@inproceedings{ryeng_robust_2008,
location = {New York, {NY}, {USA}},
title = {Robust aggregation in peer-to-peer database systems},
isbn = {978-1-60558-188-0},
url = {https://doi.org/10.1145/1451940.1451946},
doi = {10.1145/1451940.1451946},
series = {{IDEAS} '08},
abstract = {Peer-to-peer database systems (P2PDBs) aim at providing
database services with node autonomy, high availability and loose
coupling between participating nodes by building the {DBMS} on top
of a peer-to-peer network. A key feature of current peer-to-peer
systems is resilience to churn in the overlay network layer. A
major challenge in P2PDBs is to provide similar robustness in the
data and query processing layer. In this paper we in particular
describe how aggregation queries in P2PDBs can be handled in order
to reduce the impact of churn on accuracy of results. We perform a
formal study of data loss and accuracy of such queries, and
describe new approaches that increase the accuracy of aggregation
queries in P2PDBs under churn.},
pages = {29--37},
booktitle = {Proceedings of the 2008 international symposium on
Database engineering \& applications},
publisher = {Association for Computing Machinery},
author = {Ryeng, Norvald H. and Nørvåg, Kjetil},
urldate = {2024-11-24},
date = {2008-09-10},
file = {PDF:/home/lhebendanz/Zotero/storage/3KC9AG7C/Ryeng and
Nørvåg - 2008 - Robust aggregation in peer-to-peer database
systems.pdf:application/pdf},
}
@article{tatarinov_piazza_2003, @article{tatarinov_piazza_2003,
title = {The Piazza peer data management project}, title = {The Piazza peer data management project},
volume = {32}, volume = {32},
@@ -566,5 +396,108 @@
keywords = {Databases, {IP} networks, Linux, Production, Servers, keywords = {Databases, {IP} networks, Linux, Production, Servers,
Software, Testing}, Software, Testing},
file = {IEEE Xplore Abstract file = {IEEE Xplore Abstract
Record:/home/lhebendanz/Zotero/storage/LDFB982I/6607691.html:text/html}, Record:/home/lhebendanz/Zotero/storage/LDFB982I/6607691.html:text/html;PDF:/home/lhebendanz/Zotero/storage/6VBUL8L5/Dolstra
et al. - 2013 - Charon Declarative provisioning and
deployment.pdf:application/pdf},
}
@article{laddad_keep_2022,
title = {Keep {CALM} and {CRDT} On},
volume = {16},
issn = {2150-8097},
url = {https://doi.org/10.14778/3574245.3574268},
doi = {10.14778/3574245.3574268},
abstract = {Despite decades of research and practical experience,
developers have few tools for programming reliable distributed
applications without resorting to expensive coordination
techniques. Conflict-free replicated datatypes ({CRDTs}) are a
promising line of work that enable coordination-free replication
and offer certain eventual consistency guarantees in a relatively
simple object-oriented {API}. Yet {CRDT} guarantees extend only to
data updates; observations of {CRDT} state are unconstrained and
unsafe. We propose an agenda that embraces the simplicity of
{CRDTs}, but provides richer, more uniform guarantees. We extend
{CRDTs} with a query model that reasons about which queries are
safe without coordination by applying monotonicity results from the
{CALM} Theorem, and lay out a larger agenda for developing {CRDT}
data stores that let developers safely and efficiently interact
with replicated application state.},
pages = {856--863},
number = {4},
journaltitle = {Proc. {VLDB} Endow.},
author = {Laddad, Shadaj and Power, Conor and Milano, Mae and
Cheung, Alvin and Crooks, Natacha and Hellerstein, Joseph M.},
urldate = {2024-11-24},
date = {2022},
file = {PDF:/home/lhebendanz/Zotero/storage/SEGUKMKS/Laddad et al.
- 2022 - Keep CALM and CRDT On.pdf:application/pdf},
}
@inproceedings{jeffery_amc_2023,
location = {New York, {NY}, {USA}},
title = {{AMC}: Towards Trustworthy and Explorable {CRDT}
Applications with the Automerge Model Checker},
isbn = {9798400700866},
url = {https://dl.acm.org/doi/10.1145/3578358.3591326},
doi = {10.1145/3578358.3591326},
series = {{PaPoC} '23},
shorttitle = {{AMC}},
abstract = {Conflict-free Replicated Data Types ({CRDTs}) enable
local-first operations and asynchronous collaboration without the
need for always-on centralised services. {CRDTs} can have a high
overhead, so implementations need to be optimised, but this
optimisation can lead to bugs despite the use of test suites and
fuzzing. Furthermore, using {CRDTs} in applications is complex,
observing unexpected conflict resolution, issues synchronising
documents and difficulties implementing appropriate data models.
Automerge is a library, exposing a {JSON} {CRDT}, that sees users
having difficulties in modelling their problems, understanding
their edge cases and implementing applications correctly. We
introduce the Automerge Model Checker ({AMC}), empowering
application developers to check properties about their
implementations and explore them dynamically. {AMC} can check a
range of applications as well as being able to check properties
about the core of Automerge itself, helping to make more
trustworthy Automerge applications.{AMC} is available open-source
at github.com/jeffa5/automerge-model-checker.},
pages = {44--50},
booktitle = {Proceedings of the 10th Workshop on Principles and
Practice of Consistency for Distributed Data},
publisher = {Association for Computing Machinery},
author = {Jeffery, Andrew and Mortier, Richard},
urldate = {2024-11-24},
date = {2023},
file = {Full Text
PDF:/home/lhebendanz/Zotero/storage/EEMPQUIR/Jeffery and Mortier -
2023 - AMC Towards Trustworthy and Explorable CRDT Applications
with the Automerge Model Checker.pdf:application/pdf},
}
@inproceedings{dolstra_nix_2004,
location = {{USA}},
title = {Nix: A Safe and Policy-Free System for Software Deployment},
series = {{LISA} '04},
shorttitle = {Nix},
abstract = {Existing systems for software deployment are neither
safe nor sufficiently flexible. Primary safety issues are the
inability to enforce reliable specification of component
dependencies, and the lack of support for multiple versions or
variants of a component. This renders deployment operations such as
upgrading or deleting components dangerous and unpredictable. A
deployment system must also be flexible (i.e., policy-free) enough
to support both centralised and local package management, and to
allow a variety of mechanisms for transferring components. In this
paper we present Nix, a deployment system that addresses these
issues through a simple technique of using cryptographic hashes to
compute unique paths for component instances.},
pages = {79--92},
booktitle = {Proceedings of the 18th {USENIX} conference on System
administration},
publisher = {{USENIX} Association},
author = {Dolstra, Eelco and de Jonge, Merijn and Visser, Eelco},
urldate = {2024-11-25},
date = {2004-11-19},
file = {PDF:/home/lhebendanz/Zotero/storage/FVVZ628U/Dolstra et al.
- Nix A Safe and Policy-Free System for Software
Deployment.pdf:application/pdf},
} }