(ref.doc)meyer 180194

Next kanze 200194 Prev: wdr 170194 Up: Usenet

Note:
 meyer

The EiffelBase libraries (also known as just Base) developed by
ISE over a period of almost ten years include several hundred
classes and fundamentally rely on multiple (and repeated) inheritance.
This is too mild a statement: they could not have been produced
without these facilities.

They are documented in detail in the following book
(pretty thick: > 520 pages) :

	Reusable Software: The Base Object-Oriented Component Libraries

to be published early March (it will be available at TOOLS EUROPE)
by Prentice Hall. I don't have the ISBN number here.

The book also describes in detail the underlying library
design method and the use of multiple and repeated inheritance
to achieve a quality library. It describes a ``Linnaean approach''
to software construction based on a systematic classification
of fundamental software structures, using multiple inheritance.
The book gives the inheritance hierarchies corresponding to
that taxonomy.

A quick check on 183 classes gives the following figures:

	- Average number of parents for a class: 1.25.

	- 1 class has five parents; 4 classes have four parents;
	14 classes have three parents; 31 classes have two parents;
	105 classes have one parent; 28 classes have no parent.
	 

The same principles have been applied to the design of the
significantly larger EiffelVision library, which covers
platform-independent graphics and user interfaces (and is based
on EiffelBase).  Here are the figures for 537 classes
of EiffelVision :

	- Average number of parents:

	- Maximum number of parents: 7 (one class)

	- 2 classes have six parents, 11 have five parents, 32 have four
	  parents, 61 have three parents, 94 have two parents, 211 have
	  one parent, 125 have no parent.

These last figures are interesting since EiffelVision is closer to a
typical application library (as opposed to a fundamental library
such as Base), yet the level of multiple inheritance remains quite high,
and in fact a larger proportion of classes have a high number of
parents.

The book gives many other measurements on Base and Vision, in particular
with respect to class size (a notion that it tries to define precisely),
average number of arguments to features (found to be quite small
thanks to the principles of the method) etc.



automatically generated by info2www version 1.2.2.8