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.
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
- Effective: class is not
deferredand has at least one
deferredparent, or redefines one ore more features.
- Persistent: class inherits
STORABLEor has indexing tag
- Interfaced: class has one ore more
- Reused: class resides in a precompiled library or in a
- Root class: class has the program's entry point.
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.
Inheritance between classes is represented by an arrow from a class to its parent. Typically, inheritance links point upwards.
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.