Up Previous Next Title Page Contents

4.6 Summary and discussion

In this chapter, we have analyzed conceptual structures of methods and proposed essential constructs for metamodeling languages. These constructs were derived from the analysis of ISD methods by modeling the methods and by validating the metamodels by adapting them into a modeling tool. Our focus on metamodeling has captured static aspects of method knowledge for adapting a tool. The constructs are not required only to represent method knowledge, but also to “execute” the methods in a computer-aided modeling tool. Each construct of a metamodeling language supports the implementation of a certain part of the conceptual structure of a method into a modeling tool.

The proposed constructs were divided into two categories, those for modeling a single technique and those for modeling a whole method. In modeling a single technique, four constructs deal with modeling property types, including their identity, uniqueness, mandatory and data type. One construct, type multiplicity, deals with the number of instances of a given type. Four of the constructs deal with connections between objects, namely cyclic relationships, cardinality, multiplicity of single role type, and multiplicity over several role types. Required constructs for modeling interconnected techniques were classified into four aspects: inclusion for specifying the types used in each technique; complex objects for describing types which are treated as being “combined” without explicit relationships; explosion for modeling links between types and different techniques; and polymorphism for specifying the types of a method whose instances share the same values. These constructs are specific for the field of method modeling only, and no suggestions were made of their applicability in other domains.

The analysis of method knowledge together with the proposed metamodeling constructs also serves as a vehicle for assessing existing metamodeling languages. In short, CoCoA and GOPRR seemed to be most comprehensive for specifying method knowledge behind modeling techniques. NIAM also succeeded well but only while modeling single techniques.

In general, the assessment reveals that the current methodical support for method engineering is modest. While in recent years some progress has been made in outlining conceptual and theoretical principles for metamodeling and several metamodel-based tools have been developed (for a survey see Tolvanen et al. 1996) we argue that the available metamodeling languages, mostly based on data models (CASE Outlook 1989), do not provide adequate support for all aspects of method engineering. For example, metamodeling methods offer limited constructs for modeling interconnected techniques. Moreover, we identified conceptual structures of methods which could not be represented with the proposed metamodeling languages adequately or even at all. As a result, we have pointed out some areas for improvement.

It must be noted that we did not discuss method knowledge that could be supported already by all the languages, since this can be found directly from the metamodels. Similarly, during the assessment of the metamodeling languages we did not evaluate which language is more suitable for metamodeling, nor did we try to eliminate the constructs offered by these languages although some of them offered constructs which we did not find essential. This was especially the case with NIAM (see also Weber and Zheng (1996) for the construct overload) since the constraints for equality and exclusion were not found to be essential. These constraints along with some other might, however, be needed in modeling other methods, or if different interpretations of method knowledge and their tool support need to be made. The refinement of available languages for metamodeling, however, is outside the scope of our study.

Finally, various interpretations of method knowledge and its modeling deserve a closer examination. Like all modeling, our metamodeling effort was influenced by alternative interpretations of the method knowledge. Two major reasons for the interpretations and alternative versions of metamodels were tool adaptation and incomplete, or even inconsistent, method descriptions.

First, on the tool adaptation side, method developers have not considered enough possibilities of computer-aided tools but rather maintained the pen-and-paper mentality. Moreover, most remarks on tool use were made on the representational side, rather than on the conceptual side of method knowledge. As a result, in tool adaptation some aspects of method knowledge could be modeled differently. For example, there is no need to introduce additional textual pages separate from diagrams to view and edit more detailed information about the elements of a diagram (e.g. Lundeberg et al. 1981, Goldkuhl 1992) if such information can be added directly to the elements. Similarly, models do not need property types for entering reference information, such as how many representations of this instance exist (Gane and Sarson 1978), or whether the process is decomposed or not. Also the identity of instances does not need additional reference numbers, such as process identifiers, or information codes, widely used in pen-and-paper based methods (e.g. Yourdon 1989a, FIPS 1993a, Lundeberg et al. 1981). The balancing rules applied in many methods (e.g. Yourdon 1989a) could also be implemented differently: instead of referring to names in a polymorphism, we could refer to actual instances. Why refer just to a value of a property type, if the whole instance of an object type or a relationship type is available. These modeling options are typically related to the support provided by a modeling language, or a tool.

Second, a major reason for alternative metamodels was inadequate or even inconsistent method descriptions. As a result, we need to make our own decisions on what specific concepts and rules mean. For example, in most of the object-oriented methods, except OSA (Embley et al. 1992), it is unclear whether a state model can include states of more than one object. Instead of providing methods for systematizing ISD, method developers should apply (meta)methods to systematize ISD methods (Parsons et al. 1997).

Up Previous Next Title Page Contents