This paper explores the possibility of using formal ontologies to support detection of conceptual errors in specifications. We define a conceptual error as a misunderstanding of the application domain knowledge which results in undesirable behaviour of the software system. We explain how to use formal ontologies, and in particular ontological constraints, to tackle this problem. We present a flexible architecture based on meta interpretation in logic programming in which the specification is viewed as a multilayer design. We illustrate the significance of this approach for the software and ontology engineering community via an example case in the domain of ecological modelling.