1. Introduction

MetaPHOR forms a three year research project funded by the Academy of Finland, University of Jyväskylä and University of Oulu. Its estimated total budget has been approx. 600 000 USD and the total number of budgeted man years about 20. The research carried out in the project drew upon the research results and tools developed at the University of Jyväskylä in project SYTI, which developed one of the first configurable metamodeling editors (MetaEdit) (Smolander et al., 1992) for methodology engineering.

1.1. Background

Interest in Computer Aided/Assisted Software/Systems Engineering (CASE) has been spurred on by the rapid advances in computing power, object-oriented database management techniques and graphical interfaces. As a result, numerous integrated tools and support environments have been launched over the last few years.

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".

1.2. Project goals

The acronym MetaPHOR stands for: Metamodeling, Principles, Hypertext, Objects, and Repositories. The main goal in this research project was to develop architectures, models and technical solutions for the next generation of configurable CASE environments and principles for their effective use through method engineering. A simple way to describe our research topic is to characterise it as a development of an application generator for CASE tools. Moreover, we see these tools as special kinds of (meta-) information systems that provide intelligence aids for designers and other developers. The special feature of configurable CASE tools is that they can be designed and implemented to meet varying needs of designers. The development of the environment is founded on the application of emerging object-oriented modelling philosophies, distributed computing environments, object-oriented implementation tools and modern user interaction management systems.