CardWorld is a small well defined pragmatic domain developed to build and test working models of natural language understanding such as English.  It consists of manipulating playing cards with which a human user can converse in English with an agent within the defined limits of the grammar and semantics.  The agent can shuffle, stack and sort cards, turn them over,  spread them out face up or face down on a surface. We have CardWorld Version 2  demo on the Java Web Start platform. The source is posted on  GITHub

Launch CardWorld on Java Web Start