No description
-
2018 (v1)PublicationUploaded on: April 14, 2023
-
2022 (v1)Publication
In recent work, non-regular streams have been defined corecursively, by representing them with finitary equational systems built on top of various operators, besides the standard constructor. With finitary equational systems based only on the stream constructor, one can use the free theory of regular (a.k.a. rational) trees to get a sound and...
Uploaded on: April 14, 2023 -
2022 (v1)Publication
Multiagent Systems (MASs) are distributed systems composed by autonomous, reactive, proactive, heterogeneous communicating entities. In order to dynamically verify the behavior of such complex systems, a decentralized solution able to scale with the number of agents is necessary. When, for physical, infrastructural, or legal reasons, the...
Uploaded on: February 22, 2023 -
2022 (v1)Publication
We propose a novel approach to stream definition and manipulation. Our solution is based on two key ideas. Regular corecursion, which avoids non termination by detecting cyclic calls, is enhanced, by allowing in equations defining streams other operators besides the stream constructor. In this way, some non-regular streams are definable....
Uploaded on: February 22, 2023 -
2023 (v1)Publication
Most mainstream object-oriented languages provide a notion of equality between objects which can be customized to be weaker than reference equality, and which is coupled with the customizable notion of object hash code. This feature is so pervasive in object-oriented code that incorrect redefinition or use of equality and hash code may have a...
Uploaded on: February 4, 2024 -
2022 (v1)PublicationMind the Gap! Runtime Verification of Partially Observable MASs with Probabilistic Trace Expressions
In this paper we present the theory behind Probabilistic Trace Expressions (PTEs), an extension of Trace Expressions where types of events that can be observed by a monitor are associated with an observation probability. PTEs can be exploited for monitoring that agents in a MAS interact in compliance with an Agent Interaction Protocol (AIP)...
Uploaded on: July 3, 2024 -
2023 (v1)Publication
Checked corecursive streams are a novel approach to stream definitions relying on a semantics of function application detecting cyclic calls, and a well-definedness check ensuring that access to an arbitrary index will always return a result. We extend the technique beyond the simple stream operators considered in previous work, notably by...
Uploaded on: January 27, 2024 -
2020 (v1)Publication
Recursive definitions of predicates are usually interpreted either inductively or coinductively. Recently, a more powerful approach has been proposed, called flexible coinduction, to express a variety of intermediate interpretations, necessary in some cases to get the correct meaning. We provide a detailed formal account of an extension of...
Uploaded on: April 14, 2023 -
2019 (v1)Publication
We describe a Java-like calculus which supports cyclic data structures, and offers a mechanism of flexible regular corecursion for their manipulation. The calculus enhances an earlier proposal by a more sophisticated reduction semantics, which filters out, by an additional check, some spurious results which were obtained in the previous model.
Uploaded on: April 14, 2023 -
2019 (v1)Publication
Runtime verification (RV) is an effective technique for dynamically monitoring, even after deployment, properties that could be hardly verified statically. To this aim, specification formalims for RV have to reconcile expressive power and monitoring efficiency. We present an event calculus which provides a basis for the semantics and the...
Uploaded on: April 14, 2023 -
2020 (v1)Publication
We provide a construction that, given a big-step semantics describing finite computations and their observations, extends it to include infinite computations as well. The basic idea is that the finite behavior uniquely determines the infinite behavior once observations and their composition operators are fixed. Technically, the construction...
Uploaded on: March 27, 2023 -
2019 (v1)Publication
Trace expressions are a compact and expressive formalism initially devised for runtime verication of multiagent systems, and then adopted for runtime verication of object oriented systems and of Internet of Things applications. In this paper we survey different logics to cope with time intervals, and we exploit the ideas underlying these logics...
Uploaded on: April 14, 2023 -
2020 (v1)Publication
In this paper we present a laboratory activity aimed at teaching fundamental aspects in programming Internet of Things systems while exploring edge, cloud and middleware components. The whole activity is built on top of visual tools based on the Flow Programming paradigm Node-red. Node-red provides an abstract view of the underlying...
Uploaded on: April 14, 2023 -
2022 (v1)Publication
This paper presents a Runtime Verification (RV) approach for Multi-Agent Systems (MAS) using the JaCaMo framework. Our objective is to bring a layer of security to the MAS. This layer is capable of controlling events during the execution of the system without needing a specific implementation in the behaviour of each agent to recognise the...
Uploaded on: February 21, 2023 -
2023 (v1)Publication
This paper presents a Runtime Verification (RV) approach for Multi-Agent Systems (MAS) using the JaCaMo framework. Our objective is to bring a layer of security to the MAS. This is achieved keeping in mind possible safety-critical uses of the MAS, such as robotic applications. This layer is capable of controlling events during the execution of...
Uploaded on: February 7, 2024 -
2023 (v1)Publication
In this paper we discuss how Logic Programming can be exploited for Runtime Verification, an activity where a monitor is in charge for checking whether an observed event is allowed in the current state. If this is the case, the monitor moves to the successive state, observes another event, and so on, until either a violation is detected, or the...
Uploaded on: February 4, 2024 -
2018 (v1)Publication
When applying formal verification to a system that interacts with the real world we must use a model of the environment. This model represents an abstraction of the actual environment, but is necessarily incomplete and hence presents an issue for system verification. If the actual environment matches the model, then the verification is correct;...
Uploaded on: April 14, 2023 -
2019 (v1)Publication
When applying formal verification to a system that interacts with the real world we must use a model of the environment. This model represents an abstraction of the actual environment, but is necessarily incomplete and hence presents an issue for system verification. If the actual environment matches the model, then the verification is correct;...
Uploaded on: April 14, 2023