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
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,
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.
The Mathematical Model Library 0.7.2
mml-0.7.2.zip (released: 16.11.2007)
Tobias' Original Library
This library is just provided for documentation purposes. It
compiles with EiffelStudio 5.4.