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.
- 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.
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}.
- 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.
A Person is a Parent only if child has at least 1 value.
- 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.