Cassowary.net is a port of the University of Washington's Cassowary constraint solving toolkit to the .NET platform. It is based on the Java version by Greg J. Badros, which in turn is based on the Smalltalk version by Alan Borning.
Quoting the original Cassowary website:
Note: It is important to keep in mind that Cassowary is not a traditional linear programming solver. Cassowary is optimized for user interface applications, and uses a modified (incremental) version of the simplex algorithm which might yield different results compared with traditional linear programming tools. I have been contacted before by people who were using Cassowary.net as a regular LP solver, but were getting strange results. For more details about the underlying algorithm, have a look at the Cassowary TOCHI paper by Badros, Borning and Stuckey.
The only requirement for Cassowary is the .NET framework version 2.0 (or higher). Cassowary.net was tested with Microsoft's .NET framework as well as with the free Mono implementation. It can also be used with the Compact version of the .NET framework.
The current stable version is 0.2.3:
The code repository is available on Github.
Cassowary.net passes the original ClTests test case from the Java version, and an additional layout management test case. I consider it to be quite stable. Of course, there might still be a few bugs around. If you experience strange behavior, I would appreciate a bug report.
|Kris Luyten, Jo Vermeulen and Karin Coninx.|
Constraint Adaptability of Multi-Device User Interfaces.
In Proc. of MAFOC '06, CHI '06 workshop.