Goos, G., Hartmanis, J., Barstow, D., Brauer, W., Hansen, P. Brinch, Gries, D., Luckham, D., Moler, C., Pnueli, A., Seegmüller, G., Stoer, J., Wirth, N., Gjessing, Stein, Nygaard, Kristen, Clerici, S., and Orejas, F.
At the specification level, inheritance can be defined as subtyping by means of order sorted specifications [GM85]. Subtyping is, obviously, a very important notion, allowing not only to work with a non rigid type structure, but also providing an adequate basis for error handling in algebraic specifications. However, in our opinion, subtyping and order sorted specifications do not play the same rûle as inheritance in program design. In this paper, we will present a hierarchical organization for specifications, based on a different concept of inheritance which, we think, corresponds, methodologically, to the usual inheritance relation defined at the programming level. This new relation allows to work with incomplete specifications with several levels of detail and, as a side-effect, it may play the rûle of genericity. The use of this notion of inheritance is shown by means of the GSBL specification language built around this new concept, whose use and formal semantics are sketched. [ABSTRACT FROM AUTHOR]