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 onedeferred
parent, or redefines one ore more features.
- Persistent: class inherits
STORABLE or has indexing tagpersistent
.
- 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.
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.
Inheritance links
Inheritance between classes is represented by an arrow from a class to its parent. Typically, inheritance links point upwards.
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.