An ALM Library Translated from the Component Library (CLib)


Modular Action Language ALM


ALM (Inclezan and Gelfond 2016) is an action language designed with the goal to facilitate the encoding of large knowledge bases and libraries of knowledge. It allows structuring of knowledge into reusable and independently testable pieces called modules. A module contains declarations of classes (including action classes) and functions (properties of the dynamic domain). The description of a specific dynamic domain consists of (1) a collection of modules organized into a hierarchy and grouped into a theory and (2) a collection of definitions of instances of classes and of values of static properties.

The semantics of ALM are defined by a translation into ASP{f} (Balduccini 2013). A prototype translator from ALM into ASP{f} implemented in Python can be downloaded here. Intructions on how to run the translor can be found here.

Translator from ALM into ASP

Translator from ALM into ASP for modules only

Instructions on running the translator


The Component Library


The Component Library (CLib) (Barker et al. 2001) is a library of general, reusable, composable, and interrelated components of knowledge. Notions included in CLIB were selected using a solid methodology relying on linguistic and ontological resources such as WordNet, FrameNet, VerbNet, a thesaurus, and an English dictionary, as well as various ontologies from the semantic web community. CLib was built with three main design criteria in mind: (1) coverage: CLib should contain enough components to allow representing a variety of knowledge; (2) access: components should meet users’ intuition and be easy to find; and (3) semantics: components should be enriched with non-trivial axioms


CoreALMlib - A Translation of Part of CLib into ALM


CoreALMlib is a translation of actions and states of CLib. It ignores however roles, activities, actions with subevents or duration, and text generation information associated with CLib components. The resulting translations of 123 of the 146 action classes of CLib are grouped into 43 modules. The module dependency hierarchy can be seen here. The user can search for relevant modules based on English verbs and adjectives here. The whole library is downloadable here.

CoreALMlib - entire library (including translation into ASP)