Class Declarations in SADL

Last revised 1/13/2021. Contact us.

The meaning of a class in SADL derives from set theory. A class is a set of members that are similar in some way meaningful to the modeling objective. A class is an abstraction, a construct of the mind.

The simplest form of class declaration in SADL simply states that something is a class.

Person is a class.

This definition is not well-defined because there is no unambiguous way to determine if something does or does not belong to the class.

A well-defined class may be declared in one of two important ways.

  1. A class may be defined extensionally, that is by enumerating all of the members of the class. In SADL, an extensional class definition looks like either of the following, which have identical translations to OWL.
  2. Season is a class, must be one of {Spring, Summer, Fall, Winter}.

    Season is a class, can only be one of {Spring, Summer, Fall, Winter}.


  3. A class may be defined intensionally, that is by describing the characteristics common to all members of the class. This is done by defining the requirements for class membership. If those requirements are unambiguous the class is well-defined. There are a variety of ways to express axioms about class membership. This example uses necessary and sufficient conditions. The Parent class is defined as those members of the Person class who have at least 1 value of the property child.
    1. A Person is a Parent only if child has at least 1 value.


  4. A class may be declared to be a subclass of an existing class, meaning that every member of the new class is also a member of the super-class. When creating subclasses, the ideal is to create a set of sibling subclasses that span the superclass and do not overlap, that is that each member of the superclass belongs to one and only one of the set of subclasses.

Child is a type of Person.