These developments have raised research questions in several areas. Many of the questions concern the need to describe, analyse and manage multiple types of descriptions in the CASE environment that are results of using more or less systematic formal methods for design tasks. These can be called shortly IS models. This should take place in a way that allows for consistent, efficient and user-friendly manipulation of IS models stored in a CASE repository. This concern can be formulated as a metamodeling problem: what are the requirements for languages to describe and model the IS models stored, represented and manipulated in the CASE repository, and what is the process (methodology) to specify the content and functionality of such a repository? This issue has been largely ignored in the past. Accordingly commercial CASE tools suggest mostly ad hoc solutions to this problem. Therefore, we saw a need for a more systematic approach to model the content and operations of a CASE repository and to implement such a (meta)model.
Not surprisingly, over the last few years, metamodeling as an approach for improving ISD methods has gained a growing interest among both academics and CASE tool vendors. Reasons for applying metamodeling approaches in specifying ISD methods are manifold. On the one hand, metamodeling offers a more rigorous way to study and compare ISD methods as well as to "engineer" and to develop new methods. These are of growing importance as new objectives for ISD and its methods' applications continually arise. These include the need to align ISD with business process re-engineering goals and to explore the strategic advantage of IT with the increasing role of inter-organisational ISs. Also wider technical options and solutions, such as object-oriented principles or client/server architectures, raise requirements for altering the methodological basis of software development. Moreover, metamodeling provides a versatile approach for tool developers to improve the companionship between ISD methods and CASE tools.
This more systematic approach to computer support raises a need to develop computerised tools to support the specification and maintenance of such a CASE repository. We call this area computer aided method engineering (CAME). It covers the development of modelling notations, crafting of systematic guidelines to use these notations, as well as principles for managing and using IS model specification base to improve systems development. The area of method engineering covers the specification of the syntax and semantics of modelling notations, specification tasks and their dependencies, and modelling of organisation of tasks of the various actors.
Current CASE tools support mostly methods that were developed in the 1970s. Accordingly, their method support does not fully utilise the enhanced functionality of computer support. Surprisingly, even the recent object oriented methods are rarely designed with computer support in mind. This has led to suboptimal method designs and lower level support for ISD tasks. Therefore, method modelling issues should be also explored from the viewpoint of how to improve methods to be "computer engineered" instead of "paper and pencil engineered".