# zbMATH — the first resource for mathematics

Modular action language $$\mathcal{ALM}$$. (English) Zbl 1379.68297
Summary: The paper introduces a new modular action language, $$\mathcal{ALM}$$, and illustrates the methodology of its use. It is based on the approach of M. Gelfond and V. Lifschitz [J. Log. Program. 17, No. 2–4, 301–321 (1993; Zbl 0783.68024); “Action languages”, Electron. Trans. AI 3, No. 16, 193–210 (1998)] in which a high-level action language is used as a front end for a logic programming system description. The resulting logic programming representation is used to perform various computational tasks. The methodology based on existing action languages works well for small and even medium size systems, but is not meant to deal with larger systems that require structuring of knowledge. $$\mathcal{ALM}$$ is meant to remedy this problem. Structuring of knowledge in $$\mathcal{ALM}$$ is supported by the concepts of module (a formal description of a specific piece of knowledge packaged as a unit), module hierarchy, and library, and by the division of a system description of $$\mathcal{ALM}$$ into two parts: theory and structure. A theory consists of one or more modules with a common theme, possibly organized into a module hierarchy based on a dependency relation. It contains declarations of sorts, attributes, and properties of the domain together with axioms describing them. Structures are used to describe the domain’s objects. These features, together with the means for defining classes of a domain as special cases of previously defined ones, facilitate the stepwise development, testing, and readability of a knowledge base, as well as the creation of knowledge representation libraries.

##### MSC:
 68T27 Logic in artificial intelligence 68N17 Logic programming 68T30 Knowledge representation
##### Software:
Smodels; ALM; CCalc; oClingo
Full Text: