Architectures for knowledge based simulation and their suitability for natural language processing