jQAssistant allows to define concepts and constraints for architecture and design of Java applications.