- Transforming UML to logic
UML is a general language, or rather a collection of languages, for
describing different models of a software system using different
diagrams. UML is mainly an analysis tool for human analysts. Up to
this moment, UML diagrams cannot be interpreted by the computer and
cannot be formally verified or used for rapid prototyping. What is
lacking here is a link with logic. A Logic is a formal language that can
be used for describing dynamic systems such as software systems. Its
symbolic notation may be less readable and more tedious than the graphical
notations in UML, but the advantage of logic is that it is more
expressive, has a formal semantics and therefore, that formal
reasoning tools can be used to reason and solve certain computational
tasks. This makes it possible to use logic for rapid prototyping.
Recently, we have started to investigate transformations from UML-like
languages to one specific logic, called ID-logic, an integration of
classical logic and Prolog. Problem solving using ID-logic is done
using a general purpose abductive reasoning system, the
Asystem .
The goal of this thesis is to apply the current ideas on the
relationship between UML and ID-logic and to implement a translation
from UML specifications to ID-logic. Tasks in the context of the
thesis include: introduction to UML, ID-logic and the
current ideas of how they are related; defining a subset of UML that
can be transformed and implementation of the transformation;
experimenting with the A-system as a rapid prototyping tool.