FCT SAPIENS - Proj - [Engª Electrotécnica e Informática - Sistemas robóticos, inteligentes e de informação ][José Júlio Alves Alferes]
[Descrição do Projecto]
      [40958 - FLUX - FleXible Logical Updates]
Project's Summary
  FLUX is a 3 year research project, included in a broader long term research line of building rational epistemic agents, whose goal is to establish a flexible declarative language for the specification of dynamic knowledge, and to apply it to realistic application domains.
Within PRAXIS project MENTAL (in which FLUX team members, including the PI, were involved), foundations for the definition of rational agents, based on, and building on the strengths of Logic Programming (LP), have been established. In MENTAL, important results on the definition of a dynamic knowledge representation language have been obtained (cf. [1,2]). Other recent preliminary results, by the team, include the combination of various pieces of knowledge (possibly coming from various agents), each of which with priorities over the others, organized in an acyclic graph [10]. For these, LP served as a rigorous single encompassing theoretical basis as well as an implementation vehicle.
The time has come to apply this LP framework to realistic domains. It is a main goal of FLUX to show how a dynamic LP framework can be applied advantageously to legal and normative reasoning and software specifications. In legal reasoning, knowledge coming from various entities must be considered. Moreover, the rules (laws/regulations) change over time. Dynamic LP can provide a rigorous framework for specifying the rules, their dynamics and combinations, and implementations to allow for query/answering processes. FLUX intends to show that these ingredients make it possible to build a system where laws, regulations and norms are easy to specify and change in a declarative manner, and to which citizens can pose queries. In software specifications, different pieces of knowledge must also be considered (coming from different modules or objects). FLUX intends to show that LP together with the combination of knowledge can be profitably used to model software specifications. Comparisons to existing software specification and architecture languages are to be drawn. By taking advantage of the dynamics of the developed LP framework, FLUX will allow for the specification of software changes, and software architectures reconfiguration. The possibility of declaratively specifying software changes will be put to work by studying its incorporation in the WAM language, developed by partner Declarativa for designing WWW user interfaces.
Some ingredients for this endeavour have been developed by the team, but it is clear that others, desirable for enlarging the scope of applications, are still missing. It is also a main goal of FLUX to extend and generalize the results in order to define a flexible declarative LP language for the specification of dynamic knowledge, its operational semantics and prototypical implementations. Among the needed extensions are: the combination of knowledge about the domain and about the changes, include self-evolving rules, into a single knowledge base; considering the existence of external procedure calls, and execution time; add abduction into the language, in order to allow for hypothesizing and finding explanations for behaviours.
Though more focused on the mentioned domains, FLUX does not forget the long term goal of building LP rational epistemic agents. The adequacy of the defined language to this more ambitious goal will be pursued, and richer application domains investigated. This link with the long term research of the team is an important task, expected to provide additional feedback for the language definition
 

 
Project's description
  Objectives
  FLUX work expands in 3 directions by: exploiting results of finished basic research projects (funded by FCT) in specific application domains; developing basic research towards the definition of a new language;continuing the team's long term research goals. All these directions have strong links, providing feedback, theoretical foundation and implementations to one-anothers (cf. tasks), and thus benefit from being together in one project.
In the 1st direction, the goal is to show that a dynamic LP framework can be used for legal reasoning, and for software specifications, with advantage over extant approaches (task 1). In software specifications, with partner Declarativa, it is our goal to make exploratory studies leading to a practical application (task 2). Depending on them, a follow-up proposal for a "AgÍncia de InovaÁão" project might be considered. In the 2nd, the goal is to define a LP based declarative language for the specification of dynamic knowledge, its theoretical foundations and implementation (task 3), and to define abduction in this context (task 4). In the 3rd, the goal is to, using the language, developing methods and tools for epistemic agents (task 5).
   
  The project and the long term objectives of the PI
  FLUX fits within the long term research goals of the PI and of the research group where he is integrated.
The goal is to build rational epistemic agents, capable of reacting to a dynamic environment with other agents, managing and revising their goals, knowledge and beliefs, making hypotheses about the world in order to plan and achieve their goals, learn with their experience, and with introspective capabilities. For this, LP has been successfully used both as the unified encompassing theoretical basis, and as the implementation vehicle.
This goal doesn't start or end with FLUX for previous team's projects have laid its foundations and FLUX doesn't aim at tackling all its relevant aspects. However, a declarative language for specifying dynamic knowledge, also capable of combining knowledge, is a key ingredient for the long term goal. Agents receive information from various sources, and this information must be combined. An agent must be capable of adapting to a dynamic environment, and its knowledge must have information on how the agent can modify and communicate with that environment.
   
  Relationship with the state of the art
  Most of the work conducted so far in LP has focused on static knowledge. The issue of LP updates, and dynamic LP frameworks appeared recently, and interest in it has been growing in the last couple of years. A special issue of the new journal "Theory and Practice of LP" on the subject, has been announced, and will appear in 2002. Several studies were conducted on how to update knowledge in the form of a LP, with incoming knowledge having the form of some other LP and, later, on the definition of dynamic LP based frameworks capable of handling sequences of LPs (for a survey see [6]). Included in these studies, are the works of FLUX members [1,2] (both included in the 5 papers made available with this proposal). In them, comparisons to extant approaches can be found. The innovation with respect to these state of the art papers is explained in other sections of the proposal.

Abduction was introduced in the logic terminology in the 19th Century by Peirce, and it can be described as a theory of hypothesis formation [8]. The importance of abduction to AI was recognized very soon, and application to fault diagnosis, declarative debugging, high level vision, natural language understanding, knowledge assimilation, belief revision, planning, scheduling, were made.
Abduction is also extensively studied in LP. A recent issue of the Journal of Logic Programming is entirely devoted to Abduction [4], showing the relevance of the subject to the project area. For recent results on abduction, and its relation to induction, see [7]. However, the study of abduction in dynamic domains and languages is yet to be made.

In legal reasoning, there has been some work trying to define methods for the development of legal knowledge systems. E.g: [15] proposes a 4-phased method and applied it to the Imperial College Library Regulations; [17] proposes the use of compound predicate formulae to represent legal knowledge; [9] proposes the use of deontic logic to capture some aspects of legal reasoning; and [12] uses Event Calculus to represent temporal relations between law events.
However, none of the proposed methods is able to handle law/rule dynamic changes and multiple law sources. The problem of law/rule changes in time has been described in [3] and an application was developed. However, the amendments are defined by users as insertions/removals of words; there is no notion of knowledge law representation.
In software specifications, [14] elected evolving specifications, multiple views, and non-functional properties as fundamental opportunities for research. Moreover, as surveyed in [5], only few Architectural Design Languages approaches handle reconfiguration and they do not support arbitrary reconfigurations, high-level language specifications, and reasoning about the reconfiguration process. Reasoning about reconfiguration processes is a specific issue where a logical approach, as in FLUX, will help.

The work on the definition of rational agents has also grown in the past recent years. Whereas the first generations of software agents did not dealt with higher-level rational functionalities, because they were not required, the increasing sophistication of agents and their applications definetily points towards higher cognitive facilities (see [11,13,16] for recent works on this subject).
   
  Relationship with other projects
  The project will benefit from the results of the ongoing project TARDE (funded by FCT), where some of FLUX project members are involved. Namely, it will use the distributed implementation of logic programming with tabling and revision that is being developed within TARDE as the implementational basis for the prototypical applications to be made in FLUX. It is worth noting that all the main new features developed in TARDE are of important use in the proposed project: allowing for the distribution of various pieces of knowledge, or the distributed execution of several logic agents; tabling for efficiency of implementation, and for allowing the correct implementation of the new LP semantics; revision for the work on abduction.

FLUX will also benefit from the bilateral collaboration project "Rational and Reactive Agents -RRA" (funded by ICCTI/CNR). Within RRA, collaboration with the Computer Science Department of the University of Pisa, Italy, is expected mainly on the use of the declarative LP language for dynamic knowledge to model agents with both rational and reactive capabilities. The group in Pisa has been generally investigating in the reactive capabilities of multi-agent systems, addressing issues such as program composition and coordination models. These topics are of special importance for task 5 (Epistemic Agents). Collaboration with Pisa, within RRA, is also expected in the exploration of applications to Internet-based multi-agent systems, such as in business-to-business e-commerce and security policy settings (as stated in the RRA project objectives).

FLUX members will continue their longstanding and advantageous collaboration with the group headed by Prof. Przymusinski (University of California at Riverside, USA) in the definition of the dynamic language. Strong links between FLUX and the NSF project "Dynamic Logic Programs and Deductive Databases", headed by Prof. Przymusinski, are expected.

Links can also be made with project "Knowledge-Based Agents for Advanced Information Access", headed by Prof. Eiter of the Knowledge-Based Systems Group at the Technical University of Wien, Austria, funded by the "Austrian Research Fund". Steps towards an effective collaboration between the FLUX group and Prof. Eiter's group have been taken, including a mission of Prof. Eiter to Lisbon. Prof. Eiter is currently developing research and implementational work in the area of knowledge and LP updates (see eg. [6]), and the mentioned project includes relevant work on areas related to FLUX (see http://www.kr.tuwien.ac.at/staff/giuliana/project.html for more information).

Collaboration with the Computer Science Department of SUNY at Stony Brook, USA, in the areas of tabulation and abduction, had been made in the past via travel grants, and is expected to continue. The work to be developed in task 4 (Abduction in Dynamic Languages) will greatly benefit from the ongoing collaboration with this research group.
   
  Diffusion of results
  The results of the project shall be submitted for publication in major conferences and scientific journals of the area. All the prototypical implementations will be made freely available, and downloadable via a project web-page. The slides of the presentations made at conferences and workshops, related to results of the project, will also be made available in the web-page.
As in the past, it is also intention of the project team to divulge their results to young scientists in recognized summer schools (in both 1999 and 2000, team members taught courses in the European Summer School of Logic Language and Information), and by giving tutorials in established conferences.
For the diffusion of results, and to promote the scientific area of the project, plans are being made to organize workshops, collated with important conferences, and special issues of journal (as has been done in the past by FLUX members). A special issue of the new TPLP journal, organized by a project member on the issue of LP updates, is already approved for publication in 2002.
The results will also be presented in ws. of European Networks of Excellence.
   
  Ethic, social and environment impacts
  Not applicable.
   
  Work plan - Task identification
    Task Denomination
    Application Domains
    Researchers
    P. Quaresma, I. Almeida, A. Monteiro, PHD Student 1, J. Alferes, L. M. Pereira, J. Leite
    Task duration - months
    36
    Persons * month
    44
    Expected results
    In this task we expect to show how the dynamic LP framework can be applied to legal reasoning and to software specifications. Comparisons with extant approaches will be made.
The task will provide feedback for the language definition (task 3), and will rely on the developments in tasks 3 and 4 for enlarging the scope of the applications. Strong links with task 2 are expected.
    Task description
    This task, coordinated by Paulo Quaresma, will go on for the duration of the project, though with different investment each year. During year 1, the task will be active in applying results previously obtained by the FLUX team, in the domains of legal reasoning and of software specification. These are expected to provide feedback for the language definition and needs for abduction. During year 2 the task will be less active, and is expected to work together with task 3 and 4 in guiding the developments there, and to seek for opportunities of enlarging the scope of the applications based on the results obtained in those tasks. The task will be more active again in year 3, where, based on the new language defined, richer applications in the 2 domains will be investigated.
A PhD student, not yet defined, to be supervised by Quaresma, is expected to work in this task. The work of Agostinho Monteiro's MSc thesis, and his expect future work for PhD will also be integrated in this task.
Consultancy from experts in the legal/normative domain will be needed to provide advice, and vouch for the realism of the application.

In legal reasoning, knowledge coming from various entities must be considered. In fact, laws can be produced by different national and/or international entities and they may have different levels of
priority. For instance, a Portuguese Supreme Court decision supersedes a Relation Circuit Court decision but it may be defeated by an European High Court one.
Moreover, the rules (laws/regulations) change over time in a way that can introduce contradictions with the previous instances. As a consequence, after each law change it may be necessary to calculate the new updated rules and to reason with and about them. It can be important to be able to "go-back" in time and to know what was valid in specific previous time points.
On the other hand, laws can also introduce changes in other laws that will be valid only in the future.
Dynamic LP can provide a rigorous framework for specifying the rules, their dynamics and combinations. The implementation of the framework, will allow for query/answering processes. FLUX intends to show how to build a system where laws, regulations and norms are easy to specify and to change in a declarative manner, and where citizens can pose queries.

In software specifications, as mentioned in [14], evolving specifications, multiple views, and non-functional properties are current fundamental issues, but have difficulty in making the semantics precise. Present Architectural Design Languages do not support arbitrary reconfigurations, high-level language specifications, and reasoning about the reconfiguration process. In this task we intend to show that a dynamic LP framework together with the combination of knowledge can be used to handle some of these problems. Namely, we will allow the specification of software changes, architectures reconfiguration, and the existence of multiple views. Moreover the LP specification are runnable.
Comparisons to other approaches to software specification will be drawn. In particular to the approach of UML (User Modelling Language). At the present there are no tools able to handle evolving UML specifications, multiple views from multiple developers, and reconfigurations. A combination of UML with the techniques developed in this project might provide the basis for such new tools.
   
  Work plan - Task identification
    Task Denomination
    Application to database-driven web interfaces
    Researchers
    M. Calejo, M. Araújo, J. Alferes, L. M. Pereira
    Task duration - months
    36
    Persons * month
    8
    Expected results
    To demonstrate the feasibility of using dynamic LP reasoning tools in lowering development and maintenance costs of web database-driven applications, by prototyping an extended version of the Declarativa WAM tool.
The task will provide feedback for the language definition (task 3), and will rely on the developments in tasks 3 and 4 for the work at year 3.
    Task description
    Coordinated by Miguel Calejo, this task will go on for the duration of the project, though with different investment each year. During year 1, the task will be active in applying results obtained previously by the FLUX team, to the domain of web interface development. During year 2 the task will be less active, and is expected to work together with task 3 and 4 in guiding the developments there, and to seek for opportunities of enlarging the scope of the applications based on the results obtained in those tasks. The task will be more active again in year 3, where, based on the new language defined, a richer application to WAM will be investigated.

Mário Araújo, a Declarativa Senior Software Engineer and one of the WAM tool developers, will do most of the work in this task, with Miguel Calejo; JosÈ Alferes and LuÌs Moniz Pereira will be the liaisons between Declarativa and the dynamic LP technolgy.

The task's goal is to show the feasibility of using a dynamic LP framework in lowering the costs of web database-driven applications, by prototyping an extended version of the Declarativa WAM tool. The extensions are intended to allow WAM to reason on previous (hand-made) application models ("WAMmodels" - comprising both database server components and partial interface specifications), in order to infer better models for new applications.

After an initial training period on the advanced logic programming technology developed by CENTRIA, in year 1 a set of WAM-based application models ("WAMmodels") from Declarativa customer intranet applications will be selected. These hand-tuned WAMmodels, comprising both partial interface specifications (including page navigation graphs, master-detail lists, lookup fields, etc) and all database server meta-data (including data dictionary, foreign key graphs, stored procedure dependencies, etc) will be mapped into logic formulae in the initial dynamic LP language. A filter will be developed to provide automatic reflection of a WAMmodel into a dynamic program. Afterwards experiments will be made with algorithms to generate a new WAMmodel given a "training set" of WAMmodels plus a partial WAMmodel (say, just the database meta-data but not the interface specification, or vice-versa), to look for WAMmodel properties that may ease interface generation at runtime, etc. The process will be repeated in year 3, using the latest FLUX language developments.
   
  Work plan - Task identification
    Task Denomination
    Language Definition
    Researchers
    J. Alferes, J. Leite, L. M. Pereira, PhD student 2
    Task duration - months
    24
    Persons * month
    32
    Expected results
    The expected result of this task is the definition of a dynamic LP language, its declarative and operational semantics, and its implementation. The language definition will be influenced by the needs detected by the applications (tasks 1 and 2), and the long term research goals (pursued in task 5).
The language definition is a prerequisite for the completion of the work on abduction (task 4).
    Task description
    The task, coordinated by JosÈ Alferes, starts at the beginning of the project, and its duration is 24 months. A PhD. student, supervised by Alferes, is expected to work on this task, integrated in the PhD. workplan. Though the name of the PhD student is not yet defined, contacts are already being made. Special involvement from João Leite is expected in this task. In fact, the work on this task follows part of the work Leite is now doing for his PhD thesis, whose conclusion is expect before FLUX starts. His participation depends on the existance of funds in the project for a pos-doc grant.

During the 1st year of the project this task will be concentrated on the extentions and generalizations (language and declarative semantics) of the results of LP updates and combination of programs, obtained in the past by the FLUX team, that were already identified as important for the application domains studied within the project and for the long term research goals.
The envisaged extensions and generalizations, to be developed incrementally, include:
- the combination of the results about updates of single logic programs, and the results about combination of various programs, into a single framework;
- the generalization of the language for allowing the integration, in a single unified LP framework, of (static) knowledge about the domain, and of knowledge about the changes in the domain;
- the extension of the language to allow for self-evolving knowledge, i.e. knowledge in the specification about the evolution of the specification itself.

The 1st extension is of crucial importance for both the application domains. In legal reasoning the knowledge may come from various entities, with different priority levels. Moreover the knowledge in a specific moment is usually the result of several updates made to the initial laws or regulations. Thus, it is crucial to have a framework with both updates and combination of programs. The same happens in software specification changes and reconfigurations, where knowledge may originate in various objects or modules.
The other generalizations are also important for the application domains, specially in legal reasoning for modelling laws that, under certain condition, explicitly change (or update) other laws.
The 3rd extension is particularly important for the long term goal of designing rational epistemic agents. In this context it is crucial to allow agents to have rules that make them self-evolve, under certain conditions.

Feedback from the work developed in tasks 1, 2 and 5,during the 1st year of the project, will guide possible new extension to the language. These will be considered in this task at the beginning of year 2, and integrated with the ones developed in year 1, in order to define a unified flexible language for the specification of dynamic knowledge, and its corresponding declarative semantics.

Also during the 2nd year, the operational semantics, and (distributed) implementations will be developed. For the definition of this operational semantics, aspects such as external procedure calls, interruptions, and coordination problems in general must be, and will be considered. External procedure calls, where the execution time has to be taken into account, may raise some new and interesting problems in the setting of dynamic languages. In particular, in the interplay between external execution time and the internal pace of self-evolution of the knowledge.
   
  Work plan - Task identification
    Task Denomination
    Abduction in dynamic languages
    Researchers
    C. V. Damásio, J. Leite, J. Alferes, L. M. Pereira, I. Almeida, PhD Student 2
    Task duration - months
    24
    Persons * month
    32
    Expected results
    In this task we expect to define abduction in dynamic languages, develop procedures for it, and implement the procedures. The definition of the language (task 3) is a prerequisite for its completion. The results produced in this task will be used for the application domains of task 1, and in the definition of epistemic agents (task 5).
    Task description
    This task, coordinated by Carlos Damásio, will take place during years 2 and 3 of the project, and has as prerequisites for its completion the definition of the dynamic language (to be done in task 3). However, the work in the task will start before task's 3 ending. During year 2, based on the results of year 1 in task 3, this task will start studying the problems posed by abduction when dynamic languages are considered. The task counts with the work of João Leite, whose participation in FLUX depends on the atribution of a post-doc fellowship.

Any real epistemic rational agent should be able to handle hypotheses in order to control its behaviour and to react to new (unexpected) observations. The interaction of abduction with the dynamic evolution of knowledge raises new issues, which deserve a thorough study. For instance, abduction of actions to produce future observations can be seen as planning. An important practical application is the automatic (re)configuration of software modules in large evolving applications. Additionally, the generation of test vectors for software verification can be viewed as an abductive problem. The debugging of software can also be understood as an abductive task, by abducing program clauses to be erroneous or incomplete. However, the approaches in the literature for abduction usually ignore this task's temporal or dynamic aspects. We intend to address these issues in the project.

In this project task we will integrate previous works on abduction and the results of task 3 on the new language for dynamic knowledge into a coherent new framework. We expect to attain the following objectives:

- To define an extension of dynamic language where it should be possible to define as abducible (or revisable) parts of theory that can evolve with time. We will allow the user to specify the abductive parts of the program. The abductive process is controlled by integrity constraints that can also dynamically change.
- To study fragments of the theory that can be useful in practice. Implement and test them.
- To exercise abduction on the applications of dynamic software configuration and debugging.
- To explore limited planning problems as abduction and illustrate its feasibility.
- To relate abduction to uncertain knowledge representation approaches.

The team has produced several contributions to the topic of abduction in the context of logic programming, as can be seen from the project members' publications. Some of the project members are also experts in declarative debugging of logic programs. We have developed a number of implementations of abductive and contradiction removal procedures, which are reported in the literature. These systems have been applied by us to diagnosis applications (Boolean circuits, psychiatric diagnosis, power distribution and cellular telephone networks) and to declarative debugging problems, with some success. Therefore, we expect and are confident that the long accumulated know-how in these issues will flourish in these new application areas.
   
  Work plan - Task identification
    Task Denomination
    Epistemic agents
    Researchers
    All the project members at CENTRIA
    Task duration - months
    36
    Persons * month
    27
    Expected results
    Theory, methods, and tools for epistemic agents:
- Hypothetical introspective reasoning for choosing between preferred self-updates.
- Meta-updating and self-development, i.e. hierarchies of update rules for updating update rules.
- Monitoring and controlling self-development via internal (constrained) rules of evolution, and via environment control.
    Task description
    This task, coordinated by L.M.Pereira, connects the project to the team's larger research programme, and will involve most FLUX participants through regular seminars throughout the project. It aims at connecting the larger concerns with FLUX other tasks, garnering from these concrete issues and instances of application.

It is not difficult to see how a combined process of rule generation, of systematic diagnosis, and of rule revision by updating, can be used to achieve automated theory evolution, in an integrated way, within the uniform setting of LP.
To initiate the learning, one starts with some fixed acquired background knowledge in rule form, and with a rule generator to add to it new purported knowledge, to explain abductively known observations. FLUX will not address inductive learning, ie how new rules are generated, but suppose them given. But new and old rules may contradict one another, on some of the observation instances, and so they must be subjected to a diagnosis, to identify alternative possible, albeit non-minimal, revisions.
To decide which revision to adopt next through updating, desirable new observations are conceived of, with respect to the ongoing available theory, and whose results would, if known, allow to decide among competing revisions. The results of these so-called crucial observations are obtained, either by the program explicitly soliciting them, or by a planning process subsequently executed to carry out the actions leading to the observational results.
Once the desired revisions are selected on the basis of the results, and also of programmed and updatable preference criteria, the revisions are enacted by an update procedure. Revised rules may themselves be subjected to later revisions. Indeed, the whole process can be iterated on the basis of new incoming knowledge and constraints, or by knowledge confrontation among differently evolved automated theories, with distinct backgrounds, biases, rule generators, diagnosers, revisors, preferences, planners, observations, and updating procedures, comprising a rational agent.
An agent's epistemic confrontation with reality and other epistemic agents relies also on argumentation and mutual debugging. Par excellence, the province of scientific theory updating relies in part on such procedures, and begs for automation. Because knowledge and belief are in general incomplete, contradictory, and error prone we make use of semantics, procedures, and implementations, for dealing with contradictory, incomplete, erroneous, and default information, and with abduction, belief revision, debugging, and argumentation.
Related issues to be explored are those of introspective and self-updating abilities. Evolution shows that an epistemic agent requires a form of introspective self-consciousness for achieving reliable knowledge, this self-awareness driving its self-updating decisions, through rules and commands, towards more rational states of knowledge. Hypothetical introspective reasoning is needed in order to lookahead into possible future states, before any preferential commitment takes place, while preserving the integrity of constraints defining the epistemic self.
Besides self-changing updates, updates on the environment in the form of actions are needed, to ensure preservation of identity defining parameters by enacting control. Observational feedback from actions will be needed for monitoring and guaranteeing the agent development according to its own internal rules of evolution.
 

 
Outputs of Funded Projects
  Project title
  PROLOPPE - Programação em Lógica Paralela com Extensões
  Funding entity
  PRAXIS XXI
  Project identification
  PROLOPPE
  Total funding
  43000
  Period covered (YYYY/MM/DD)
  from 1995/1/5 to 1998/4/1
  Research team members involved in the project
  Luís Moniz Pereira (project coordinator), José Júlio Alferes, Carlos Viegas Damásio, Miguel Calejo
  Publications resulting from previous projects
  Within project PROLOPPE, 88 publications were produced.Among those where FLUX team members were co-authors, are:
J. J. Alferes and L. M. Pereira, Reasoning with Logic Programming, LNAI 1111, Springer-Verlag, 1996 (326 pages).

J. J. Alferes and C. V. Damásio and L. M. Pereira, A Logic Programming System for Non-monotonic Reasoning, Journal of Automated Reasoning (14):93-147, 1995.

J. J. Alferes, L. M. Pereira, and T. C. Przymusinski, Belief Revision in Non-Monotonic Reasoning and Logic Programming, Fundamenta Informaticae, 28(1,2):1-22, 1996.

C. V. Damásio, W. Nejdl, L. M. Pereira and M. Schroeder. Model-based Diagnosis Preferences and Strategies Representation with Logic Meta-Programming. In K. Apt et al. (eds.), Meta-Logics and Logic Programming, pp. 267-308, MIT Press, 1995

C. V. Damásio, L. M. Pereira, and Michael Schroeder. Revise: Logic programming and diagnosis. In 4th Int. Conf on LP and NMR, LNAI 1265, Springer, 1997.

  Abstracts of previous projects
  PROLOPPE was a large 3-year project, involving 12 PhD holders from 3 institutions (2 university centres and one private company) . Its main goal was to promote the evolution of Prolog towards a more expressive logic programming language, tied to an efficient execution environment that exploits innovative implementation techniques, including joint implicit and explicit parallelism, and distributionn over heterogenous multiple processor architectures. Extensions of logic programming developed in PROLOPPE included explicit negation, constraint programming, and parallelism and distribution support. Applications to interaction with the computer in Portuguese, medical diagnosis, fault finding, scheduling were investigated. The goals where successfuly achieved, and implementations were developed.
Moreover, 7 PhD. and 11 MSc thesis were completed within PROLOPPE. 6 conferences and workshops were organized. Regarding publications, PROLOPPE's results included 8 books or edited books, 8 journal papers, 8 book chapters and 67 refereed conference papers.
 
  Project title
  Acções e RaciocÌínio em Programação em Lógica Estendida
  Funding entity
  PRAXIS XXI
  Project identification
  ACROPOLE
  Total funding
  6170
  Period covered (YYYY/MM/DD)
  from 1996/1/1 to 1999/10/31
  Research team members involved in the project
  José Júlio Alferes (project coordinator), Carlos Viegas Damásio, Luís Moniz Pereira, Iara Almeida
  Publications resulting from previous projects
  27 publications resulted from the work in ACROPOLE, among which:
J. J. Alferes, L. M. Pereira and T. Swift, Well-founded Abduction via Tabled Dual Programs. In D. De Schreye (ed.), 16th Int. Conf. on Logic Programming, pp. 426-440, MIT Press, 1999.
J. J. Alferes, L. M. Pereira, and T. Przymusinski. Classical negation in nonmonotonic reasoning and logic programming. In Journal of Automated Reasoning, 20(1 & 2):107-142, 1998.
J. J. Alferes and L. M. Pereira. Update-programs can update programs. In J. Dix et al. (eds), Nonmonotonic Extensions of Logic Programming, LNAI 1216, pp 110-131. Springer, 1997.
M. Schroeder, I. A.