Logtalk STEP Architecture
A Logtalk script is executed by loading Logtalk objects into a logic database and then solving a goal clause defined in the script. The Logtalk objects defined in a STEP application are divided into three groups:
  • libraries: Logtalk and Logtalk-STEP libraries define objects which represent data types (numbers, collections) and EXPRESS concepts of entity and type; as well as library objects defining computations on inheritance and graph structures and general utilities.
  • EXPRESS schema objects: An AP (Application Protocol) specific collection of objects which represent the types, entities, functions, and rules defined in an EXPRESS schema. The code defining these objects is generated by Python language scripts doing text processing on the EXPRESS files; with the implementation of logic computations performed "by hand" based on the EXPRESS procedural definition of functions and rules.
  • data model objects: Define the information content of a STEP Part 21 file. There is one Logtalk object per "instance" defined in the file; and each instance-object is related by instantiation (class-instance relation) to one or more EXPRESS schema objects. A text file defining the data model objects is generated by a translator application (written in C++) from an input STEP Part 21 file.