AKL(ID:1610/akl001)

Andorra Kernel Language 


Andorra Kernel Language. Successor of KAP.

"AKL (Andorra Kernel Language) is a concurrent constraint programming
language that supports both Prolog-style programming and committed
choice programming.  Its control of don't-know nondeterminism is based
on the Andorra model, which has been generalised to also deal with
nondeterminism encapsulated in guards and aggregates (such as bagof)
in a concurrent setting." (from FAQ)


Related languages
Andorra => AKL   Evolution of
KAP => AKL   Evolution of
AKL => AKL   Renaming

References:
  • Haridi, Seif and Sverker Janson. Kernel Andorra Prolog and its Computation Model. In Logic Programming: Proceedings of the Seventh International Conference. MIT Press, 1990. view details Abstract: The logic programming language framework Kernel Andorra Prolog is defined by a formal computation model. In Kernel Andorra Prolog, general combinations of concurrent reactive languages and nondeterministic transformational languages may be specified. The framework is based on constraints. The languages Prolog, GHC, Parlog, and Atomic Herbrand, are all executable in the Kernel Andorra Prolog computation model. There are instances of the framework in which all of these languages are embeddable.
  • Janson, Sverker and Haridi, Seif "An Introduction to AKL - A Multi-Paradigm Programming Language" view details
          in NATO-ASI Constraint Programming. Springer-Verlag view details
  • Janson, Sverker and Seif Haridi. Programming Paradigms of the Andorra Kernel Language. SICS Research Report R91:08, Swedish Institute of Computer Science, 1991. view details
          in NATO-ASI Constraint Programming. Springer-Verlag view details
  • S. Janson et al "Programming Paradigms of the Andorra Kernel Language" view details Abstract: The Andorra Kernel Language (AKL) is introduced. It is shown how AKL provides the programming paradigms of both Prolog and GHC. This is the original goal of the design. However, it has also been possible to provide capabilities beyond that of Prolog and GHC. There are means to structure search, more powerful thanplain backtracking. It is possible to encapsulate search in concurrent reactiveprocesses. It is also possible to write a multi-way merger with constant delay.In these respects AKL is quite original. Although AKL is an instance of our previously introduced Kernel Andorra Prolog framework, this exposition contains important extensions, and a considerable amount of unnecessary formal overhead has been stripped away.
          in Logic Programming: Proceedings of the 1991 International Logic Programming Symposium. MIT Press, 1991 view details
  • Sverker Janson and Seif Haridi. "An Introduction to AKL - A Multi-Paradigm Programming Language" view details
          in Logic Programming: Proceedings of the 1991 International Logic Programming Symposium. MIT Press, 1991 view details
  • Franzén, Torkel ; Seif Haridi, and Sverker Janson. An Overview of the Andorra Kernel Language. view details
          in Proceedings of the 2nd Workshop on Extensions to Logic Programming. LNCS. Springer-Verlag 1992. view details
  • Haridi, Seif; Janson, Sverker and Catuscia Palamidessi "Structural Operational Semantics of AKL" pp409-421. view details
          in Journal of Future Generation Computer Systems 8(1992) view details
  • Haridi, Seif ; Sverker Janson, et al. Concurrent Constraint Programming at SICS with the Andorra Kernel Language view details
          in Presented at First International Workshop on Principles and Practices of Constraint Programming (PPCP), 1993 view details
  • PARallel FORmal Computing Environment (ESPRIT Basic Research) EATCS 1994 Report view details Abstract: ParForCE is aimed at constructing (and evaluating the use of) formal tools for the development of parallel programs and their efficient execution. To this end the emerging techniques for formal program analysis and manipulation are applied to central issues relating to parallel execution such as dependency and granularity analysis or memory management. Tools based on these techniques are built to aid in the formal development of parallel logic programs. These tools are then integrated with parallel execution platforms and their effectiveness assessed. Extract: Parallel Logic Programming Platforms
    A number of parallel logic programming systems, which have been shown to be capable of significant speedups over state of the art sequential Prolog systems, are already being used as platforms by the project partners. These include &-Prolog [39] (developed at Madrid), Muse [2, 3] (developed at SICS), and ElipSys [7] (developed at ECRC). The ElipSys execution platform, a prototype of which was developed as part of ESPRIT Project 2025, EDS, supports OR-parallelism as well as a framework for implementing constraint solvers and a close coupling to databases. Muse is a well established execution platform that allows Prolog to be executed in parallel by exploiting OR-parallelism. The &-Prolog system is also a well established parallel Prolog system that exploits (independent) AND-parallelism. Some parts of the &-Prolog and Muse models were developed by SICS and Madrid in ESPRIT Project 2471, PEPMA.

    A matter of great interest is the combination of the capabilities of these systems, as well as those of other languages, both from the point of view of concurrency and constraint support.

    The AGENTS Language (AKL) is a new concurrent logic language developed by SICS in ESPRIT Project 2471, PEPMA, with a large potential for parallel execution. It provides the programming paradigms of search-oriented languages such as Prolog, process-oriented languages such as GHC, and the constraint logic programming languages in a unified framework.

    A proposal for combining Muse and &-Prolog into one system to exploit their two sources of parallelism while maintaining the high efficiency of both systems is represented by the ACE model [35]. We refer to a further enhancement of this model which also supports constraint solving (and explicit concurrency) in the same framework as Ciao-Prolog --(Concurrent,) Constraint, Independence-based And/Or parallel Prolog.

          in Presented at First International Workshop on Principles and Practices of Constraint Programming (PPCP), 1993 view details