1. A Meta Model for building a knowledge-oriented software application using an object-oriented programming language, the Meta Model comprising: a Meta Knowledge Model comprising a specification of how the knowledge-oriented software application represents knowledge; a Meta Logic Model comprising a specification of how the knowledge-oriented software application derives new knowledge; a Knowledge Definition Model comprising a specification of how the knowledge-oriented software application is converted from a human-readable format to executable code; a Catalog Model comprising a specification of how the knowledge-oriented software application organizes the knowledge within an electronic device; and a Run-time Model comprising a specification of how the knowledge-oriented software application enables concurrent clients to manipulate the knowledge stored in the electronic device.