Up Previous Next Title Page Contents

7.1 Modeling languages for method engineering

The first contribution of the thesis deals with extended support for metamodeling. Before proposing metamodeling constructs we surveyed method knowledge and described method-tool companionship. Survey into method knowledge was needed to understand various types of method knowledge and explain the focus of method engineering taken in the thesis: modeling conceptual structures behind modeling techniques. The concept of method-tool companionship was applied to describe how tools can support method use through abstraction, checking, form conversion and review. Although we view metamodeling in the context of modeling tools our interest is on metamodeling. The reason why we have studied metamodels in tools is that metamodels which do not influence ISD have a limited impact. Conversely, modeling of ISs is more beneficial if the models can be applied for implementing ISs. Among the categorical choices in metamodeling languages we have focused on semantic data models. They are most widely applied in large metamodeling efforts and as metametamodels of metaCASE tools and repositories.

Extended support for metamodeling was developed by proposing new constructs for metamodeling languages. We found a limited set of constructs which can help method engineers to specify relevant aspects of modeling techniques. It is clear that unlimited support for all types of methods is impossible. Unlike with many other metamodeling languages we did not try to build a language which is as powerful as possible. Rather we sought to balance power and ease of use so that it can be used with minimal effort but the language is at the same time powerful enough to model methods. In fact, ME has the same objective: to develop methods which help users to perceive and specify relevant aspects of object systems rather than model “everything”.
The examination of metamodeling constructs was carried out by conducting a content analysis of a chosen sample of the method literature. This type of an inductive approach has not been generally used in such an extent to develop metamodeling languages. In all, we analyzed 17 methods consisting of 72 modeling techniques of which 3 methods and 19 modeling techniques are reported in detail in this thesis. The methods covered different ISD phases including business modeling, requirements engineering, system analysis and system design methods. The literature described the concepts, rules, notations and possible requirements in building tool support for methods. The data was classified into distinct types allowing us to simplify and systematize conceptual structures of methods. In our case, the classification of method knowledge was based on the metamodeling languages supported by metaCASE tools. The metamodeling approach allowed us to capture and understand method knowledge and the metaCASE tools allowed building, checking, and querying on metamodels, as well as to make tool adaptations. Hence, as a by-product of the analysis, we developed a modeling tool for each method.

The content analysis allowed us to categorize method knowledge and identify constructs which are needed to model methods more completely. The metamodeling constructs were divided into those necessary for modeling single techniques and those needed to integrate multiple techniques. Furthermore, we identified varying scopes in method name spaces and crafted checking modes for each construct.

The proposed metamodeling constructs lead us to assess available metamodeling languages. This assessment revealed that current methodical support for method modeling is modest. While in recent years some progress has been made in outlining conceptual and theoretical principles for metamodeling and metamodel based tools (for a survey see Kelly 1997, Tolvanen et al. 1996) we found that available metamodeling languages do not provide adequate ME support. Having evolved from general purpose data models or data modeling languages, existing ME languages are capable of expressing specific semantic constraints imposed by the business data modeling domain. Many of the languages promoted for ME are applied on ISD as well and the required metamodeling constructs are quite different than those needed in IS modeling. As a result of the assessment, we identified structures of method knowledge which could not be represented adequately with the studied metamodeling languages. For example, metamodeling languages offered limited constructs for modeling interconnected techniques and the identified scopes of method knowledge were inadequate. In this sense, the content analysis of method literature contributed to the current understanding of detailed method knowledge. It revealed several aspects of method knowledge which have not been identified by the developers of metamodeling languages. The evaluation also lead us to examine the limitations of semantic data models as a foundation for metamodeling. With respect to modeling tools, the semantic data models are powerful in describing static aspects, but poor in describing dynamic rules applied in modeling techniques.

The results of the evaluation can be applied by researchers and practitioners alike: developers of metamodeling languages can use them for analyzing and extending their languages; tool vendors can apply them for extending their metametamodel based tools; and method engineers can use them to identify method knowledge which is neglected. Extended metamodeling constructs allow organizations to better specify, understand, analyze and refine methods.

Up Previous Next Title Page Contents