Notation

The diagram tool uses the BON (Business Object Notation) to represent Eiffel systems. This article will give a summary of all components of an EiffelStudio diagram. For detailed information on BON, please read Seamless Object-Oriented Software Architecture by Kim Walden and Jean-MarcNerson, Prentice Hall 1994.

Class

A class is represented by an ellipse(sometimes referred to as bubble). It contains the class name and formal generics of the Eiffel class it represents. Second, it displays information about properties of a class. These properties are:

  • Deferred: class is declared as deferred.

  • Effective: class is not deferred and has at least one deferred parent, or redefines one ore more features.

  • Persistent: class inherits STORABLE or has indexing tag persistent.

  • Interfaced: class has one ore more external features.

  • Reused: class resides in a precompiled library or in a library cluster.

  • Root class: class has the program's entry point.

See Also:
Changing class names

Cluster

A cluster is a collection of classes and sub-clusters. It is represented by a stippled, rounded rectangle. The cluster name is in a similar rectangle, by default located at the top of the cluster just outside of it.

A cluster can be iconified, which means it is minimized to take up as less space as possible.

See Also:
Iconifying a cluster

Inheritance links

Inheritance between classes is represented by an arrow from a class to its parent. Typically, inheritance links point upwards.



See Also:
Creating inheritance links

Client/supplier links

Client relationships between classes are represented by an arrow with a double line from the client to the supplier. Typically, these links point to the right.

A special kind of relationship is the aggregate client/supplier link. Aggregate means that the supplier is an integral part of the client. In the class text, it corresponds to expanded features. In the diagram, an aggregate link has a little line along the back side of the arrow.

See Also:
Creating client/supplier links