115 research outputs found
Secure Cloud-Edge Deployments, with Trust
Assessing the security level of IoT applications to be deployed to
heterogeneous Cloud-Edge infrastructures operated by different providers is a
non-trivial task. In this article, we present a methodology that permits to
express security requirements for IoT applications, as well as infrastructure
security capabilities, in a simple and declarative manner, and to automatically
obtain an explainable assessment of the security level of the possible
application deployments. The methodology also considers the impact of trust
relations among different stakeholders using or managing Cloud-Edge
infrastructures. A lifelike example is used to showcase the prototyped
implementation of the methodology
On the Implementation of the Probabilistic Logic Programming Language ProbLog
The past few years have seen a surge of interest in the field of
probabilistic logic learning and statistical relational learning. In this
endeavor, many probabilistic logics have been developed. ProbLog is a recent
probabilistic extension of Prolog motivated by the mining of large biological
networks. In ProbLog, facts can be labeled with probabilities. These facts are
treated as mutually independent random variables that indicate whether these
facts belong to a randomly sampled program. Different kinds of queries can be
posed to ProbLog programs. We introduce algorithms that allow the efficient
execution of these queries, discuss their implementation on top of the
YAP-Prolog system, and evaluate their performance in the context of large
networks of biological entities.Comment: 28 pages; To appear in Theory and Practice of Logic Programming
(TPLP
Probabilistic QoS-aware Placement of VNF chains at the Edge
Deploying IoT-enabled Virtual Network Function (VNF) chains to Cloud-Edge
infrastructures requires determining a placement for each VNF that satisfies
all set deployment requirements as well as a software-defined routing of
traffic flows between consecutive functions that meets all set communication
requirements. In this article, we present a declarative solution, EdgeUsher, to
the problem of how to best place VNF chains to Cloud-Edge infrastructures.
EdgeUsher can determine all eligible placements for a set of VNF chains to a
Cloud-Edge infrastructure so to satisfy all of their hardware, IoT, security,
bandwidth, and latency requirements. It exploits probability distributions to
model the dynamic variations in the available Cloud-Edge infrastructure, and to
assess output eligible placements against those variations
From Probabilistic Programming to Complexity-based Programming
The paper presents the main characteristics and a preliminary implementation
of a novel computational framework named CompLog. Inspired by probabilistic
programming systems like ProbLog, CompLog builds upon the inferential
mechanisms proposed by Simplicity Theory, relying on the computation of two
Kolmogorov complexities (here implemented as min-path searches via ASP
programs) rather than probabilistic inference. The proposed system enables
users to compute ex-post and ex-ante measures of unexpectedness of a certain
situation, mapping respectively to posterior and prior subjective
probabilities. The computation is based on the specification of world and
mental models by means of causal and descriptive relations between predicates
weighted by complexity. The paper illustrates a few examples of application:
generating relevant descriptions, and providing alternative approaches to
disjunction and to negation
A Probabilistic Logic Programming Event Calculus
We present a system for recognising human activity given a symbolic
representation of video content. The input of our system is a set of
time-stamped short-term activities (STA) detected on video frames. The output
is a set of recognised long-term activities (LTA), which are pre-defined
temporal combinations of STA. The constraints on the STA that, if satisfied,
lead to the recognition of a LTA, have been expressed using a dialect of the
Event Calculus. In order to handle the uncertainty that naturally occurs in
human activity recognition, we adapted this dialect to a state-of-the-art
probabilistic logic programming framework. We present a detailed evaluation and
comparison of the crisp and probabilistic approaches through experimentation on
a benchmark dataset of human surveillance videos.Comment: Accepted for publication in the Theory and Practice of Logic
Programming (TPLP) journa
SkILL - a Stochastic Inductive Logic Learner
Probabilistic Inductive Logic Programming (PILP) is a rel- atively unexplored
area of Statistical Relational Learning which extends classic Inductive Logic
Programming (ILP). This work introduces SkILL, a Stochastic Inductive Logic
Learner, which takes probabilistic annotated data and produces First Order
Logic theories. Data in several domains such as medicine and bioinformatics
have an inherent degree of uncer- tainty, that can be used to produce models
closer to reality. SkILL can not only use this type of probabilistic data to
extract non-trivial knowl- edge from databases, but it also addresses
efficiency issues by introducing a novel, efficient and effective search
strategy to guide the search in PILP environments. The capabilities of SkILL
are demonstrated in three dif- ferent datasets: (i) a synthetic toy example
used to validate the system, (ii) a probabilistic adaptation of a well-known
biological metabolism ap- plication, and (iii) a real world medical dataset in
the breast cancer domain. Results show that SkILL can perform as well as a
deterministic ILP learner, while also being able to incorporate probabilistic
knowledge that would otherwise not be considered
Effectful Programming in Declarative Languages with an Emphasis on Non-Determinism: Applications and Formal Reasoning
This thesis investigates effectful declarative programming with an emphasis on non-determinism as an effect.
On the one hand, we are interested in developing applications using non-determinism as underlying implementation idea.
We discuss two applications using the functional logic programming language Curry.
The key idea of these implementations is to exploit the interplay of non-determinism and non-strictness that Curry employs.
The first application investigates sorting algorithms parametrised over a comparison function.
By applying a non-deterministic predicate to these sorting functions, we gain a permutation enumeration function.
We compare the implementation in Curry with an implementation in Haskell that uses a monadic interface to model non-determinism.
The other application that we discuss in this work is a library for probabilistic programming.
Instead of modelling distributions as list of event and probability pairs, we model distributions using Curry's built-in non-determinism.
In both cases we observe that the combination of non-determinism and non-strictness has advantages over an implementation using lists to model non-determinism.
On the other hand, we present an idea to apply formal reasoning on effectful declarative programming languages.
In order to start with simple effects, we focus on modelling a functional subset first.
That is, the effects of interest are totality and partiality.
We then observe that the general scheme to model these two effects can be generalised to capture a wide range of effects.
Obviously, the next step is to apply the idea to model non-determinism.
More precisely, we implement a model for the non-determinism of Curry: non-strict non-determinism with call-time choice.
Therefore, we finally discuss why the current representation models call-by-name rather than Curry's call-by-need semantics and give an outlook on ideas to tackle this problem.Diese Arbeit beschäftigt sich mit der deklarativen Programmierung mit Effekten und legt dabei besonderen Fokus auf Nichtdeterminismus als Effekt.
Einerseits möchten wir Anwendungen entwickeln, deren zugrundeliegende Implementierungsidee auf Nichtdeterminismus basiert.
Wir stellen dazu zwei beispielhafte Anwendungen vor, die in der funktional logischen Programmiersprache Curry implementiert sind.
Die Kernidee dieser Implementierungen ist dabei die Kombination von Nichtstriktheit und Nichtdeterminismus, die Curry unterliegen, gewinnbringend auszunutzen.
Für die erste Anwendung untersuchen wir Sortierfunktionen, die über eine Vergleichsfunktion parametrisiert sind, und wenden diese Funktionen auf ein nichtdeterministisches Prädikat an.
Dabei entsteht eine Funktion, die Permutationen der Eingabeliste berechnet.
Wir vergleichen unsere Implementierung in Curry mit einer Implementierung in Haskell, die den Nichtdeterminismus monadisch modelliert.
Als zweite Anwendung werden wir über eine Bibliothek zur probabilistischen Programmierung diskutieren.
Statt der üblichen Modellierung von Wahrscheinlichkeitsverteilungen als Liste von Paaren von Ereignis- und korrespondierenden Wahrscheinlichkeitswerten modellieren wir diese Verteilungen mithilfe von Currys nativem Nichtdeterminismus.
Beide Implementierungen haben durch die Kombination von Nichtdeterminismus und Nichtstriktheit Vorteile gegenüber einer Implementierung, die den Nichtdeterminismus durch Listen repräsentiert.
Andererseits möchten wir eine Möglichkeit schaffen, über die Programme, die wir in effektbehafteten deklarativen Programmiersprachen entwickelt haben, in einem formalen Rahmen zu argumentieren.
Dabei fangen wir mit der Teilmenge der rein funktionalen Effekte an, das heißt, wir interessieren uns zunächst für totale und partielle Programme.
Die zugrundeliegende Idee zur Modellierung dieser zwei Effekte kann dann auch für weitere Effekte genutzt werden.
Als natürlichen nächsten Schritt betrachten wir den Effekt, der bei der Sprache Curry zusätzlich hinzukommt: nicht-strikter Nichtdeterminismus mit call-time choice Semantik.
Dabei geben wir eine Übersicht darüber, warum die aktuelle Repräsentation call-by-name modelliert, sowie erste Ideen, wie die für Curry erforderliche call-by-need Semantik modelliert werden könnte
- …