User Tools

Site Tools


eiffel:bon:start

BON/UML

BON provides a textual and graphical notation for modelling the static and dynamic structure of OO software:

  • BON has strong support for providing precise specifications of re-usable, industrial strength components via Design by Contract (preconditions, postconditions and class invariants), which includes subcontracting via the inheritance relationship. See example below.
  • It supports a seamless method for turning software construction from specification to implementation into a single continuous process.
  • It supports reversibility which is the ability to go back from implementation to specification.

Here is an example of a contracted class CITIZEN using the BON notation:

BON Predicate Logic

In BON diagrams, use mathematical notation to express contracts. See the BON textbook for more examples.

BON is described in depth in the book Seamless Object-Oriented Software Architecture, Prentice Hall, 1994, by Kim Waldén and Jean-Marc Nerson. The textbook is now out of print but available from the BON website as a pdf.

Older Drawing Tools

The graphical shapes of BON can be drawn using Microsoft Office Visio. We use draw.io instead.

eiffel/bon/start.txt · Last modified: 2019/02/14 18:45 by jonathan