Semantic controller