Customizable Descriptions of Object-Oriented Models

With the emergence of object-oriented technology and user-centered software engineering paradigms, the requirements analysis phase has changed in two important ways: it has become an iterative activity, and it has become more closely linked to the design phase of software engineering (Davis, 1993). A requirements analyst builds a formal object-oriented (OO) domain model. A user (domain expert) validates the domain model. The domain model undergoes subsequent evolution (modi cation or adjustment) by a (perhaps di erent) analyst. Finally, the domain model is passed to the designer (system analyst), who re nes the model into a OO design model used as the basis for implementation. Thus, we can see that the OO models form the basis of many important ows of information in OO software engineering methodologies. How can this information best be communicated? It is widely believed that graphical representations are easy to learn and use, both for modeling and for communication among the engineers and domain experts who together develop the OO domain model. This belief is re ected by the large number of graphical OO modeling tools currently in research labs and on the market. However, this belief is not accurate, as some recent empirical studies show. For example, Kim (1990) simulated a modeling task with experienced analysts and a validation task with sophisticated users not familiar with the particular graphical language. Both user groups showed semantic error rates between 25% and 70% for the separately scored areas of entities, attributes, and relations. Relations were particularly troublesome to both analysts and users. Petre (1995) compares diagrams with textual representations of nested conditional structures (which can be compared to OO modeling in the complexity of the \paths" through the system). She nds that \the intrinsic di culty of the graphics mode was the strongest e ect observed" (p.35). We therefore conclude that graphics, in order to assure maximum communicative e ciency, needs to be complemented by an alternate view of the data. We claim that the alternate view should be provided by an explanation tool that represents the data in the form of a uent English text. This paper presents such a tool, the ModelExplainer, or ModEx for short, and focuses on the customizability of the system. Automatically generating natural-language descriptions of software models and speci cations is not a new idea. The rst such system was Swartout's GIST Paraphraser (Swartout, 1982). More recent projects include the paraphraser in ARIES (Johnson et al., 1992); the GEMA dataow diagram describer (Scott and de Souza, 1989); and Gulla's paraphraser for the PPP system (Gulla, 1993). ModEx certainly belongs in the tradition of these speci cation paraphrasers, but the combination of features that we will describe in the next section (and in particular the customizability) is, to our knowledge, unique.