*2.8. Intelligent Reasoning of IRRHEM*

Regardless of the tools, their formalisms, or methods of inference, knowledge-based systems, such as expert systems, are based on a clear separation between knowledge and methods of inference [27]. Thus knowledge, instead of being nested in the structure of the program (such as, the "if ... then ... else ... " commands of a programming language), is considered as interchangeable data, susceptible to change [28]. It can be corrected, updated, and exploited by programs (inference engines), which simulate reasoning mechanisms and provide the interface with users [29]. Then, in any knowledge-based system or expert system, the following components will be found at the base:


IRRHEM is based on intelligent reasoning rules formulated by predicate logic and facts, whereby all the rules are loaded for the accomplishment of the tasks (Figures 5–7).

• Rule 1 (R1) is concerned with adjusting the temperature in a specific place at home according to the wishes and the desires of residents. The use of this rule allows the cooling to stop when the temperature becomes less than 28 degrees Celsius.


#### **Figure 5.** Rules 1–3.

#### *2.9. Ontological Data Editing*

In computer science, ontology is a technical term that denotes an artefact designed to be able to model the knowledge of a real or imaginary domain [33]. One of the first objectives of developing ontology is to share the same understanding of the structure of information between people. There are different reasons why it is necessary to develop ontology [34]:


#### **Figure 6.** Rule 4 and Rule 5.

**Figure 7.** Rule 6 and Rule 7.

There are many free editors, such as Protégé 3.5, SWOOP, Ontolingua, KMgen, IsaViz, and DOE. In this category of publishers, the best known and the most used is Protégé. It is an open-source tool developed by Stanford University [35]. Since its first version, it has significantly evolved and continues to evolve rapidly (Figure 8).

The "Protégé" software is employed to edit and read the "IRRHEM" ontology, where all hierarchical categories are created for each concept with its properties and relationships. Intelligent thinking rules are also an important part of implementing the proposed solution, as additional components are used, such as SWRLTab for Protégé 3.5, which provides the SWRL and SQWRL rule execution environment [36]. The next step is to use the debugger in "Protégé" to check the correctness and consistency of the information entered in the previous stages. In addition to that, we relied on previous ontology solutions, through the process of importing them, which allowed us to save a lot of time and effort. Finally, the language "JAVA", can be used to develop IRRHEM modules.

**Figure 8.** Editor "Protégé" graphical interfaces.

In the first step, the concepts of IRRHEM are introduced. The following steps concern editing the relationships and instances. The final step concerns the editing of the intelligent reasoning rules.
