Qoca

Last updated

QOCA is a library for incrementally solving systems of linear equations with various goal functions. It was developed by Kim Marriott and Sitt Sen Chok at Monash University, starting in 1992. The library provides three different solvers, one of which is based on the Cassowary algorithm. It can provide linear equalities and inequalities, using either Euclidean or Manhattan distances. C++ and Java implementations are available. [1]

QOCA follows an object-oriented design. Its interface is based on metric space. Constraints can be added or removed, and “edit” variables can be applied and adjusted. It was designed to be suitable for real-time applications. [1] In a 1997 technical report comparing QOCA to Cassowary, researchers described the former as being “considerably more sophisticated” and having “much better performance” than the latter. [2]

QOCA is licensed under the GNU General Public License, version 2. [3]

References

  1. 1 2 Marriott, Kim; Sen Chok, Sitt (July 2002). "QOCA: A Constraint Solving Toolkit for Interactive Graphical Applications". Constraints. 7 (3). Springer: 229–254. doi:10.1023/A:1020513316058 . Retrieved September 7, 2025.
  2. Borning, Alan; Marriott, Kim; Stuckey, Peter; Xiao, Yi (September 1997). Solving Linear Arithmetic Constraints for User Interface Applications: Algorithm Details (Technical report). University of Washington Department of Computer Science & Engineering. 97-06-01. Retrieved September 7, 2025.
  3. "Downloads". Monash University School of Computer Science and Software Engineering. Archived from the original on July 29, 2003. Retrieved September 7, 2025.