NAJI HABRA AND BAUDOUIN LE CHARLIER UNIFIED RELATIONAL FRAMEWORK FOR PROGRAMMING PARADIGM COMBINATION 1. Introduction The goal of this work is to provide a clean formal framework to support a development methodology for programs integrating modules of different paradigms (e.g., Horn clauses modules, equational modules, functional mo- dules, constraints based modules, ... ). Modules can be developed each in its own paradigm, the framework presents a uniform and high-level view allowing to make reasoning about those modules, to build them using a uniform methodology and to combine them adequately in a realistic pro- gram. The framework is based on a language whose syntax and semantics are sufficiently general so as the different modules of the different paradigms can be considered as particular (possibly incomplete) implementations of that language. Meanwhile the semantics is sufficiently close to operational features so as these implementations could be seen a as specializations of it. The language is thus at midway between a specification language and an implementation language. The key ideas of the language are: - The syntax assumes simply that a program is a collection of relation definitions given in a typed form of first-order logic. Yet, variables are considered to denote objects of the corresponding domain, no more no less (no assumptions are made about the object representations). - Besides the classical model-theoretic semantics, the language is given an original partial semantics based on a three-values modeling and expressed by a fixpoint operator. - Negation is handled in a constructive way: positive and negative pieces of information are derived in parallel. This allows the different approa- ches used in logic programming (e.g., negation by failure, ... ) to be considered as particular implementations. - A program is a collection of relation definitions. They are built on top 357 F. BtlIIIler and K.U. Schulz (eds.), Frontiers of Combining Systems, 357-375. C 1996 Kluwer Academic Publishers.