26 research outputs found
Model Checking Trust-based Multi-Agent Systems
Trust has been the focus of many research projects, both theoretical and practical, in
the recent years, particularly in domains where open multi-agent technologies are applied
(e.g., Internet-based markets, Information retrieval, etc.). The importance of trust in such
domains arises mainly because it provides a social control that regulates the relationships
and interactions among agents. Despite the growing number of various multi-agent applications, they still encounter many challenges in their formal modeling and the verification
of agents’ behaviors. Many formalisms and approaches that facilitate the specifications of
trust in Multi-Agent Systems (MASs) can be found in the literature. However, most of these
approaches focus on the cognitive side of trust where the trusting entity is normally capable
of exhibiting properties about beliefs, desires, and intentions. Hence, the trust is considered
as a belief of an agent (the truster) involving ability and willingness of the trustee to perform some actions for the truster. Nevertheless, in open MASs, entities can join and leave
the interactions at any time. This means MASs will actually provide no guarantee about the
behavior of their agents, which makes the capability of reasoning about trust and checking
the existence of untrusted computations highly desired.
This thesis aims to address the problem of modeling and verifying at design time
trust in MASs by (1) considering a cognitive-independent view of trust where trust ingredients are seen from a non-epistemic angle, (2) introducing a logical language named Trust
Computation Tree Logic (TCTL), which extends CTL with preconditional, conditional, and graded trust operators along with a set of reasoning postulates in order to explore its capabilities, (3) proposing a new accessibility relation which is needed to define the semantics
of the trust modal operators. This accessibility relation is defined so that it captures the
intuition of trust while being easily computable, (4) investigating the most intuitive and
efficient algorithm for computing the trust set by developing, implementing, and experimenting different model checking techniques in order to compare between them in terms of
memory consumption, efficiency, and scalability with regard to the number of considered
agents, (5) evaluating the performance of the model checking techniques by analyzing the
time and space complexity.
The approach has been applied to different application domains to evaluate its computational performance and scalability. The obtained results reveal the effectiveness of the
proposed approach, making it a promising methodology in practice
CTL Model-Checking with Graded Quantifiers
The use of the universal and existential quantifiers with the capability to express the concept of at least k or all but k, for a non-negative integer k, has been thoroughly studied in various kinds of logics. In classical logic there are counting quantifiers, in modal logics graded modalities, in description logics number restrictions.
Recently, the complexity issues related to the decidability of the μ-calculus, when the universal and existential quantifiers are augmented with graded modalities, have been investigated by Kupfermann, Sattler and Vardi. They have shown that this problem is ExpTime-complete.
In this paper we consider another extension of modal logic, the Computational Tree Logic CTL, augmented with graded modalities generalizing standard quantifiers and investigate the complexity issues, with respect to the model-checking problem. We consider a system model represented by a pointed Kripke structure and give an algorithm to solve the model-checking problem running in time O() which is hence tight for the problem (where |Ï•| is the number of temporal and boolean operators and does not include the values occurring in the graded modalities).
In this framework, the graded modalities express the ability to generate a user-defined number of counterexamples (or evidences) to a specification Ï• given in CTL. However these multiple counterexamples can partially overlap, that is they may share some behavior. We have hence investigated the case when all of them are completely disjoint. In this case we prove that the model-checking problem is both NP-hard and coNP-hard and give an algorithm for solving it running in polynomial space. We have thus studied a fragment of this graded-CTL logic, and have proved that the model-checking problem is solvable in polynomial time
Formal methods applied to the analysis of phylogenies: Phylogenetic model checking
Los árboles filogenéticos son abstracciones útiles para modelar y caracterizar la evolución de un conjunto de especies o poblaciones respecto del tiempo. La proposición, verificación y generalización de hipótesis sobre un árbol filogenético inferido juegan un papel importante en el estudio y comprensión de las relaciones evolutivas. Actualmente, uno de los principales objetivos cientÃficos es extraer o descubrir los mensajes biológicos implÃcitos y las propiedades estructurales subyacentes en la filogenia. Por ejemplo, la integración de información genética en una filogenia ayuda al descubrimiento de genes conservados en todo o parte del árbol, la identificación de posiciones covariantes en el ADN o la estimación de las fechas de divergencia entre especies. Consecuentemente, los árboles ayudan a comprender el mecanismo que gobierna la deriva evolutiva. Hoy en dÃa, el amplio espectro de métodos y herramientas heterogéneas para el análisis de filogenias enturbia y dificulta su utilización, además del fuerte acoplamiento entre la especificación de propiedades y los algoritmos utilizados para su evaluación (principalmente scripts ad hoc). Este problema es el punto de arranque de esta tesis, donde se analiza como solución la posibilidad de introducir un entorno formal de verificación de hipótesis que, de manera automática y modular, estudie la veracidad de dichas propiedades definidas en un lenguaje genérico e independiente (en una lógica formal asociada) sobre uno de los múltiples softwares preparados para ello. La contribución principal de la tesis es la propuesta de un marco formal para la descripción, verificación y manipulación de relaciones causales entre especies de forma independiente del código utilizado para su valoración. Para ello, exploramos las caracterÃsticas de las técnicas de model checking, un paradigma en el que una especificación expresada en lógica temporal se verifica con respecto a un modelo del sistema que representa una implementación a un cierto nivel de detalle. Se ha aplicado satisfactoriamente en la industria para el modelado de sistemas y su verificación, emergiendo del ámbito de las ciencias de la computación. Las contribuciones concretas de la tesis han sido: A) La identificación e interpretación de los árboles filogeneticos como modelos de la evolución, adaptados al entorno de las técnicas de model checking. B) La definición de una lógica temporal que captura las propiedades filogenéticas habituales junto con un método de construcción de propiedades. C) La clasificación de propiedades filogenéticas, identificando categorÃas de propiedades según estén centradas en la estructura del árbol, en las secuencias o sean hÃbridas. D) La extensión de las lógicas y modelos para contemplar propiedades cuantitativas de tiempo, probabilidad y de distancias. E) El desarrollo de un entorno para la verificación de propiedades booleanas, cuantitativas y paramétricas. F) El establecimiento de los principios para la manipulación simbolica de objetos filogenéticos, p. ej., clados. G) La explotación de las herramientas de model checking existentes, detectando sus problemas y carencias en el campo de filogenia y proponiendo mejoras. H) El desarrollo de técnicas "ad hoc" para obtener ganancia de complejidad alrededor de dos frentes: distribución de los cálculos y datos, y el uso de sistemas de información. Los puntos A-F se centran en las aportaciones conceptuales de nuestra aproximación, mientras que los puntos G-H enfatizan la parte de herramientas e implementación. Los contenidos de la tesis están contrastados por la comunidad cientÃfica mediante las siguientes publicaciones en conferencias y revistas internacionales. La introducción de model checking como entorno formal para analizar propiedades biológicas (puntos A-C) ha llevado a la publicación de nuestro primer artÃculo de congreso [1]. En [2], desarrollamos la verificación de hipótesis filogenéticas sobre un árbol de ejemplo construido a partir de las relaciones impuestas por un conjunto de proteÃnas codificadas por el ADN mitocondrial humano (ADNmt). En ese ejemplo, usamos una herramienta automática y genérica de model checking (punto G). El artÃculo de revista [7] resume lo básico de los artÃculos de congreso previos y extiende la aplicación de lógicas temporales a propiedades filogenéticas no consideradas hasta ahora. Los artÃculos citados aquà engloban los contenidos presentados en las Parte I--II de la tesis. El enorme tamaño de los árboles y la considerable cantidad de información asociada a los estados (p.ej., la cadena de ADN) obligan a la introducción de adaptaciones especiales en las herramientas de model checking para mantener un rendimiento razonable en la verificación de propiedades y aliviar también el problema de la explosión de estados (puntos G-H). El artÃculo de congreso [3] presenta las ventajas de rebanar el ADN asociado a los estados, la partición de la filogenia en pequeños subárboles y su distribución entre varias máquinas. Además, la idea original del model checking rebanado se complementa con la inclusión de una base de datos externa para el almacenamiento de secuencias. El artÃculo de revista [4] reúne las nociones introducidas en [3] junto con la implementación y resultados preliminares presentados [5]. Este tema se corresponde con lo presentado en la Parte III de la tesis. Para terminar, la tesis reaprovecha las extensiones de las lógicas temporales con tiempo explÃcito y probabilidades a fin de manipular e interrogar al árbol sobre información cuantitativa. El artÃculo de congreso [6] ejemplifica la necesidad de introducir probabilidades y tiempo discreto para el análisis filogenético de un fenotipo real, en este caso, el ratio de distribución de la intolerancia a la lactosa entre diversas poblaciones arraigadas en las hojas de la filogenia. Esto se corresponde con el CapÃtulo 13, que queda englobado dentro de las Partes IV--V. Las Partes IV--V completan los conceptos presentados en ese artÃculo de conferencia hacia otros dominios de aplicación, como la puntuación de árboles, y tiempo continuo (puntos E-F). La introducción de parámetros en las hipótesis filogenéticas se plantea como trabajo futuro. Referencias [1] Roberto Blanco, Gregorio de Miguel Casado, José Ignacio Requeno, and José Manuel Colom. Temporal logics for phylogenetic analysis via model checking. In Proceedings IEEE International Workshop on Mining and Management of Biological and Health Data, pages 152-157. IEEE, 2010. [2] José Ignacio Requeno, Roberto Blanco, Gregorio de Miguel Casado, and José Manuel Colom. Phylogenetic analysis using an SMV tool. In Miguel P. Rocha, Juan M. Corchado RodrÃguez, Florentino Fdez-Riverola, and Alfonso Valencia, editors, Proceedings 5th International Conference on Practical Applications of Computational Biology and Bioinformatics, volume 93 of Advances in Intelligent and Soft Computing, pages 167-174. Springer, Berlin, 2011. [3] José Ignacio Requeno, Roberto Blanco, Gregorio de Miguel Casado, and José Manuel Colom. Sliced model checking for phylogenetic analysis. In Miguel P. Rocha, Nicholas Luscombe, Florentino Fdez-Riverola, and Juan M. Corchado RodrÃguez, editors, Proocedings 6th International Conference on Practical Applications of Computational Biology and Bioinformatics, volume 154 of Advances in Intelligent and Soft Computing, pages 95-103. Springer, Berlin, 2012. [4] José Ignacio Requeno and José Manuel Colom. Model checking software for phylogenetic trees using distribution and database methods. Journal of Integrative Bioinformatics, 10(3):229-233, 2013. [5] José Ignacio Requeno and José Manuel Colom. Speeding up phylogenetic model checking. In Mohd Saberi Mohamad, Loris Nanni, Miguel P. Rocha, and Florentino Fdez-Riverola, editors, Proceedings 7th International Conference on Practical Applications of Computational Biology and Bioinformatics, volume 222 of Advances in Intelligent Systems and Computing, pages 119-126. Springer, Berlin, 2013. [6] José Ignacio Requeno and José Manuel Colom. Timed and probabilistic model checking over phylogenetic trees. In Miguel P. Rocha et al., editors, Proceedings 8th International Conference on Practical Applications of Computational Biology and Bioinformatics, Advances in Intelligent and Soft Computing. Springer, Berlin, 2014. [7] José Ignacio Requeno, Gregorio de Miguel Casado, Roberto Blanco, and José Manuel Colom. Temporal logics for phylogenetic analysis via model checking. IEEE/ACM Transactions on Computational Biology and Bioinformatics, 10(4):1058-1070, 2013
Model Checking Cyber-Physical Systems
2017 - 2018Cyber-Physical Systems (CPSs) are integrations of computation with physical
processes. Applications of CPS arguably have the potential to overshadow the
20-th century IT revolution. Nowadays, CPSs application to many sectors like
Smart Grids, Transportation, and Health help us run our lives and businesses
smoothly, successfully and safely.
Since malfunctions in these CPSs can have serious, expensive, sometimes fatal
consequences, Simulation-based Veri cation (SBV) tools are vital to minimize
the probability of errors occurring during the development process and beyond.
Their applicability is supported by the increasingly widespread use of Model
Based Design (MBD) tools. MBD enables the simulation of CPS models in
order to check for their correct behaviour from the very initial design phase.
The disadvantage is that SBV for complex CPSs is an extremely resources and
time-consuming process, which typically requires several months of simulation.
Current SBV tools are aimed at accelerating the veri cation process with mul-
tiple simulators working simultaneously. To this end, they compute all the
scenarios in advance in such a way as to split and simulate them in parallel.
Nevertheless, there are still limitations that prevent a more widespread adop-
tion of SBV tools. To this end, we present a MBD methodology aiming the
acausual modeling and veri cation via formal-methods, speci cally the model
checking techniques, the system under veri cation (SUV). Our approach relies
basically on: Firstly, the analysis of the steady-states of the CPS and the bound-
ing technique of the system's state in parallel with the simulation in order to
identify the state space of the system simulating it only once, then represent it as
a Finite State Machine (FSM). Secondly, exhaustively verify the resulted FSM
using a symbolic model checker and express the desired properties in classical
temporal logic. The application to a power management system is presented as
a case study. [edited by Author]XXX cicl
A software development framework for context-aware systems
The beginning of the new century has been characterised by the miniaturisation and accessibility of electronics, which has enabled its widespread usage around the world. This technological background is progressively materialising the future of the remainder of the century, where industry-based societies have been moving towards information-based societies. Information from users and their environment is now pervasively available, and many new research areas have born in order to shape the potential of such advancements. Particularly, context-aware computing is at the core of many areas such as Intelligent Environments, Ambient Intelligence, Ambient Assisted Living or Pervasive Computing. Embedding contextual awareness into computers promises a fundamental enhancement in the interaction between computers and humans. While traditional computers require explicit commands in order to operate, contextually aware computers could also use information from the background and the users to provide services according to the situation. But embedding this contextual awareness has many unresolved challenges. The area of context-aware computing has attracted the interest of many researchers that have presented different approaches to solve particular aspects on the implementation of this technology. The great corpus of research in this direction indicates that context-aware systems have different requirements than those of traditional computing. Approaches for developing context-aware systems are typically scattered or do not present compatibility with other approaches. Existing techniques for creating context-aware systems also do not focus on covering all the different stages of a typical software development life-cycle. The contribution of this thesis is towards the foundation layers of a more holistic approach, that tries to facilitate further research on the best techniques for developing these kinds of systems. The approach presents a framework to support the development not only with methodologies, but with open-source tools that facilitate the implementation of context-aware systems in mobile and stationary platforms