Tecton: A Language for Manipulating Generic Objects

abstract constructs define new classes of objects. The abstract construct is roughly the inverse of the refine construct. The instantiate, e, -, and infotm serve to include more knowledge about a class of objects, while ~SUZQ.~ is used to represent a class of objects in terms of another class. The instantiate construct records the information that a class of objects can be refined to another class; or, stated another way, a class of objects can be abstracted to another class. The latter could be obtained from the former by reversinq the arguments to instantiate. The use of these constructs is illustrated on structures (see below), a class of objects definable in Tecton, in 151. (Except that abstract was not discussed and refine was called enrich in that paper.) In the next section, we will give examples of some of these constructs; their use is also illustrated in the discussion of the communication network example. We discuss four different types of objects in Tecton which we have found useful in describing different kinds of activities of a complex software system: structures, entities, events, and environ- ments. Some of these types of objects have appeared previously in