Executive summary

MetaPHOR (METAmodeling, Principles, Hypertext, Objects and Repositories) is a three year research project funded by the Academy of Finland, University of Jyväskylä, Technical Research Centre of Finland (VTT) and University of Oulu. The research budget has been around 600 000 USD, and the total number of research man years around 20. The project has been staffed during its operation by 11 full time researchers. At its completion the project has nine full time researchers.

The first research goal of the project is to develop models, architectures, and technological solutions for the next generation of Computer Aided Software/Systems Engineering (CASE) environments. These environments are characterised by a high degree of flexibility which permits the user to configure the methods supported, and the way these methods are supported. Moreover, the environments provide advanced functionality by offering a full suite of tools that allow the use of different representational paradigms (text, graphical, matrix, tabular, hypertext), provide support for concurrent repository retrieval, data transformation and manipulation, and help in the execution and co-ordination of development tasks. Such tools can be called multi-user, multi-tool meta-CASE environments.

The project has developed a prototype implementation of a meta-CASE environment called MetaEdit+ that meets most of the requirements for next generation CASE environments. The project has designed and implemented an architecture for such an environment which allows multi-tool, multi-user concurrent access and management of the CASE repository. MetaEdit+ features an advanced object-oriented modelling paradigm that offers a set of powerful primitives to model development methods. These cover both abstract and concrete inheritance of structure and behaviour, polymorphism, overloading and a class/object paradigm. It extends considerably the earlier modelling approaches by featuring constructs for objects, properties, roles, n-ary relationships, and complex objects called graphs (and projects). Other features include support for cardinality and existence constraints. The modelling power is also extended in an object-oriented manner by offering rules to specify constraints on properties. This data model is called the GOPRR data model. An additional feature of the GOPRR model is the separation of the conceptual and representational constructs and their flexible combination in the modelling environment. This provides a set of default mapping rules to represent any GOPRR instance as a diagram, a matrix or text. This feature is called representational independence (as a continuum for data independence provided by the conceptual modelling paradigm adopted). The GOPRR model also provides, in an object-oriented manner, support for specialised objects which include activity types (to represent processes), their sub-types (steps, checkings, transformations) and user-role types (to capture the developer data and their roles).

Based on the advanced GOPRR-based CASE repository the project has implemented several tools that operate on and display GOPRR data. All these operate in a client server architecture where tools work on data provided through servers on demand. All the data reside in the central repository which can be accessed by several concurrently running tools and users. These tools include a work-space which controls access to different IS models and their types, a drawing tool, a matrix manipulation tool, a repository browser, a hypertext system for dynamically linking and annotating design objects and a suite of tools for modelling and specifying methods (called metamodelling tools). Hypertext functionality is especially needed for user-related adaptability in order to provide support for representations of semi-structured information, especially during the early idea-generating phases of design processes. More generally, this research has raised new software engineering ideas to incorporate customised hypertext functionality into "non-hypertext information systems".

The prototype MetaEdit+ system has been implemented in Smalltalk using the Visual Works programming environment and the ArtBASE object manager for Smalltalk objects. It follows an optimistic concurrency control strategy that locks a minimum amount of data and locking is based on user behaviour rather than on predefined locking schemes. The system runs on most common platforms including Windows, Unix and Macintosh. It is currently one of the most advanced and flexible CASE environments in the world. Under development are tools for form input and access, a visual query system and a transformation system.

The second goal of the project has been to develop a suite of principles which help to engineer methods for a given situation and demand based on the understanding of the method, its likely uses and the clientele. These principles have been tried out to test the modelling power of the GOPRR data model and the method development environment. Covered method specifications include e.g. SSADM, several object-oriented methods, a strategic development methodology called SPITS, and a number of business engineering methods. The project has also outlined foundations for a new approach for method adoption and use in systems development called incremental method engineering. This means that methods can be gradually expanded, refined and formalised based on users' experiences and learning, and the changing demands of the development situation. The MetaEdit+ environment supports this paradigm with its late binding which does not require any separate compilations of method definitions. The project has also expanded and refined the principles of object-oriented design and analysis using metamodelling theory and theories of human cognition. These have been reported in the Cyclic Object Methodology (COM): the object-centred model in which everything is modelled as objects. The implementation of GOPRR has been described using the COM notation.

The project has published 9 journal papers, three books and monographs, 22 conference papers, 6 working papers, 7 licentiate theses (2 under examination), 10 MSc theses, two software documents, and developed a number of novel algorithms.