Figure 10 - uploaded by Yves Caseau
Content may be subject to copyright.
An overview of the LAURE deductive system

An overview of the LAURE deductive system

Source publication
Article
Full-text available
We propose a logic for objects that captures the knowledge represented with the LAURE object-oriented language. The work is oriented toward efficient implementation and compilation of queries. A data model for object-oriented databases is presented, with a declarative logic language used to perform queries and positive updates on the database. The...

Similar publications

Article
Full-text available
Case research is sometimes considered too descriptive. However, this article reports a successful, structured approach to case/case study research that meets rigorous academic standards. First, case research's strengths are outlined in a discussion of the type of research problem that it can be used for, and a discussion of induction and deduction...
Conference Paper
Full-text available
We present an idea to group time series according to the course of their local trends that can be well captured by the F1-transform. On the basis of an adjoint time series consisting of a sequence of F1-transform components, we form a grouping of time series with closely related trends. This enables us to forecast trend of one selected principal ti...
Article
Full-text available
The method of Socratic proofs (SP-method) simulates the solving of logical problem by pure questioning. An outcome of an application of the SP-method is a sequence of questions, called a Socratic transformation. Our aim is to give a method of translation of Socratic transformations into trees. We address this issue both conceptually and by providin...
Article
This study assesses the effects of member expertise on group decision-making and group performance. Three-person cooperative groups and three independent individuals solved either an easy or moderately difficult version of the deductive logic game Mastermind. Experimental groups were given veridical performance information, i.e., the members' ranki...
Conference Paper
Full-text available
. In [NF96] a very efficient system for solving diagnosis tasks has beendescribed, which is based on belief revision procedures and uses first order logicsystem descriptions. In this paper we demonstrate how such a system can be rigorouslyformalized from the viewpoint of deduction by using the calculus of hypertableaux [BFN96]. The benefits of this...

Citations

... A complete description of how the constraint solver performs the search can be found elsewhere [Ca91a] [Ca91b]. Here we give a brief description to emphasize the role of the rules and the methods defined on objects, and to illustrate the synergy between constraint satisfaction techniques (e.g., exhaustive search with heuristics, local propagation) and more traditional operations research techniques (e.g., cutting based on matrix analysis). ...
Conference Paper
Full-text available
This paper presents the application of combined deductive and object-oriented technologies to a complex scheduling (timetable) problem. This approach emphasizes local propagation of constraints, which we perform with deductive rules, and combines it with global pruning heuristics, which we represent with methods (in a procedural manner) attached to objects. Because both components are essential to ensure success, we see this scheduling application as an interesting demonstration of the synergy between object-oriented and deductive technology. We provide a precise description of the problem, discuss what makes it difficult, and present detailed techniques that we used for its resolution.
... To these seven hierarchies, we added the class hierarchy of ISE version 4 [14] distribution of Eiffel [20]. Overall, the database consists of real word applications, covering a spectrum of usage of MI in various programming languages: C++ [27], Java [3], Eiffel [20], LOV (a language similar to Eiffel due to Verilog, France, a manufacturer of an OO CASE tool), Self [29] as well as Laure language of Caseau [6]. ...
Conference Paper
Full-text available
Although there is a large body of research on the time overhead of object oriented programs, there is little work on memory overhead. This paper takes an empirical approach to the study of this overhead, which turns out to be significant in the presence of multiple inheritance. We study the performance, in terms of overhead to object size of three compilation strategies: separate compilation, whole program analysis, and user annotations as done in C++. A variant to each such strategy is the inclusion of pointers to indirect virtual bases in objects. Using a database of several large multiple inheritance hierarchies, spanning 7000 classes, several application domains and different programming languages we find that in all strategies there are certain classes which give rise a large number of compiler generated fields in their object layout. We then study the efficacy of the recently introduced inlining and bidirectional object layout optimization techniques, and show that an average saving of close to 50% in this overhead can be achieved.
... Out of the three models, one is the base model. Their combination is made possible by the LAURE language [7], [8] which allows the binding of constraints and algorithms with rules. Their work differs from our proposal in three respects. ...
Article
This paper describes our experience with a simple modeling and programming approach for increasing the amount of constraint propagation in the constraint solving process. The idea, although similar to redundant constraints, is based on the concept of redundant modeling. We introduce the notions of CSP model and model redundancy, and show how mutually redundant models can be combined and connected using channeling constraints. The combined model contains the mutually redundant models as sub-models. Channeling constraints allow the sub-models to cooperate during constraint solving by propagating constraints freely amongst the sub-models. This extra level of pruning and propagation activities becomes the source of execution speedup. real-life nurse rostering system. We perform two case studies to evaluate the effectiveness and efficiency of our method. The first case study is based on the simple and well-known n-queens problem, while the second case study applies our method in the design and construction of a real-life nurse rostering system. Experimental results provide empirical evidence in line with our prediction.
... Investigations to merge logic and objects have also produced interesting type systems [Ait86][GM86] [KL89]. However, we have found necessary to develop yet another type system for our object-oriented deductive language LAURE [Ca91a], which is strongly inspired by these various works, but still is different because of its interpretation of object-oriented programming. We do not claim this type system to be better than the previous approaches, but we would like to explain our motivations and why the presented type system fits exactly our needs with no useless complexity. ...
... The last section presents the application of this type system to LAURE. We first present a similar abstract interpretation of the query algebra [Ca91a] and then show how a set-based type system is easily integrated as a component for data modelling. We illustrate how second-order types permit stronger type checking for polymorphic functions. ...
... The LAURE system also uses a logic-based query language [Ca91a], based on an extension of DATALOG for object-oriented databases. This language is equivalent to a relational algebra (and a fixpoint operation), which is used to support fast compilation of queries. ...
Article
Full-text available
In this paper we present an extended type system for an object-oriented database language, based uniquely on the set interpretation of object classes. We show that this system has the same expressive power as more complex approaches and is well suited to type inference for programming or querying database languages. 1. Introduction A lot of work has been done to provide object-oriented systems with types that would permit efficient compilation. On the theoretical side, variant records have been added to polymorphic type systems to allow object-oriented forms of programming [Car88][Car89][Mit90]. On the practical side, complex object models have been developed to improve compilation [Wan87][Red88][CHC90][GJ90]. The database community has proposed some powerful type systems to manage complex objects with associated compiling and optimization techniques [Ku85][SZ87][Ja89][AK89]. Investigations to merge logic and objects have also produced interesting type systems [Ait86][GM86][KL89]. How...
... A key component of this is an advanced compiler for the logical rules and constraints which produces very efficient C or C++ code. This compiler is described in [Ca91a]. ...
Article
Full-text available
Many optimization problems in the telecommunication business and elsewhere seem to resist an object-oriented approach. Although objects and classes are easily identified and requirements can be mapped into methods, the object-oriented paradigm does not provide any particular benefits to address the combinatorial complexity of these problems. On the other hand, these problems often occur in large software projects for which the object-oriented programming paradigm has many advantages (e.g., code reuse and encapsulation). In this paper we present two successful applications of a language called LAURE, which extends the object-oriented programming paradigm by integrating rule-based and constraintbased technologies. These applications contain mixed optimization problems, which are combinations of classical optimization problems. Earlier attempts at applying an object-oriented methodology to solve these applications underscored the inadequacy of the conventional object-oriented approach in ...
... R.9 behaviour orientation The possibility of formally assigning speci c behaviour to particular types, and, in particular, of modelling the dynamic aspects of the interaction with elements of a type using the notions of encapsulation, overloading, overriding and late binding. ) Datalog meth;flex (Abiteboul et al., 1993) DTL (Bal and Balsters, 1993) loopl (Bertino and Montesi, 1992) Obj-U-Datalog ) Logres (Cacace et al., 1993) LAURE (Caseau, 1991) OOLP+ (Dalal and Gangopadhyay, 1990) Peplom d (Dechamboux and Roncancio, 1994b) Gulog (Dobbie and Topor, 1993) LIVING IN A LATTICE (Heuer and Sander, 1992) Orlog (Jamil and Lakshmanan, 1993) ConceptBase ) F-logic ) LLO (Lou and Ozsoyoglu, 1991) Noodle (Mumick and Ross, 1993a) Coral++ ) OIL (Zaniolo, 1990) body of rules but also because of set constructors and of the introduced notion of data functions. COL has been implemented at the level of a prototype. ...
... LAURE (Caseau, 1991;Caseau, 1990) is the result of several years of development e ort. It is fully implemented and has been applied to complex problems (Caseau et al., 1993). ...
... In contrast with all other proposals surveyed in this section, the LAURE system started its life as an object-oriented programming language, called LORE (Caseau, 1988). A logic language, called L 3 (Caseau, 1991), was later added to the LAURE system. As a result of this development history, many features of LAURE place it somewhat outside the scope of this survey. ...
... A complete description of how the constraint solver performs the search can be found elsewhere [Ca91a] [Ca91b]. Here we give a brief description to emphasize the role of the rules and the methods defined on objects, and to illustrate the synergy between constraint satisfaction techniques (e.g., exhaustive search with heuristics, local propagation) and more traditional operations research techniques (e.g., cutting based on matrix analysis). ...
Article
Full-text available
This paper presents an application of combined deductive and object-oriented technologies to a complex scheduling (timetable) problem. This approach emphasizes local propagation of constraints, which we perform with deductive rules, and combines it with global pruning heuristics, which we represent with methods (in a procedural manner) attached to objects. Because both components are essential to ensure success, we see this scheduling application as an interesting demonstration of the synergy between object-oriented and deductive technology. We provide a precise description of the problem, discuss what makes it difficult, and present detailed techniques that we used for its resolution.
... We developed a logical language for LAURE that allows a declarative style of programming which is closer to the specifications and which is compiled efficiently through a relational algebra. This first step in the development of LAURE has been covered in detail in [Ca91a] where both motivations and implementation strategies are discussed. ...
... On the other hand, LAURE relies on the virtual memory of UNIX® 1 to store all the objects that are necessary for constraint resolution at run-time. Its semantics and other theoretical aspects have been covered in [Ca91a] (algebra and deduction), [Ca91b] (domain reduction) and [Ca91c] (constraint semantics). ...
... However, extensional relations in LAURE are only binary (as in any object-oriented language) and we very often need extra parameters such as with a distance constraint where the distance between two objects is either a number or an interval. In this case, it is traditional with an object-oriented approach to represent each tuple of a nary relation [Ca91a] by an object of a class. On the other hand, writing a constraint for each desired dependency is tedious and not readable with too many objects. ...
Article
Full-text available
This paper gives a detailed presentation of constraint satisfaction in the hybrid LAURE language. LAURE is an object-oriented language for Artificial Intelligence (AI) applications which allows the user to combine rules, constraints and methods that cooperate on the same objects in the same program. We illustrate why this extensibility is necessary to solve some large and difficult problems by presenting a real-life application of LAURE. We describe the syntax and the various modes in which constraints may be used, as well as the tools that are proposed by LAURE to extend constraint resolution. The resolution strategy as well as some implementation details are given to explain how we obtain good performances.
... ] where t i is the minimal starting date and t i is the maximal completion date (thus the starting date must be between t i and t i − d(t i )). Precedence constraints can be easily propagated using interval abstractions [Ca91]; when there are only precedence constraints, the resulting interval lower bounds are the optimal schedule. Therefore, the search strategy is to order each pair of tasks that share the same resource. ...
... It would be very easy to package resources with task intervals as a first-class LAURE constraint, which would allow us to claim much shorter programs with similar good performance. Our claim is that packaging it as a set of rules with associated methods [Ca91] makes it easier for the user to pick the components that are necessary for his problem. ...
... The previous postulate in favor of a "white-box" implementation of techniques such as task intervals has a profound impact on what a CLP language should offer. We have already addressed some of the issues in earlier papers [Ca91], but we believe that the previous findings on job-shop scheduling give more strength to these ideas. Here is a list of the three major features that we are expecting from a CLP language that should be self-evident from the algorithm proposed in Section 3. ...
Article
Full-text available
In this paper we present a new technique that can be used to improve performance of job scheduling with a constraint programming language. We show how, by focusing on some special sets of tasks, one can bring CLP in the same range of efficiency as traditional OR algorithms on a classical benchmark (MT10 [MT63]), thus making CLP both a flexible and an efficient technique for such combinatorial problems. We then present our programming methodology which we have successfully used on many problems, and draw conclusions on what features constraint programming languages should offer to allow its use.
... A key component of this is an advanced compiler for the logical rules and constraints which produces very efficient C or C++ code. This compiler is described in [Ca91a]. ...
Conference Paper
Full-text available
Many optimization problems in the telecommunication business and elsewhere seem to resist an object-orient ed approach. Although objects and classes are easily identified and requirements can be mapped into methods, the object-oriented paradigm does not provide any particular benefits to address the combinatorial complexity of these problems. On the other hand, these problems often occur in large software projects for which the object-oriented programming paradigm has many advantages (e.g., code reuse and encapsulation). In this paper we present two successful applications of a language called LAURE, which extends the object-oriented programming paradigm by integrating rule-based and constraint- based technologies. These applications contain mixed optimization problems, which are combinations of classical optimization problems. Earlier attempts at applying an object-orient ed methodology to solve these applications underscored the inadequacy of the conventional object-oriented approach in addressing the underlying optimization problems. In addition, although a number of sophisticated techniques have been developed to solve the individual classical optimization problems, attempts at adapting these respective strategies were also unsuccessful. With LAURE, we have obtained impressive results in solving these problems and have developed a methodology for integrating rule-based and constraint-based techniques into object-oriented software.