Jonas Barklund
Uppsala University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Jonas Barklund.
international conference on logic programming | 1993
Jonas Barklund; Johan Bevemyr
It is proposed to add bounded quantifications to Prolog. The main reason is one of natural expression, many algorithms are expressed more elegantly in a declarative way using bounded quantifications than using existing means, i.e., recursion. In particular this is true for numerical algorithms, an area where Prolog has been virtually unsuccessful so far. Moreover, bounded quantification has been found to be at least as efficient as recursion, when applicable. We outline an implementation of bounded quantification through an extension of Warrens abstract Prolog machine and give performance figures relative to recursion. Finally, we have shown elsewhere that bounded quantification has a high potential for parallel implementation. One can often run the same program on a sequential computer and on several kinds of parallel computers.
database and expert systems applications | 1990
Andreas Hamfelt; Jonas Barklund
We propose an architecture for building expert systems in which the main subsystems are distinct but communicating programs: a Prolog inference engine, a multimedia interface tool and a data base management system. We have used this architecture for constructing a legal expert system for labour law.
Journal of Logic Programming | 1994
Jonas Barklund; Andreas Hamfelt
Abstract We present an application of metaprogramming in logic that, unlike most metaprogramming applications, is not primarily concerned with controlling the execution of logic programs. Metalevel computation is used to define theories from schemata that were either given explicitly or obtained by abstraction from other theories. Our main application is a representation of legal knowledge in a metalogic programming language. We argue that legal knowledge is multilayered and therefore a single level representation language lacks the needed expressiveness. We show that legal rules can be partitioned into primary, secondary, tertiary, quaternary, and higher level rules. Our classification enables us to define a multilevel model of legal knowledge and a one-to-one correspondence with levels of metaprogramming in logic. We show that this framework has a potential for capturing important legal interpretation principles such as analogia legis, lex specialis legi generali derogat, etc. We have a running example from commercial law that utilizes rules up to the tertiary level, emphasizing analogia legis. The example is expressed in a multilevel metalogic programming language that provides a naming convention and employs reflection between levels.
artificial intelligence and the simulation of behaviour | 1996
Per Jonsson; Jonas Barklund
Our overall goal is to detect automatically that a signal begins to deviate from its previous behaviours, using no other information than a sequence of samples of the signal. In order to detect such changes we use genetic programming to evolve an expression describing how the signal varies over time. One major difficulty when observing such signals is that they typically contain noise and other disturbances. Such disturbances makes it more difficult to find a useful expression characterizing the signal. We have derived a new method that simultaneously evolves a numeral denoting the number of neighbours to use in a moving average of the signal, and an expression characterizing the smoothed signal.
Expert Systems With Applications | 1992
Jonas Barklund; Andreas Hamfelt; Jan Wünsche
Abstract A practical legal knowledge system must be versatile and capable of supporting many fundamentally different aspects of the lawyers work. In this paper a general framework for building knowledge systems from distinct but communicating modules is proposed. There are currently three different kinds of modules: computation, data storage, and environmental interaction. These modules include inference engines, database managers, and hypertext. Several strategies for coupling these modules are discussed. This framework is used to construct expert systems for two distinct domains: a legal expert system for labour law and a real-time expert system for process control in a pulp plant. The legal application shows that this system can be used to construct an “intelligent library”, guiding the user to relevant documents, rather than merely retrieving documents on request.
Sigplan Notices | 1993
Henrik Arro; Jonas Barklund; Johan Bevemyr
We have extended D. H. D. Warrens abstract machine for sequential Prolog with parallel instructions that implement bounded quantifications, an extension to Prolog proposed by Barklund and Bevemyr. These instructions are intended for parallel computers supporting the data parallel programming model. Luther, an emulator for the sequential abstract machine implemented in the C programming language, has been extended with these instructions, implemented in the data parallel C* programming language.We have coded three example programs that use bounded quantifications, and run them in the emulator on a Connection Machine model 200, a SIMD parallel computer. We compare the run times on this parallel computer with the run times obtained with a sequential implementation of bounded quantifications on a SUN-4M sequential computer.The best result is that one parallel bounded quantification program runs 30 times faster on the Connection Machine than an ordinary recursive program implementing the same algorithm running on the sequential computer. It is conceivable that one can obtain far higher speed-ups when running on larger data parallel computers using bounded quantifications.
flexible query answering systems | 1997
Jonas Barklund; Stefania Costantini; Pierangelo Dell'Acqua; Gaetano Aurelio Lanzarone
In this paper we claim, and demonstrate by means of a number of examples, that a formalism equipped with metalogic and reflection capabilities allows us to easily model (by means of the metalevel) and implement (by means of reflection) the desired degree of flexibility in a query-answering system interacting with a data/knowledge base. We also try to show that a main feature of building a really flexible system is the possibility of modeling metalogical agents, which are able to interact and to communicate in various different ways. This because it is useful to view a query-answering system as a collection of agents including, in particular, some external (typically human) agents, in order to make a system behave more rationally and flexibly towards users.
Archive | 1994
Jonas Barklund; Katrin Boberg; Pierangelo Dell'Acqua
We are developing a multilevel metalogic programming language that we call Alloy. It is based on first-order predicate calculus extended with metalogical constructs. An Alloy program consists of a collection of theories, all in the same language, and a representation relation over these theories. The whole language is self-representable, including names for expressions with variables. A significant difference, as compared with many previous approaches, is that an arbitrary number of metalevels can be employed and that the object-meta relationship between theories need not be circular.
international symposium on programming language implementation and logic programming | 1993
Jonas Barklund; Johan Bevemyr
We present a schema for executing bounded quantifications on shared memory multiprocessors, using the WAM-based abstract machine designed for recursion parallel execution developed by Bevemyr, Lindgren and Millroth. Preliminary results indicate almost linear speed-up on 24 processors for some quantified expressions. The parallelization overhead is low, in the order of 10–15%.
programming language design and implementation | 1987
Jonas Barklund
The paper focuses on three ideas for solving problems with writing interpreters for the logic programming language Prolog in Prolog and how to combine these ideas to an interpreter for Prolog which is both simple and efficient. The resulting interpreter system can be incorporated into a Prolog based on Warrens Abstract Machine and built mostly from existing parts of it. The interpreter has been implemented and is used in a Prolog system developed at Uppsala University.