• Home
  • Hassan Aït-Kaci
Hassan Aït-Kaci

Hassan Aït-Kaci
HAK Language Technologies · Research and Prototyping

Res. Habil. (Paris) Phd (Penn)

About

101
Publications
13,476
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,657
Citations
Additional affiliations
January 2016 - present
HAK Language Technologies (myself)
Position
  • Open to offers worldwide (consultancy or employment)
January 2015 - January 2016
Claude Bernard University Lyon 1
Position
  • Professor
January 2013 - January 2015
Claude Bernard University Lyon 1
Position
  • ANR Chair of Excellence
Description
  • http://cedar.liris.cnrs.fr/

Publications

Publications (101)
Method
Full-text available
In the course of building software, even for non-industrial pursuits, one is always confronted with having to decide which language and/or system to choose, for such tasks as editing, documenting, and realizing one’s intended specification as running software. With the recent ever-growing proliferation of scripting and programming idioms and enviro...
Article
Unification and generalization are operations on two terms computing respectively their greatest lower bound and least upper bound when the terms are quasi-ordered by subsumption up to variable renaming (i.e., t1 ≤ t2 iff t1 = t2σ for some variable substitution σ). When term signatures are such that distinct functor symbols may be related with a fu...
Method
Full-text available
This document explains how to exploit the convenience of object-orientation as supported by, e.g., C++ (viz., multiple inheritance, template classes and functions, and operator overloading) for designing a minimal set of generic classes implementing linear fixed-point equation solvers for a large variety of specific semiring structures. In terms of...
Data
This article discusses the implementation of a knowledge base for a library information system. The system was conceived using a typed logic programming language — LOGIN — where type inheritance is built in. The knowledge base is structured in a hierarchical taxonomy of library object classes where each class is represented in a frame-style knowled...
Method
Full-text available
This describes a feature of Jacc, a Java-based system in the fashion of Yacc, the well-known metacompiler, where a minimalistic set of simple annotations may be specified on a few grammar rules and terminal symbols to guide the automatic generation of code in XML format. The annotations basically specify how to produce an XML construct out of the b...
Method
Full-text available
This a translation done by Hassan AÏT-KACI - hak@acm.org - of the original technical note in French authored by Hugo LAVENANT entitled "Comment attribuer une probabilité à un évènement ?" Abstract: This document aims at a discussion of the different interpretations that can be made of the calculus of probabilities with the question of how to assig...
Chapter
Full-text available
Unification and generalization are operations on two terms computing respectively their greatest lower bound and least upper bound when the terms are quasi-ordered by subsumption up to variable renaming (i.e., t1≤t2 iff t1=t2σ for some variable substitution σ). When term signatures are such that distinct functor symbols may be related with a fuzzy...
Presentation
Full-text available
This is a grand tour of issues related to Web Intelligence research and applications providing many links for further digging.
Presentation
Full-text available
Keynote Talk - In this presentation, I review standard Semantic Web formalisms and propose a constraint-based formalism to amend them.
Article
Full-text available
Unification and generalization are operations on two terms computing respectively their greatest lower bound and least upper bound when the terms are quasi-ordered by subsumption up to variable renaming (i.e., t_1 is subsumed by t_2 iff t_1 = t_2σ for some variable substitution σ). When term signatures are such that distinct functor symbols may be...
Article
Full-text available
We present an extended version of the CEDAR taxonomic reasoner for large ontologies. This new version provides fuller support for TBox reasoning, checking consistency, and retrieving instances. The CEDAR system is based upon the OSF formalism. It is implemented on an entirely new architecture which includes several optimization techniques. We defin...
Article
Full-text available
In this article, we address the question of how efficiently Semantic Web (SW) reasoners perform in processing (classifying and querying) taxonomies of enormous size and whether it is possible to improve on existing implementations. We use a bit-vector encoding technique to implement taxonomic concept classification and Boolean-query answering. We d...
Article
Abstract: We present an extended version of the CEDAR taxonomic reasoner for large ontologies. This new version provides fuller support for TBox reasoning, checking consistency, and retrieving instances. The CEDAR system is based upon the OSF formalism. It is implemented on an entirely new architecture which includes several optimization techniques...
Presentation
Full-text available
We take a rapid look at the current trends of evolution of application software tools for combining the formal capacities of (mostly statistical) Analytics along with Constraint Programming (CP). We note that application orchestration is what makes this task difficult. As a result, a new area of software development is rapidly becoming of great imp...
Research
Full-text available
This is a brief recapitulation of the CEDAR ANR CHEX-2012 Project grant No ANR-12-CHEX-0003-01 (Jan. 2013 – Jan 2015) summarizing the CEDAR project. Outline: ◮ what was the CEDAR project’s objective in the beginning? ◮ tallying the productions of the CEDAR project ◮ dabbling in some details just to give a taste ◮ sharing some lessons learned during...
Article
Full-text available
Distributed architecture is widely used for storing and processing Big Data. Operations on Big Data need first, locating the required data blocks and then, reading them. Data can be located in different types of memories in particular, cache memory, main memory, and secondary memory. Reading data from secondary memory to process Big Data jobs is no...
Technical Report
Full-text available
Abstract: HO•O•T is a knowledge-base language designed to express and query Hierarchies, Objects, Ontologies, and Types. Hierarchies are used to organize taxonomic concepts. Objects are used to represent instances of these concepts. Ontologies are used to constrain the structure and properties of objects organized in such conceptual hierarchies. Ty...
Technical Report
We present an extended version of the CEDAR taxonomic reasoner for large-scale ontologies. This new version provides fuller support for TBox reasoning, checking consistency, and retrieving instances. The CEDAR system is based upon the OSF formalism. It is implemented on an entirely new architecture which includes several optimization techniques. We...
Technical Report
Full-text available
An RDF (Resource Description Framework) instance generator produces RDF triples by complying with an ontology that defines classes, subclasses, relations, and constraints. There aremany instance generators which rely onWeb Ontology Language (OWL) meaning that these generators can read only the ontologies which are written in OWL. However, the exist...
Technical Report
Full-text available
Order-Sorted Feature (OSF) Logic is a formalism of structured objects and types called “OSF terms.” These are essentially labelled graphs. In such a graph, a node is labelled by a symbol called a “sort” and an arrow is labelled by a symbol called a “feature.” Sorts denote sets of values and are partially ordered by a relation denoting set inclusion...
Presentation
Full-text available
This describes my path and vision while heading the CEDAR ANR Chair of Excellence Project at the Université Claude Bernard Lyon (2013-2015).
Data
This article illustrates how constraint logic programming can be used to express data models in rule-based languages, including those based on graph pattern-matching or unification to drive rule application. This is motivated by the interest in using constraint-based technology in conjunction with rule-based technology to provide a formally correct...
Data
Full-text available
Conference Paper
Full-text available
We present a new version of CEDAR, a taxonomic reasoner for large-scale ontologies. This extended version provides fuller support for TBox reasoning, checking consistency, and retrieving instances. CEDAR is built on top of the OSF formalism and based on an entirely new architecture which includes several optimization techniques. Using OSF graph str...
Conference Paper
Full-text available
Taxonomy classi�cation and query answering are the core reasoning services provided by most of the Semantic Web (SW) reasoners. However, the algorithms used by those reasoners are based on Tableau method or Rules. These well-known methods in the literature have already shown their limitations for large-scale reasoning. In this demonstration, we sha...
Chapter
Full-text available
There are a few basic computational concepts that are at the core of all programming languages. The exact elements making out such a set of concepts determine (1) the specific nature of the computational services such a language is designed for, (2) for what users it is intended, and (3) on what devices and in what environment it is to be used. It...
Article
Full-text available
This document addresses the question of how efficiently the most well-known Semantic Web (SW) reasoners perform in processing (classifying and querying) taxonomies of enormous size. Using techniques that were proposed 25 years ago for implementing efficient lattice operations, we have implemented a simple taxonomic concept classification and Boolea...
Preprint
Full-text available
This is old specification-level stuff that I did while I was at IBM for a Bayesian Business Rules design with one of IBM JRules implementors (Philippe Bonnard, who is still at IBM). Since it did not attract our management's attention then, we cleared it for publication, but never really found a venue concerning probabilistic business rules where to...
Conference Paper
Full-text available
Keynote presentation
Presentation
Full-text available
LIFE is a constraint-logic programming language over order-sorted graphs subject to functional dependency constraints. We use it to present a simple and purely declarative specification of the popular number puzzle Su Doku. This specification yields a surprisingly efficient Su Doku solver although the “all-different” constraint is not native to LIF...
Data
Full-text available
Article
http://cacm.acm.org/magazines/2009/3/21771-childrens-magic-wont-deliver-the-semantic-web/fulltext
Article
Full-text available
LIFE is a constraint-logic programming language over order-sorted graphs subject to functional dependency constraints. We use it to present a simple and purely declarative specification of the popular number puzzle Su Doku. This specification yields a surprisingly efficient Su Doku solver although the “all-different” constraint is not native to LIF...
Conference Paper
Full-text available
We compare and contrast Description Logic (DL) and Order-Sorted Feature (OSF) Logic from the perspective of using them for expressing and reasoning with knowledge structures of the kind used for the Semantic Web.
Article
We compare and contrast Description Logic (DL) and Order-Sorted Fea-ture (OSF) Logic from the perspective of using them for expressing and reasoning with knowledge structures of the kind used for the Semantic Web.
Article
Full-text available
This article illustrates how constraint logic programming can be used to express data models in rule-based languages, including those based on graph pattern-matching or unification to drive rule application. This is motivated by the interest in using constraint-based technology in conjunction with rule-based technology to provide a formally correct...
Article
Full-text available
Constraint Programming (CP) and Satisability Modulo Theories (SMT) both generalize SAT w.r.t. expressiveness and propagation power. CP uses domain propagators based on mathematical structures, whereas SMT uses constraint propagators based on logical theories. In this paper, we incorporate SMT reasoning into CP and illustrate the benefits of the res...
Conference Paper
Full-text available
This paper presents a missing link between Plotkin’s least general generalization formalism and generalization on the Order Sorted Feature (OSF) foundation. A feature term (or Ψ-term) is an extended logic term based on ordered sorts and is a normal form of an OSF-term. An axiomatic definition of Ψ-term generalization is given as a set of OSF clause...
Article
Full-text available
Experimenting with formalisms for Natural Language Processing involves costly programming overhead in conventional computing idioms, even as "advanced" as Lisp or Prolog. LIFE is a programming language which incorporates an elegant type system which supports a powerful facility for structured type inheritance. Also, LIFE reconciles styles from Func...
Article
Full-text available
Order-sorted feature (OSF) terms provide an adequate representation for objects as flexible records. They are sorted, attributed, possibly nested structures, ordered thanks to a subsort ordering. Sorts definitions offer the functionality of classes imposing structural constraints on objects. These constraints involve variable sorting and equations...
Technical Report
Full-text available
Order-sorted feature (OSF) structures have become a popular tool in constraint-based programming. Whether used in computational linguistics, declarative graphics, or general object-oriented programming, OSF structures are appealing because they capture simply and formally the notion of record object carrying partial information specified as attribu...
Article
Full-text available
We introduce an extension of lambda-calculus, called label-selective lambda-calculus, in which arguments of functions are selected by labels. The set of labels includes numeric positions as well as symbolic keywords. While the latter enjoy free commutation, the former must comply with relative precedence in order to preserve currying. This extensio...
Presentation
Full-text available
SFU President Lecture
Article
Full-text available
This paper presents the constraint system FT, which we feel is an intriguing alternative to Herbrand both theoretically and practically. As does Herbrand, FT provides a universal data structure based on trees. However, the trees of FT (called feature trees) are more general than the trees of Herbrand (called constructor trees), and the constraints...
Article
We introduce an extension of -calculus, called label-selective -calculus, in which arguments of functions are selected by labels. The set of labels includes numeric positions as well as symbolic keywords. While the latter enjoy free commutation, the former must comply with relative precedence in order to preserve currying. This extension of -calcul...
Preprint
Full-text available
We introduce an extension of λ-calculus, called label-selective λ-calculus, in which arguments of functions are selected by labels. The set of labels includes numeric positions as well as symbolic keywords. While the latter enjoy free commutation, the former must comply with relative precedence in order to preserve currying. This extension of λ-cal...
Presentation
Full-text available
Currently (1994) North America is facing a radical change of context in high-tech competition with the rest of the world. Technology transfer, or lack thereof, is wherein the illness resides. New policies and initiatives are being devised, though mostly ad hoc. Major realization: key to success has shifted from ability to invent new technologies to...
Article
Full-text available
LIFE is a programming language proposing to integrate logic programming, functional programming, and object-oriented programming. It replaces first-order terms with &psgr;-terms, data structures that allow computing with partial information. These are approximation structures denoting sets of values. LIFE further enriches the expressiveness of &psg...
Research
Full-text available
This handbook provides a tutorial of the LIFE programming language as well as a complete description of the capabilities of the Wild LIFE 1.02 system. Although we have attempted to make the tutorial self-contained, it is preferable that the reader be familiar with Prolog. The tutorial exposes gradually the main components of LIFE in a synthetic app...
Conference Paper
Full-text available
Formal calculi of record structures have recently been a focus of active research. However, scarcely anyone has studied formally the dual notion— i.e., argument-passing to functions by keywords, and its harmonization with currying. We have. Recently, we introduced the label-selective lambda-calculus, a conservative extension of lambda-calculus that...
Article
Full-text available
We introduce a constraint system called FT. This system offers a theoretical and practical alternative to the usual Herbrand system of constraints over constructor trees. Like Herbrand, FT provides a universal data structure based on trees. However, the trees of FT (called feature trees) are more general than the constructor trees of Herbrand, and...
Conference Paper
Full-text available
We introduce an extension of λ-calculus, called label-selective λ-calculus, in which arguments of functions are selected by labels. The set of labels includes numeric positions as well as symbolic keywords. While the latter enjoy free commutation, the former must comply with relative precedence in order to preserve currying. This extension of λ-cal...
Conference Paper
Full-text available
We introduce an extension of λ-calculus, called label-selective λ-calculus, in which arguments of functions are selected by labels. The set of labels includes numeric positions as well as symbolic keywords. While the latter enjoy free commutation, the former must comply with relative precedence in order to preserve currying. This extension of λ-cal...
Technical Report
Full-text available
Order-sorted feature (OSF) terms generalize first-order rational terms: functors become partially ordered sorts, arity is unconstrained, and subterms are unordered, indicated by explicit feature symbols rather than implicit positions. Thus, OSF terms provide a handy data structure to represent objects in symbolic programming languages. LIFE is such...
Presentation
Full-text available
These are the presentation slides of my invited tutorial at the International Logic Programming Symposium, Vancouver, BC (Canada), October 1993.
Article
Full-text available
LIFE (Logic, Inheritance, Functions, Equations) is an experimental programming language proposing to integrate three orthogonal programming paradigms proven useful for symbolic computation. From the programmer's standpoint, it may be perceived as a language taking after logic programming, functional programming, and object-oriented programming. Fro...
Conference Paper
Full-text available
LIFE uses matching on order-sorted feature structures for passing arguments to functions. As opposed to unification which amounts to normalizing a conjunction of constraints, solving a matching problem consists of deciding whether a constraint (guard) or its negation are entailed by the context. We give a complete and consistent set of rules for en...
Technical Report
Full-text available
Order-sorted feature (OSF) terms provide an adequate repre sentation for objects as flexible records. They are sorted, attributed, possibly nes ted, structures, ordered thanks to a subsort ordering. Sort definitions offer the func tionality of classes imposing structural constraints on objects. These constra ints involve variable sorting and equati...
Article
Full-text available
Partial contents: Entailment and Disentailment of Order-Sorted Feature Constraints; Using a Visual Constraint Language for Data Display Specification; The Geometry in Constraint Logic Programs; On the Semantics of Optimization Predicates in CLP Languages; A Higher-Order Extension of Constraint Programming in Discourse Analysis; Practical Issues in...
Article
Full-text available
Record calculi have recently been a very active eld of research, but its reciprocal, i.e. the use of keywords in functions, is still ignored. Selective -calculus is a conservative extension of lambda calculus which, by labeling abstractions and applications, enables some form of commutation between arguments. It is an enhancement for both clarity,...
Conference Paper
Full-text available
LIFE (Logic, Inheritance, Functions, Equations) is a programming language with a powerful facility for structured type inheritance. LIFE reconciles styles from Functional Programming and Logic Programming by implicitly delegating control to an automatic suspension mechanism. This allows interleaving interpretation of relational and functional expre...
Conference Paper
Full-text available
Order-sorted feature (OSF) terms provide an adequate representation for objects as flexible records. They are sorted, attributed, possibly nested, structures, ordered thanks to a subsort ordering. Sort definitions offer the functionality of classes imposing structural constraints on objects. These constraints involve variable sorting and equations...
Conference Paper
LIFE is an experimental programming language proposing to integrate logic programming, functional programming, and object-oriented programming. It replaces first-order terms with -terms, data structures which allow computing with partial information. These arc approximation structures denoting sets of values. LIFE further enriches the expressivenes...
Book
Full-text available
See errata on http://wambook.sourceforge.net/
Conference Paper
Full-text available
LIFE (Logic, Inheritance, Functions, Equations) is an experimental programming language with a powerful facility for structured type inheritance. LIFE reconciles styles from Functional Programming and Logic Programming by implicitly delegating control to an automatic suspension mechanism. This allows interleaving interpretation of relational and fu...
Conference Paper
Full-text available
Having understood that most attractive programming paradigms introduced recently in declarative symbolic programming languages need not be provided at the detriment of one another, we also believe that they can and should coexist with the more conventional state-effecting style of explicit control and data processing of imperative programming. To t...
Article
Full-text available
This article discusses the implementation of a knowledge base for a library information system. The system was conceived using a typed logic programming language — LOGIN — where type inheritance is built in. The knowledge base is structured in a hierarchical taxonomy of library object classes where each class is represented in a frame style knowled...
Article
Full-text available
Inheritance hierarchies are introduced as a means of representing taxonomically organized data. The hierarchies are built up from so-called feature types that are ordered by subtyping and whose elements are records. Every feature type comes with a set of features prescribing fields of its record elements. So-called feature terms are available to de...
Article
Full-text available
The intent of this article is twofold: To survey prominent proposals for the integration of logic and functional programming and to present a new paradigm for the same purpose. We categorize current research into four types of approaches, depending on the level at which the proposed integration is achieved. Unlike most current work, our approach is...
Article
Full-text available
Lattice operations such as greatest lower bound (GLB), least upper bound (LUB), and relative complementation (BUTNOT) are becoming more and more important in programming languages supporting object inheritance. We present a general technique for the efficient implementation of such operations based on an encoding method. The effect of the encoding...
Article
Full-text available
Experimenting with formalisms for Natural Language Processing involves costly programming overhead in conventional computing idioms, even as “advanced” as Lisp or Prolog. LIFE (Logic, Inheritance, Functions, and Equations) is a programming language which incorporates an elegant type system which supports a powerful facility for structured type inhe...
Data
This article is a revised and extended version of the ACM SIGMOD 1988 conference paper https://hassan-ait-kaci.net/pdf/babel.pdf We develop and discuss the implementation of a knowledge base for a library information system. The system was conceived using a typed logic programming language—LOGIN— where type inheritance is built in. The knowledge b...
Article
Full-text available
This report discusses the implementation of a knowledge base for a library information system. It is done using a typed logic programming language—LOGIN—where type inheritance is built in. The knowledge base is structured in a hierarchical taxonomy of library object classes where each class is represented in a FRAME style knowledge structure and in...
Article
Full-text available
We introduce a new paradigm for the integration of functional and logic programming. Unlike most current research, our approach is not based on extending unification to general-purpose equation solving. Rather, we propose a computation delaying mechanism called residuation. This allows a clear distinction between functional evaluation and logical d...
Article
Full-text available
This article presents a syntactic calculus of partially-ordered data type structures and its application to computation. A syntax of record-like terms and a type subsumption ordering are defined and shown to form a lattice structure. A simple ‘type-as-set’ interpretation of these term structures extends this lattice to a distributive one, and in th...
Research
Full-text available
These are the slides of a 1986 presentation describing the (then) current state of the design and implementation of E, an advanced programming environment for the development of high-level AI applications, conceived as a formally sound combination of three computation models which evolved by natural selection from AI: functional programming, logic...
Article
Full-text available
An elaboration of the PROLOG language is described in which the notion of first-order term is replaced by a more general one. This extended form of terms allows the integration of inheritance—an IS-A taxonomy—directly into the unification process rather than indirectly through the resolution-based inference mechanism of PROLOG. This results in more...
Technical Report
Full-text available
We introduce a new paradigm for the integration of functional and logic programming. Unlike most current research, our approach is not based on extending unification to general-purpose equation solving. Rather, we propose a computation delaying mechanism called residuation. This allows a clear distinction between functional evaluation and logical d...
Method
Full-text available
This idea means to illustrate a methodology for designing object-oriented software using a relativistic paradigm (see Section 5) to obtain, with a minimal setup , a large collection of algorithms which can all be specified as derived classes and instance objects of a single very abstract scheme. One then may thus explain and exploit the convenience...
Conference Paper
Full-text available
An elaboration of the Prolog language is described in which the notion of first-order term is replaced by a more general one. This extended form of terms allows the integration of inheritance---an IS-A taxonomy---directly into the unification process rather than indirectly through the resolution-based inference mechanism of Prolog. This results in...
Conference Paper
Full-text available
I have described a syntactic calculus of partially ordered structures and its application to computation. A syntax of record-like terms and a "type subsumption" ordering were defined and shown to form a lattice structure. A simple "type-as-set" interpretation of these term structures extends this lattice to a distributive one, and in the case of fi...
Article
Full-text available
This paper proposes an automatic inference method to compute a minimal partial ordering on a set of function symbols, given a set of term- rewriting rules, which induces a recursive path ordering such that each rule is a strict reduction. A Prolog program is described that implements the method. A direct corollary is the complete automation of the...
Conference Paper
This document describes a particular facet of an experimental programming model whose design is the objective of our on-going research at MCC — the ε programming environment. ε draws from the most recent theory and technology in typed relational and functional programming. We start by making general observations meant to put our work in context wit...
Conference Paper
An abstract is not available.
Article
The purpose of this thesis is twofold: (1) to define a formal lattice-theoretic calculus of partially ordered type structures where the ordering is meant to reflect subtyping; (2) to propose a model of computation which amounts to solving systems of simultaneous equations in a lattice of types.^ The specific contributions which I believe to be orig...
Research
Full-text available
This paper is a brief analysis of the notion of syntactic representation of types followed by a proposal of a formal calculus of type subsumption. The idea which is developed centers on the concept of indexed term, an extension of the definition of algebraic terms relaxing the fixed arity and fixed indexing constraints, and which allows term symbol...

Network

Cited By