The OCML language was designed and implemented by Enrico Motta in the 90s and it has since been used in dozens of projects both within KMi and in other organizations. OCML provides a very expressive knowledge representation language, which makes it possible to represent classes, individuals, relations, functions, rules and constraints. The resulting �knowledge models� are typically developed as part of knowledge management solutions or intelligent decision-making support systems.
OCML also includes mechanisms for defining ontologies and problem solving methods. Ontologies are specifications of reusable terminologies, while problem solving methods are specifications of reusable problem solving behaviours.