Transactions on Information and Communications Technologies vol 4, © 1993 WIT Press, www.witpress.com, ISSN 1743-3517

Designing for quality with the

metaparadigm

P. Kokol

o/

ABSTRACT

Our practical experiences and theoretical research in the field of software and its management have resulted in the conclusion that to enable the design of quality software systems in any design situation we must first design an appropriate . This activity was called the and a metadesign paradigm a metaparadigm. Following recent scientific findings we decided that a metaparadigm should be pluralistic, useful, systemic, easy to use and recursively adaptable. It should be composed out of a suitable framework, theory and a metadesign methodology and philosophy. Currently we have designated the idea of a process as the framework, the Checklands Soft System Methodology as the methodology and philosophy, and the process formalization (metamodeling) as the theory.

INTRODUCTION

Designing for Quality The process that underlines is critical in determining what products are successful. We agree with the belief (Basili^) that the software quality will be quantified and brought to the center of the design process. It is clear that the ultimate quality goal is the user satisfaction (Kokol*' , Basili^). But the quality is not a single idea, it is a multidimensional concept. The dimensions of quality include entities of interests (final and intermediate products, and process components), viewpoints on that documents and quality attributes. Quality

Transactions on Information and Communications Technologies vol 4, © 1993 WIT Press, www.witpress.com, ISSN 1743-3517

150 Software Quality Management

attributes contain such attributes as reliability, readability, elapsed time, portability etc. To achieve the quality it is not enough to test the final product according to desired quality attributes, we have to design for quality. That means that every entity and every view to these entities should posessjall needed quality attributes. Indeed, the quality is required in every phase of the software system life cycle. Therefore, to meet above quality objectives an appropriate quality-oriented design process is indispensable. In the manner to have such processes we need suitable process models and suitable design paradigms. But that's not enough - according to the complexity of above processes we have to design, measure and manage them. In this paper we have* concentrated on the first topic: namely designing software design paradigms.

Metaparadicnn and Ideas Behind It Usingrecentresults(Brooks ,Checkland , Dickson ) from the system and we conclude that the software system design:

- is a human activity system (Checkland-*) ;

- is a process (Osterveil^) performed in a specific design situation, according to a specific design paradigm;

- is a goal-oriented decision making exploration and learning activity;

- occurs in two contexts: the context within which the operates and the context produced by the designing design itself. Analyzing design processes, design situations, design paradigms and relations between them (Kokol°) we found that:

- there are no absolute good or bad design paradigms, they perform good or bad only in specific design situations;

- there are design situations for which no known design paradigm is appropriate.

Congruent to the above findings we contend that to enable successful software system design in any design situation we must first design an appropriate design paradigm. This activity was called the metadesign and a metadesign paradigm a metaparadigm. METAPARADIGM

Before describing the metaparadigm in more detail we would like first to define the idiom paradigm. According to some basic denotations stating that the paradigm is

Transactions on Information and Communications Technologies vol 4, © 1993 WIT Press, www.witpress.com, ISSN 1743-3517

Software Quality Management 151

(1) a set of universally recognized scientific achievements that for a time provide a model of solutions to the community of practitioners or

(2) a set of meta-theoretical assumptions about the nature of the subject of study, we have defined it as a pattern for executing actual actions in the real world.

Using the last denotation we claim that the SS design paradigm is a pattern for executing actual SS design actions in designing real-world SS applications and the metaparadigm is a pattern for executing actual design actions in designing real world-design paradigms.

An adequate metaparadigm should permit the following minimal set of activities:

- formal description of design paradigms, design process and design situations;

- formal evaluation and comparison of design paradigms;

- metadesign of design paradigms, where metadesign is treated in a very broad sense as invention of new design paradigms, adoption of known design paradigms, composition of known design paradigms, selection between design paradigms etc.; and

- learning and accumulation of new knowledge.

Emphasizing the above arguments and respecting recent scientific findings (the crisis of the traditional scientific approach (Checkland^), tendency toward more softer system thinking (Checkland^), research paradox (Kokol®) and the software crisis (Kokol^) we decided that a metaparadigm should be pluralistic, useful, systemic, easy to use and recursively adaptable (recursive adaptability states that a metaparadigm must be an iterative learning system accumulating new knowledge about metadesign, software system design and related). It should be composed out of a suitable framework, theory and a metadesign methodology and philosophy. In our first attempt we have designated the idea of a process as the framework, the Checklands Soft System Methodology (CSSM) as the methodology and philosophy, and the process formalization (metamodeling) as the theory. Some important arguments for the selection were: the

Transactions on Information and Communications Technologies vol 4, © 1993 WIT Press, www.witpress.com, ISSN 1743-3517

152 Software Quality Management

applicability of CSSM for researching human activity systems, the similarity between definitions of a process and a human activity system, and a strong relationship between a process and its forma1i z at ion.

product/ customer

document

role \attribute

> activity

-» information flow

Figure 1. The BSM metamodel

Process and its Formalization An SS design process is defined as a collection of related activities, seen as a coherent process subject to reasoning, involved in the production of a software system. Its formalization requires to identify a clear hierarchy of concerns, from metamodels that establish a linguistic framework for reasoning about the subject, down to the structure of particular tools. The main goals, of the formalization are to provide a framework (Kokol*) which should: enable a linguistic support to describe, compare and contrast processes and its derivations;

support reasoning in the manner to demonstrate equivalences, pinpointing differences, measuring etc.

Transactions on Information and Communications Technologies vol 4, © 1993 WIT Press, www.witpress.com, ISSN 1743-3517

Software Quality Management 153

processes and its derivations;

- support the automatization of the activities performed during the development process.

There are many views (management, technical, psychological, communication etc.), dimensions (political, cultural, social, technological etc.), levels (general, custom, specific, etc.) of the SS design process and it is clear that all it's instances can not be described with a single metamodel. Figure 1 presents a simple metamodel called BSM used for describing some important aspects of the SS design process. Checkland's Soft System Methodology (CSSM) Following recent research which shows that the conventional scientific approach is not successful in solving unstru- ctured and complex real - world problems, we have selected the CSSM (Checkland^) as the appropriate paradigms design methodology. The CSSM uses system ideas to formulate basic mental acts of four kinds: perceiving, predicting, comparing and deciding on actions. The CSSM begins with a soft and unstructured expression of a problem situation, and continues with the definition of some human activity systems which seems relevant to the problem situation, named root definitions. Every root definition should include six crucial characteristics namely Customer, Actor, Transformation, Weltanschauung, Owner and Environment (CATWOE elements). These definitions are used next as the basis for making conceptual models of systems being selected. After the model is built it is compared with the situation perceived. The primary aim of the comparison is to comprise a debate, discussion or argument out of which suitable changes can be made. Once the debate stages have revealed possible changes, then the new problem situation becomes that of implementing these changes in the real world. The CSSM never solves problems out of existence, it is just the never ending learning process which should possibly improve the problem situation, and enables with the gained new knowledge to start another cycle of learning.

METAPARADIGM AND SS DESIGN

Designing software systems with the metaparadigm proceeds as presented in Figure 2 and requires the collaboration of three groups of customers: users, design group and paradigm design group (Figure 3).

Transactions on Information and Communications Technologies vol 4, © 1993 WIT Press, www.witpress.com, ISSN 1743-3517

154 Software Quality Management

use evaluation design description -

I I invention reuse adaption instanation customization.* i i i

SS design paradigm SS design approach

SS design process

Figure 2. The use of the metaparadigm in SS design

According to one of the most important metaparadigm's feature that the design process is an infinitive learning loop, the SS and the ISDP design should advance in parallel. As the consequence the ISDP appears in three different forms during its life cycle (Figure 4.). During the Phase 1 an intuitive (prototype) of the ISDP is constructed which reflects the initial users and design group visions about the ISDP. The Phase 2 is similar to Phase 1 except that the ISDP design is performed in a much more precise way. The outcome of the Phase 2 is an initial ISDP which is in the case of new requirements, conflicting situations, new customer groups, changing environment etc. improved or adapted during the Phase 3. While in Phase 2 the intuitive ISDP is used in designing of some preliminary ISP versions, and in Phase 3 the initial or adapted ISDP is used to design the final SS.

Transactions on Information and Communications Technologies vol 4, © 1993 WIT Press, www.witpress.com, ISSN 1743-3517

Software Quality Management 155

P's knowledge

D's knowledge U's requirement Temporary system

IS Ds knowledge

Requirement

Requirement

Ps knowledge ISDP

IS ISDP

Figure 3. The temporary SS design system. U is the user, D the design group and the P the paradigm design group.

CONCLUSION

The aim of this paper was to introduce the metaparadigm and present its applicability in designing for quality. It is believed and confirmed with real world examples that using the metaparadigm can enhance many SS design weaknesses and as a consequence result in quality software and quality oriented software system design processes and paradigms. The greatest advantages of the metaparadigm are: pluralism, the strong theoretical base, it can be used in any design situation, it can be tailored for personal needs, and it is systemic, easy to use, learn and teach. Its greatest weakness is relative immaturity. In future .work we must first empirically research and test its use in many various design situations. Next we have to construct some computerized tools which should support metaparadigms basic functions and finally we need to research the possibility to extend, adapt and improve its

Transactions on Information and Communications Technologies vol 4, © 1993 WIT Press, www.witpress.com, ISSN 1743-3517

156 Software Quality Management

PHASE 3 ISDP improvement I

PHASE 1 PHASE 2

ISDP

design using desigi1 14, IS ISDP, iiQinn TCRP

Figure 4. The SS development process using the metaparadigm.

Transactions on Information and Communications Technologies vol 4, © 1993 WIT Press, www.witpress.com, ISSN 1743-3517

Software Quality Management 157

theoretical base.

REFERENCES

1. Basili, V. (1991). The Future Engineering of Software: A Management Perspective. IEEE Computer. 24. 90-96.

2. Brooks, P. F. (1987). No silver bullet: essence and accidents of software engineering. IEEE Computer, 20. 10- 19.

3.Checkland, P. (1981). Systems Thinking, System Practice. John Wiley and Sons, Chichester.

4.Kokol, P. (1989). Some notes on developing reliable medical software. MEDINFO'89. Barber B. et al (eds.). North-Holland, Amsterdam, 294-29

5.Kokol, P. (1989). Formalization of the software development process using meta-models. ACM Software Engineering Notes, 14(4). 118-123.

6.Kokol, P., B. Stiglic, V. Zumer, B. Novak (1990). Software crisis and new development paradigms or how to design reliable medical software. CBMS 90. Nagle T (ed.) IEEE CS Press, New York, 137-144. 7.Kokol, P., B. Stiglic, V Zumer (1991). New Evaluation Framework for Assessing the Reliability of Engineering Software Systems, RRES'91. BrebbiaC. A., Ferrante A. J. (eds.), CMI and Elsevier, 174-184.

S.Kokol, P., B. Stiglic, V. Zumer (1992). Software Design Tools Evaluation in the Context of a Netaparadigm, SAOD'92. E. Nahouraii (ed.) IEEE CS Press, New York, 34- 41.

9.Osterveil, L. (1987). Software processes are programs too. ICSE 87. Riddle W E (ed.). IEEE CS Press, New York, 2-13. lO.Sorensen, P. G., J. P. Tremblay, A. J. McAllister (1988). The Metaview System for Many Specification Environment. IEEE Software. 2. 30-38. ll.Tracz, W. (1991). A conceptual model for megaprogramming. ACM Software Engineering Notes. 16(3), 36-45.

12.Dickson, B. (1989). Developing quality system. Me Graw Hill, New York.