3.3.3. Ontology Design

Gruber provides five design principles [86] for the development of ontologies: clarity, coherence, extendibility, minimal encoding bias, and minimal ontological commitment. For ontology design, it is necessary to consider the ontology representation languages including tools to create and manage ontologies. Some standard ontology languages have been established with stable tools for the Semantic Web community, e.g., the Resource Description Framework (RDF) [87], RDF schema (RDFS) [88] and the Web Ontology Language (OWL) [88].

Several features of the Semantic Web languages are important for the ontology development, e.g., Open World Assumption (OWA), Description Logics (DL), and service representation. OWA assumes that knowledge is always incomplete. It is very important because incomplete information is common, and fragments of knowledge are often distributed within multiple ontologies [89]. Comparatively, the Closed World Assumption (CWA) assumes that if a statement cannot be proved to be true then it is false. DLs are formal languages designed for knowledge description and standard reasoning and provide the underlying formal framework for OWL and RDF [90]. DLs are known as the basis for ontology languages and are used to define, integrate, and maintain ontologies [89]. DLs are discussed in [24,48,91].

Together with the introduction of the ontology design. Semantic web services are an integral part of the Semantic Web and aim to be automatically discovered and invoked by computer programs [92]. Therefore, semantic web services must be able to describe the provided information and how this information can be retrieved [93]. A number of languages are available to describe services, e.g., OWL-S [94], Web Service Modeling Ontology (WSMO) [95], WSDL-S [96], and FLOW [97].

• Categories of ontologies

Ontologies can be categorized into three levels: upper ontologies, domain ontologies, and application ontology (shown in Figure 2) [98]. Upper ontologies provide common and consistent concepts that are referenced by other ontologies. Several upper ontologies exist, e.g., Suggested Upper Merged Ontology (SUMO) [99] and DOLCE [98]. Domain ontologies reuse or specialize concepts from the upper ontologies, and specify terms, relationships that are relevant in a particular domain. For instance, the domain ontology in [15] describes the concepts of the process dynamics, control, automation and the services provided by the agents, and defines relevant classes of entities and relations between entities. Application ontologies re-use and extend terms from one or more domain ontologies to apply for a specific application, and generally cannot be reused for other applications.

**Figure 2.** Three ontology levels [98].

In the energy domain, ontologies for complex systems are often separated into a hierarchy consisting of an upper ontology that is connected to several lower-level ontologies representing specific subdomains [100]. The three MASs (MASCEM, ALBidS, and MASGriP) developed by Santos et al. [21,101,102]. Are all framed by an upper ontology, which allows communication between the simulations. However, this approach requires universal acceptance from all entities involved, and the low-level ontology for each layer still needs to be extended. Dam, Nikolic, and Lukszo [103] propose the generic ontology and the case-specific ontology, where the case-specific ontology is a specialization of the generic one and the generic ontology is a generalization of all underlying case-specific classes shown in Figure 3. Dam, Nikolic, and Lukszo [103] also suggest how to decide on the borders of the generic and domain-specific class in ontology. In [85], the ontology is divided into smaller building blocks, which makes it easier to modify and reuse in other models. [16] proposes a hierarchical ontology for the energy supply structure of buildings (shown in Figure 4). This proposed hierarchical ontology aims to investigate the interaction between energy flows on different aggregation levels within a building.

**Figure 3.** The border between generic and domain-specific class in an ontology [103].

**Figure 4.** A hierarchical ontology for the energy supply structure of buildings [16].

• Ontology mapping

MASs are usually developed independently and may not use the same upper ontologies. Therefore, ontology mapping is needed when an application requires access to multiple individually created

ontologies. The mapping between ontologies can take much work [104], and there are several ontology mapping tools available [105]. Among the selected literature, ontology mapping is discussed and presented in [9,21,49,91].

• Ontology development tools

There are many tools for developing ontologies [106], e.g., Protégé (https://protege.stanford.edu/) and SWOOP [107]. Protege is well established and used by a large user community. For instance, Protege is used in the selected literature [23,24,48,50].

• Ontology development process

Ontology development processes is a relatively new field of study, including ontology life cycles, methods, and methodologies for building ontologies [89]. [108] introduces a methodology for ontology development including three phases: specification, conceptualization, and implementation. Noy and McGuinness [76] propose a more detail and practical ontology development process with seven steps which have been popularly used:

