4.1 Introduction
One part of engineering, and therefore also of method
engineering, is concerned with model building, analysis, and implementation
tasks. Accordingly, it is of great importance to understand how knowledge about
model building, analysis, and implementation can be captured, represented, and
analyzed (Welke 1988, Wijers 1991, Brinkkemper 1996). Therefore, in this chapter
we shall focus on our first research question (cf. Section 1.5.3) dealing with
constructs of metamodeling languages:
“How completely can meta-data models represent knowledge
about ISD methods for modeling tools?”
|
Metamodeling constructs are needed to model method knowledge
as completely as possible. By completely we mean the 100% principle suggested by
Griethuysen (1982), which has also been applied to the metalevel by Brinkkemper
(1990). The principle states that a metamodel should describe all relevant
aspects of a method. According to this ideal, a metamodeling language should be
capable of modeling all aspects of the method knowledge. It must be noticed,
however, that our focus is on meta-data models (i.e. on the static conceptual
structure behind modeling techniques, cf. metamodels in Section 3.3.3), and
therefore we exclude the modeling of other types of method knowledge (e.g. such
as processes in Brinkkemper (1990), or participation in Tolvanen et al. (1993)).
Instead of focusing on general data modeling constructs like classification,
generalization, and aggregation provided by semantic data models (Brodie 1984),
we shall focus on specific constructs in metamodeling languages that are
essential in modeling methods. These constructs extend available data modeling
languages in several ways and provide a basis for modeling method knowledge more
completely. The proposed constructs are not necessarily essential in other
modeling domains, as some deal with specifying knowledge about single techniques
(i.e. their conceptual structures, rules and constraints), and some with
integrating multiple techniques into a method.
In seeking essential constructs for meta-data modeling we
will follow an inductive approach. We shall analyze in detail what kind of
knowledge ISD methods in computer-aided modeling tools include, as well as how
and to what extent this knowledge can be included into a metamodel which is
based on a semantic data model. The analysis of 17 ISD methods carried out as a
metamodeling task also includes tool adaptation for each method. This allows us
to obtain a detailed understanding of the structure and content of method
knowledge. The resultant patterns, categories and rules of a method, defined
here as part of method knowledge, are used to derive requirements for
metamodeling (Patton 1990). To our knowledge (cf. Tolvanen et al. 1996) this
kind of approach has not been applied to such an extent for analyzing and
developing languages for method
engineering
[15]. Because of the inductive
research approach, the proposed requirements for metamodeling can not be claimed
to be complete, but rather they represent an essential set of constructs needed
to model the modeling techniques of the selected “sample”.
Additional requirements for metamodeling languages may be found if more ISD
methods were included in the study.
We will assess the metamodeling capabilities of available
metamodeling languages based on the derived requirements: how do they satisfy
the essential need to capture and specify method knowledge and serve as a
metametamodel? Hence, this assessment extends the analysis of metamodeling
languages described in Section 3.3.3. It must be noted that our aim here is not
to develop a new metamodeling language, but rather determine a set of constructs
applicable for metamodeling, and which are necessary for “good”
metamodeling languages. The results of the assessment can be applied by
developers of metamodeling languages to improve their languages, and also by
metamodelers to specify methods more completely. These extensions will also be
applied to specify metamodels in the action research studies reported in Chapter
6.
The chapter will proceed as follows. In the next section
we describe the research method in more detail and discuss the metamodeling
process. In Section 4.3 we describe some of the metamodels which were developed
and CASE tools which were modified. Section 4.4 defines the essential
metamodeling constructs needed to model a single technique as well as a complete
method. In Section 4.5 a set of metamodeling languages is assessed in terms of
how they support metamodeling. Based on this assessment we identify some
limitations in the modeling power of semantic data models and highlight aspects
of method knowledge which can not be captured with their data modeling
constructs. This provides motivation for further research to extend semantic
data models with additional constructs. Section 4.6 summarizes the
chapter.
[15] A typical research
approach is based on the selection of one (or a few) ISD methods as examples,
and on studying how they can be represented with the proposed metamodeling
language (e.g. Smolander 1992, Welke 1988, Hofstede 1993, Saeki and Wenyin
1994).