# Ontology-Based Production Simulation with OntologySim
## 2 Foundation
### Ontology  
The term ontology was initially coined in philosophy and describes the semantic representation of existence. For today's problems, the term ontology is often associated with the term knowledge-base [8]. For the exact definitions of an ontology, there are multiple versions available, but, for this application, the following definition is quite appropriate [9]:  
The formal description of an ontology is  
\[O=(C,R,A,Top),\]  
where \(C\) is the set of all concepts, \(R\) the set of all assertions, and \(A\) the set of all axioms. \(Top\) defines the top level of the hierarchy. \(R\) contains the two subsets \(H\) and \(N\), where \(H\) is the \"set of all assertions in which the relation is a taxonomic relation\" [9], and \(N\) \"a set of all assertions in which the relation is a non-taxonomic relation\" [9]. An instantiated ontology can best described with the term knowledge graph, where concepts refer to vertices, and relations refer to assertions that signify the type and structure of the relation between two concepts. The strengths of an ontology compared to object-oriented languages (OOL) are \"reuseability, interoperability, flexibility, consistency and quality checking and reasoning\" [10]. In the field of OOL, there are only UML diagrams that offer a similarly good basis for reuse and interoperability. However, implemented applications are often incompatible, even if stated with the same UML diagram. Furthermore, reasoning, by design achievable with ontologies, offers classification, consistency checking, and knowledge extraction, which can only be achieved with significantly more effort in OOL [10]. Figure 1: Outline of an ontology-based simulation model. To take full advantage of an ontology, five design principles have been established [8]. These are named and briefly explained below:  
* _Clarity_ pursues the goal to design definitions objectively and formally and to prefer fully consistent definitions whenever possible. * _Coherence_ is the property of being logical and consistent. * _Exendability_ allows the ontology to be extended or modified regarding new relations and vocabularies. * _Minimal encoding bias_ means that the chosen representation goes beyond the current implementation to ensure knowledge-sharing over the current use-case. * _Minimal ontological commitment_: An ontology should have few requirements and restrictions on the modeled world to represent specialized and individual circumstances. These design principles are also applied to the OntologySim, with a focus on \"minimal ontological commitment\" and \"minimal encoding bias\". The goal of the OntologySim is to represent diverse production types and characteristics in the best possible way to be able to map complex and individualized production plants with all their characteristics to an ontology. One classification of ontologies is based on a three-step approach that classifies an ontology based on the scope of concepts that are included: (1) general ontologies, including cross-divisional concepts, (2) top level ontologies, focused on a particular application, and (3) domain ontologies, that translate known class and data models [11]. Another classification can be based on the purpose of an ontology, which can be limited to communication enablers, where agents derive their communication convention from a commonly accepted ontology, the purpose of automatic reasoning to identify new concepts and relations or the purpose of representation through knowledge reusability [12]. Typical languages for the description and exchange of ontologies in the wake of the Semantic Web Initiative [13] are the Resource Description Framework (RDF), initially developed to describe metadata by describing resources with characteristics and links to other resources, and the Extensible Markup Language (XML), developed to annotate and describe data and documents.