SADL: What, Why, and How
by A. W. Crapo.
The Semantic Application Design Language (SADL) refers to two related things.
- SADL is an English-like language for building formal models
composed of an OWL ontology, rules expressed in terms of the ontological
concepts, queries for retrieving information from the model, and tests to
validate and re-validate model content and entailments (implications);
- The SADL-IDE is an Eclilpse-based integrated development environment (IDE)
which facilitate authoring and maintaining models
expressed in the SADL language.
The Semantic Technology (Web) stack offers significant potential for
knowledge capture and usage in many domains of interest to GE. However, native
SPARQL) are not
very friendly to domain experts who are not computer scientists and
knowledgeable in the intricacies of artificial intelligence and formal logic.
Furthermore, the tools available to build, test, maintain, and apply
knowledge bases (models) over their life cycle are inadequate. SADL
attempts to bridge these gaps.
SADL attempt to meet the needs identified above in several ways.
- The SADL grammar tries to use common words to express formal
model relationships. These key words and phrases are mapped unambiguously into
the formalisms of OWL, SWRL or Jena Rules, and SPARQL.
- SADL allows combining of statements so that the grouping is
much more concise and therefore understandable. Examples include listing the
properties that "describe" a class as part of the class definition,
identifying multiple subclasses in a single statement, the chaining together
of triple patterns in rules and queries to eliminate variables and make the
overall pattern more readable, listing the attributes and relationships of an
instance together with a single subject, and declaring instances with their
properties without necessarily requiring that they be given names.
- The SADL-IDE provides templates, content assistance, quick fixes, hyper
linking of concepts to their definitions, folding, and other authoring
helps to make it easier for domain experts to view and understand,
create, and maintain models expressed in the SADL language.
- The close integration of Eclipse with source code control
tools such as CVS allow SADL models to be versioned and more easily managed
over their life cycle. The sequential nature of the language makes the viewing
of differences between versions of a model easy to compute and view. A set of
models may be easily tagged as a particular release and thereafter be
retrieved as a compete set at any time.
- Integration of reasoners/rules engines with the SADL-IDE
allows the model developer to exercise the model, query inferred results, and
create test cases for validation and regression testing of the model.
There are many opportunities for additional aids for model authoring and
lifecycle maintenance: graphical model visualization, model validation and gap