3.4. Object-oriented design and method engineering

The lack of proper definitions of terms used in the area of object-oriented approach is the main reason for defining the conceptual kernel of COM Methodology. We have also searched the origin of the concept of an object. Commonly the object is defined from the viewpoint of programming languages, but it can also be defined from the viewpoint of human cognition.

At the moment there exist a lot of methods for object-oriented development. Those can be classified into modified structured methods and "pure" object-oriented ones. COM Methodology is regarded as a pure one. We call it object-centred, which means that everything in it is modelled as an object. This kind of approach helps us to move between meta-levels (reflectiveness) and to define effective schemes for re-use.

Graphical notations are needed to support any methodology in design, communication etc. One problem in object-oriented notations is their semantic richness (see Rumbaugh, 1991; Booch, 1994), which is shown in a large amount of symbols and a rich set of rules how to use them. Therefore, a large number of trade-offs, e.g. between expressive power and simplicity, occur when defining a notation. In particular, we have studied the "optimisation" problem between the expressive power and the learnability of notations (Oei et al., 1992).

3.4.1. Objectives

In this research area we have set the following objectives:

to define the concept of an object with the purpose to find out what kind of assumptions are included in its definition.

to distinguish the methodology concepts from the kernel object-oriented concepts. This is done in order to have a generally applicable kernel and at the same time an efficient framework for engineering method concepts.

to develop a graphical notation for the kernel and to investigate the problem of correspondence of the kernel concepts and its graphical notation in a real CASE environment.

to define the principles for a computer assisted COM Methodology environment (CACOME), which takes the advantage of object-centredness, reflectiveness, adaptability, and applies hypertext technology.

3.4.2. Research results

The COM Methodology framework is based on a conceptual kernel called COMKernel. It is defined using the results in cognitive science (like (Neisser, 1976), (Eysenck and Keane, 1992), (Määttänen, 1993) and information processing science (Iivari, 1991; Odell, 1989; Martin and Odell, 1992; Wirfs-Brock, 1990). Results are described in (Lehto, 1994a). Comparisons have been made between the kernel and other meta-level conceptual frameworks. One of them is GOPRR.

The graphical notation for the COMKernel is COMNotation. It has been defined using MetaEdit. It has also been used with many examples in many occasions during the project. The paper to describe COMNotation and its definition process is under way (Lehto, 1994b).

The methodology framework has been defined in Jari Lehto's licentiate thesis (Lehto, 1993). Examples of the usage of COM methodology have been derived. One example deals with car rental.

The tool environment, CACOME, is under preparation. The user interface for CACOME has been presented through a high level prototype (Arttijeff, 1992). The graphical language tool has been defined in MetaEdit and will be transferred into the MetaEdit+ environment. The implementation of the methodology library is currently prototyped using VisualWorks (Visual Works, 1992).

3.4.3. Future plans

Future plans include the completion of a doctoral dissertation (Jari Lehto) as a monograph. The circular (incremental) definition process of COM is described, and the design principles of CACOME are represented. Moreover, some experiments of its use are reported for evaluation. The kernel and methodology concepts are compared with other conceptual kernels. The emphasis of the dissertation will be placed on the theoretical background rather than on the practical tool environment.

More comparisons are needed with approaches like OMG (Object Management Group) framework, Smalltalk conceptual kernel, and IFIP WG 8.1 task group FRISCO's work.

Currently we are studying how to implement the repository using MetaEdit, which will be the central store of all conceptual definitions. Another goal is to use the COM Methodology in a real life project and to obtain experiences of its use.

3.5. Other topics

Researchers in the project have also collaborated in developing and testing complexity and size measurement tools in a CASE environment. In particular several statistical experiments have been carried out where the statistical relationships between well-known size metrics in structured analysis methods have been tested. These have been published in papers (Rask et al., 1992 and 1993).

Juha-Pekka Tolvanen has participated in FEND, a network of universities, researchers, and IT companies aiming to develop IT induced business development practices.

Professor Lyytinen has participated in European co-operation on CASE tools which involve CSCW aspects. This has taken place in the context of COST14-program. He has also evaluated two ESPRIT BRA projects in the areas if requirements engineering and co-ordination theory.

Professor Kerola has participated in the international co-research studying the cultural variations in the use CSCW groupware -- indirectly the results are applicable for the context of CASE environments.

Both professors Kerola and Lyytinen have been external members of the FRISCO group and participated in the evaluation of its results. Prof. Lyytinen has also participated in the work of the IFIP WG 8.1/8.2 task group on method engineering. He will be the general conference chair for the joint working conference on the topic in 1996.

Matti Rossi has participated in central Finnish companies method development project JEE/JOO during winter 93-94.

Marian Smolders used MetaEdit to model and evaluate several proposed models of keeping track of design rationales. The results are published as her master's thesis (Smolders 1993).

Some leftover work from a previous project has been done on the introduction of CASE technology in organisations. This has been mainly carried out by Veli-Pekka Tahvanainen and was temporarily assisted by Marko Muotka.