Representing generalization relationships in logic programming - Fillottrani, Pablo Rubén (2002)
Modeling is one of the most important activities throughout any software development life cycle. Within object-oriented modeling, class generalization is a powerful, yet simple concept for abstracting commonalities between classes. Although, as classes evolved in the model, their semantics may become inconsistent with previous generalization relationships. Automated tools are necessary in order to preserve model coherence. In this paper we present a logic programming translation of several kinds of class hierarchies, in order to be used in the process of automated model checking. This representation includes positive and negative information, and preserves individual class properties. Thus, the resulting program is not affected with changes in class semantics or in the hierarchies.