Part II: specifying components in RESOLVE

Authors:
  • SEStephen H. Edwards
    Stephen H. Edwards
  • WHWayne D. Heym
    Wayne D. Heym
  • TLTimothy J. Long
    Timothy J. Long
  • MSMurali Sitaraman
    Murali Sitaraman
  • BWBruce W. Weide
    Bruce W. Weide

Abstract
Conceptual modules may export two kinds of things for use in client programs: type families and operation families. We say "families" here because every RESOLVE module is generic, so a client must instantiate a module before using it. Instantiation has two parts: First you bind all of a conceptual module's formal parameters to actuals which match the formals both in structure and in other specified properties; then you select an implementation for the concept and fix the realization's (additional) parameters [Part III]. An instance created this way is called a facility. For a typical conceptual module that defines one type family and associated operation families, every instance defines a particular type and some particular operations whose specifications result, in effect, from replacing the formal parameters of the generic specification with the actuals for that instance.
Keywords