MML - The Mathematical Model Library


MML is a library of side-effect-free mathematical models that can be used for contracting classes with the Design by Contract approach.

Eiffel uses standard boolean expressions of the language to describe the behavior of classes. These boolean expressions do not have the possibility to express complex properties of objects.

MML provides an implementation of typed set-theory on the basis of an object-oriented library. By using the classes from the library, it is possible to translate first-order predicates into standard Eiffel contracts.


  • 2007-11-16 - Release 0.7.2
    Bugfixes due to running the system through auto_test.
  • 2006-08-31 - Release 0.7.1
    Made all expanded classes with generic parameters to be reference classes, as the Eiffel compiler chokes on them.
  • 2006-08-31 - Release 0.7
    Updated version of MML. Many renamings that make it easier to read MML expression. Sequential composition added.
  • 2006-03-10 - Release 0.6
    New release of MML, including bug fixes, graph class, linked list example and cleaned up directory hierarchy.
  • 2005-08-26 - Reimplementation started
    I have started to reimplement the library as provided in Tobias' thesis. The current version would not compile under EiffelStudio 5.5 or later. The reimplementation includes also major changes to the interface. It removes the dependency relation between MML and EiffelBase. This is critical, as I want to contract EiffelBase with MML later on.


  • Bernd Schoeller, Tobias Widmer and Bertrand Meyer, Making specifications complete through models, to appear in Architecting Systems with Trustworthy Components, eds Ralf Reussner, Judith Stafford and Clemens Szyperski, Springer-Verlag Lecture Notes in Computer Science, vol. 3938, 2006.
  • Bernd Schoeller. Strengthening eiffel contracts using models. In Hung Dang Van and Zhiming Liu, editors, Proceeding of the Workshop on Formal Aspects of Component Software FACS'03, number 284 in UNU/IIST Report, pages 143-158, September 2003.
    PDF, BIB


  • The Mathematical Model Library 0.7.2 (released: 16.11.2007)
  • Tobias' Original Library
    This library is just provided for documentation purposes. It compiles with EiffelStudio 5.4.