next up previous
Next: Basic Concepts Up: Additive Interaction Nets as Previous: Additive Interaction Nets as

Introduction

The additive interaction nets system was introduced as a generalization of Lafont's interaction nets [Mat99]. Lafont's interaction nets [Laf90] are a generalization of multiplicative proof nets [Gir95] based on interaction between two agents. Additive interaction nets are an extension of interaction nets. The extension we consider is to introduce first-order unification variables: each agent in interaction nets has several first order terms with unification variables. When agents interact, information on interaction nets can be distributed via first order unification. The additive interaction nets system can encode Girard's multiplicative additive proof nets [Gir95] (see [Mat99]).
On the other hand, the additive interaction nets system can be regarded as an extension of logic programming languages like Prolog. As shown in Section [*], SLD-resolution can be encoded into the system. Differences between usual logic programming languages and the additive interaction nets system are the following.
(1)
A goal clause of usual logic programming languages is a sequence of formulas. On the other hand, a goal of the additive interaction nets system is a net, which a graph whose nodes are agents.
(2)
The body of a program clause of usual logic programming languages is a sequence of formulas. On the other hand, the corresponding ingredient of the additive interaction nets system is a net.
Compared with usual logic programming languages, the additive interaction nets system can provide a more understandable and flexible programming style: (1) provides an understandable programming style, since a goal can be divided into connected sub-nets grouped by meaning, which are called components, and these connected sub-nets can communicate with each other using unification. In a goal of usual logic programming languages, such components are mixed. On the other hand, (2) provides a flexible programming style, since we can create and destroy components in a dynamic manner. Such a programming style can be regarded as a kind of object-oriented programming and component-based programming and moreover, due to transparency of location can also be regarded as a kind of distributed programming. Currently we are strongly interested in formalizing real component-based systems like DCOM and JavaBeans in our system.
next up previous
Next: Basic Concepts Up: Additive Interaction Nets as Previous: Additive Interaction Nets as
Satoshi Matsuoka
11/14/1999