Reasoner/Translator Pairs in SADL

Last revised 4/13/2021. Contact us.

The SADL IDE is architected to allow a variety of reasoners to be used. Each reasoner must be wrapped in Java code implementing the IReasoner Java Interface class so that it can be invoked from the IDE or from SadlServer. In the SADL IDE, each reasoner must also have an associated translator capable of translating rules and queries from the SADL Intermediate Form, generated from the SADL grammar, to a form compatible with the reasoner. The translator must be wrapped in Java code implementing the ITranslator Java Interface class. This plug-in architecture is illustrated in the diagram below.

The presence of multiple reasoner/translator pairs implies that a selection is possible.  In the Eclipse-based IDE, this selection process is accessed through the project properties.

  1. Right-click on the desired project in the Project Explorer and select "Properties" or select the project and then click on Project, then Properties on the menu bar. In either case, the result will be the project properties dialog window.
  2. Expand the SADL item by clicking on the arrow in front of it.
  3. Click on Reasoner Preferences.
  4. Check the box in front of the desired reasoner in the upper portion of the dialog. The default translator for the selected reasoner will be automatically selected in the lower portion of the dialog.
  5. Change the translator selection if desired.
  6. Edit the reasoner configuration options, if any are available.

For more information and illustrations, see Preferences (and Project Properties).