Building a new Add-on (Ontology --> OpenHab Rules)

Hello,
I am a student in DHBW Mannheim and I am working on my bachelor thesis there. My Bachelor Project is to Develop an add-on on the openHab Software. The Purpose of the add-on is to be able to read an ontology design and interpret it and take from it the rules and convert them to openHab Code. the ontology design is basically a diagram where entities represent things and applying on the rules to help whatever the purpose is. “Security, etc.”. I just finished the openHab Documentation to familiarize myself with openHab and developed some small scenarios on it. I am just seeking guidelines and headstart for developing this add-on.
Thanks,
Mohamed Hesham Elganainy (MHGanainy)

Thats rather ambitious and very complex. You got any ontology designer in mind?
Semantic web, inference engines. I know what you are trying to do.

But I would suggest do something simpler and concrete that helps the project. There are plenty of interesting problems that community has prioritised.

Thank you Diyha.
But as i said above this is my bachelor project and i am not in control of changing it.

No I don’t have an ontology designer. But i am also asked to be creative and design one.

You said that there are complexities. In what scope are you saying this?? And what are they that you see.

I forgot to add that i am going to develop this in JAVA and i will start coding on the add-on repo right?

Is there some hint or advice you could give me

Before you accept a BA thesis you should be familiar or have a rough idea about all related topics.

The basics:

  • Java 8
  • OSGi concept
  • The Maven buildsystem / eclipse IDE
  • Git

openHAB currently changes its buildsystem and it is a bad timing to start developing at the moment. There are basically no guides existing yet and you will have to do quite a few things from the command line at the moment.

You also need to know about openHAB itself:

  • How to provide Things / channels to the core
  • How does your idea fit into the Thing/Channel/Item concept of OH

Your description misses a lot of details. What does “convert to openHAB code” mean. Like generating Java code? Or just dynamically generating things and channels?

There is already a natural language processor in openHAB core (parts are in habot) including an intent system that is extendable and is using the semantic tag system that is also in openHAB.

I think the thesis is about a different topic?

Is this a design time only system or it is supposed to be generating code/config on the fly as well?

Designer would be text or visual tool?

After inference the generated artifacts would be rules, java code, config files?

@diyha The ontlogy desinging tool will be protégé. I should take the design and the rules on the design amd transform them to openhab rules to maintain the ontology design

First, What i mean by converting to openhab code is that to generate openhab rules based on the ontology provided. I am quite familiar with java 8 + maven + git. And i have no knowledge about OSGi. Can you please emphasis why would i go with the OSGi.

Second, how would it make a difference to develop on openhab now. And why would i execute from the command line