The Extended Andorra Model (EAM)  was designed in order to provide a formal framework and an abstract computational model for logic programming, in which different approaches to exploitation of parallelism can be described and compared. In EAM, computation is expressed through a set of rewriting rules acting on a state description.
The aim of the EAM is to detect the ``perfect'' computational model, where:
The first issue is quite intuitive, and translates into two subprinciples:
This last observation is quite crucial in understanding the complexity of the task: the two criteria of minimizing the number of inferences and exploiting maximal parallelism are antithetical. Almost any form of parallelism is prone to produce speculative computation, which contradicts the principle of work minimization.
The original EAM's description introduces a further aspect, the requirement of minimizing the amount of control information that the user is required to supply. This last principle have been deemed of secondary importance in some of the actual languages originated from EAM (e.g., AKL ).
The ideal nature of the EAM arises from the fact that the model may achieve the best balance between amount of parallelism exploited and the number of inference steps performed. On the other hand, as it is, the model is very abstract and far from a possible implementation. The major concern is that the abstract level of the model ignores many aspects involved with implementation (efficient management of environments, synchronization between agents, etc.). Nevertheless, the EAM is useful, since it supplies a general framework for describing and comparing different parallel execution models, where emphasis is put on what can be done in parallel (without yet loosing sight of the issue of efficiency), and outlining the ``perfect'' situation.