"GOTA Specifications"
With GOTA signatures we devised a theoretical framework to specify class hierarchies based on the attributes that characterize them. Specifically we addressed the problem of accidental multiple inheritance, introducing genetic inheritance, a mechanism by which, objects are able of inheriting any combination of attributes existing in superclasses. The aim of GOTA specifications is allowing actions to be described in a class hierarchy. These actions are considered in a wide sense: not only actions an object may undertake (a method), but actions corresponding to programs, or procedures with a determined goal that may involve using the existing objects.
The purpose of this work is to present the particularities of the specification of actions with functional operations, which is the formalism chosen in GOTA. We introduce a finer typing mechanism based on genomes, as they are called, which in turn allows a more specialized inheritance of operations. We also study the effect of inheritance over the result of operations, and the needed regularity of the signatures including operations. Operations are defined using rewrite rules, and we use a rewrite calculus to describe the mechanism of rewrite rule application. Finally, we show the initial semantics of GOTA specifications by issuing a standard model based on canonical trees, and proving that it is a freely generated algebra over the class of models of a given GOTA specification.
J. Mateos Lago, M. Rodríguez Artalejo. GOTA Algebras: A Specification Formalism for Inheritance and Object Hierarchies. PLILP'96, LNCS 1140:62-76, Springer-Verlag, 1996.
J. Mateos Lago, M. Rodríguez Artalejo. GOTA Algebras. Technical Report 26/96, Departamento de Informática y Automática, UCM, 1996.
J. Mateos Lago, M. Rodríguez Artalejo. Tagged Terms and Continuous GOTA Algebras. Technical Report 70/97, Departamento de Informática y Automática, UCM, 1997.