| Semantic Finite State Engine by Jeroen Lapré 11Oct2K7 A proposal for dynamically generating executable object oriented software code from semantic real-world models. Related projects: Commontology Stateless and Finite State Machines An ontology, such as one defined in OWL, tends to be a static model of some knowledge. i.e. a collection of classes and attributes with constraints between them. The ontology may change through updates (improvements in the model), but it does not change it's state. Ontologies are a powerful way to author knowledge in a computable manner, though queries and inferencing. Whereas when an object oriented software programme is executed, e.g. Java, it is a finite state engine. i.e. class attributes change values over time, and therefore change state. Intuitive Onotologies If an ontology is modeling concepts based on a natural langauge, such as English, the concepts are intuitive. e.g. Physical Thing: Car, Table, House, etc; Verb: Move, and it's subclasses Walk, Swim, Fly; Adjectives: Fast <=> Slow, Light <=> Heavy. Semantic Genotype / Object Oriented State Engine Phenotype An English Noun/Verb/Adjective Ontology could be mapped to an objected oriented programming language: Noun->Class Verb->Class Method Adjective->ClassAttributes Benefits Human Readable / Self-Documenting Class, Method, and Attribute Naming conventions. Intuitive behaviour in software code. Ontology authoring, and consistency checking as a highlevel software debugging tool. Applications
Language to Logic Translation with PhraseBank Semantic Web / Ontology Authoring The Semantic Web Protege/OWL OWL Cyc.com OpenCyc.org OpenCyc for the Semantic Web Opencyc Web Services The CycFoundation Software Development Java JXTA Contact: madmemelabs@distant-galaxy.com |
|