DJ is a very simple constraint language. On one hand, it extends Java by supplying it with a search engine. On the other hand, it improves the current constraint languages in that problems and solutions can be described in the same language, and the solutions can be shown over the internet.
The current implementation still has several limitations: First, it cannot handle dynamic changes in layouts. Due to this limitation, DJ cannot be used for constructing graph editors. Second, it does not support constraints over floats and thus cannot be applied to many engineering fields. Third, the base class library is very limited and should be extended. Last but not least, the performance is still not satisfactory, especially when there are a large number of graphical components involved.