31,941 research outputs found
Automated Verification of Design Patterns with LePUS3
Specification and [visual] modelling languages are expected to combine strong abstraction mechanisms with rigour, scalability, and parsimony. LePUS3 is a visual, object-oriented design description language axiomatized in a decidable subset of the first-order predicate logic. We demonstrate how LePUS3 is used to formally specify a structural design pattern and prove (āverifyā) whether any JavaTM 1.4 program satisfies that specification. We also show how LePUS3 specifications (charts) are composed and how they are verified fully automatically in the Two-Tier Programming Toolkit
Infinite Probabilistic Databases
Probabilistic databases (PDBs) are used to model uncertainty in data in a quantitative way. In the standard formal framework, PDBs are finite probability spaces over relational database instances. It has been argued convincingly that this is not compatible with an open-world semantics (Ceylan et al., KR 2016) and with application scenarios that are modeled by continuous probability distributions (Dalvi et al., CACM 2009).
We recently introduced a model of PDBs as infinite probability spaces that addresses these issues (Grohe and Lindner, PODS 2019). While that work was mainly concerned with countably infinite probability spaces, our focus here is on uncountable spaces. Such an extension is necessary to model typical continuous probability distributions that appear in many applications. However, an extension beyond countable probability spaces raises nontrivial foundational issues concerned with the measurability of events and queries and ultimately with the question whether queries have a well-defined semantics.
It turns out that so-called finite point processes are the appropriate model from probability theory for dealing with probabilistic databases. This model allows us to construct suitable (uncountable) probability spaces of database instances in a systematic way. Our main technical results are measurability statements for relational algebra queries as well as aggregate queries and Datalog queries
Temporal Data Modeling and Reasoning for Information Systems
Temporal knowledge representation and reasoning is a major research field in Artificial
Intelligence, in Database Systems, and in Web and Semantic Web research. The ability to
model and process time and calendar data is essential for many applications like appointment
scheduling, planning, Web services, temporal and active database systems, adaptive
Web applications, and mobile computing applications. This article aims at three complementary
goals. First, to provide with a general background in temporal data modeling
and reasoning approaches. Second, to serve as an orientation guide for further specific
reading. Third, to point to new application fields and research perspectives on temporal
knowledge representation and reasoning in the Web and Semantic Web
Condition/Decision Duality and the Internal Logic of Extensive Restriction Categories
In flowchart languages, predicates play an interesting double role. In the
textual representation, they are often presented as conditions, i.e.,
expressions which are easily combined with other conditions (often via Boolean
combinators) to form new conditions, though they only play a supporting role in
aiding branching statements choose a branch to follow. On the other hand, in
the graphical representation they are typically presented as decisions,
intrinsically capable of directing control flow yet mostly oblivious to Boolean
combination. While categorical treatments of flowchart languages are abundant,
none of them provide a treatment of this dual nature of predicates. In the
present paper, we argue that extensive restriction categories are precisely
categories that capture such a condition/decision duality, by means of
morphisms which, coincidentally, are also called decisions. Further, we show
that having these categorical decisions amounts to having an internal logic:
Analogous to how subobjects of an object in a topos form a Heyting algebra, we
show that decisions on an object in an extensive restriction category form a De
Morgan quasilattice, the algebraic structure associated with the (three-valued)
weak Kleene logic . Full classical propositional logic can be
recovered by restricting to total decisions, yielding extensive categories in
the usual sense, and confirming (from a different direction) a result from
effectus theory that predicates on objects in extensive categories form Boolean
algebras. As an application, since (categorical) decisions are partial
isomorphisms, this approach provides naturally reversible models of classical
propositional logic and weak Kleene logic.Comment: 19 pages, including 6 page appendix of proofs. Accepted for MFPS XXX
Abstract State Machines 1988-1998: Commented ASM Bibliography
An annotated bibliography of papers which deal with or use Abstract State
Machines (ASMs), as of January 1998.Comment: Also maintained as a BibTeX file at http://www.eecs.umich.edu/gasm
Type-Based Termination, Inflationary Fixed-Points, and Mixed Inductive-Coinductive Types
Type systems certify program properties in a compositional way. From a bigger
program one can abstract out a part and certify the properties of the resulting
abstract program by just using the type of the part that was abstracted away.
Termination and productivity are non-trivial yet desired program properties,
and several type systems have been put forward that guarantee termination,
compositionally. These type systems are intimately connected to the definition
of least and greatest fixed-points by ordinal iteration. While most type
systems use conventional iteration, we consider inflationary iteration in this
article. We demonstrate how this leads to a more principled type system, with
recursion based on well-founded induction. The type system has a prototypical
implementation, MiniAgda, and we show in particular how it certifies
productivity of corecursive and mixed recursive-corecursive functions.Comment: In Proceedings FICS 2012, arXiv:1202.317
Logic Programming Applications: What Are the Abstractions and Implementations?
This article presents an overview of applications of logic programming,
classifying them based on the abstractions and implementations of logic
languages that support the applications. The three key abstractions are join,
recursion, and constraint. Their essential implementations are for-loops, fixed
points, and backtracking, respectively. The corresponding kinds of applications
are database queries, inductive analysis, and combinatorial search,
respectively. We also discuss language extensions and programming paradigms,
summarize example application problems by application areas, and touch on
example systems that support variants of the abstractions with different
implementations
- ā¦