Ontology + Software – Where do they meet? Depends how you implement it. In our software the concept of ontologies is baked into the foundation. We developed a tool that enables us to describe any system, process or framework. First, we abstract the given system – we classify. Therefrom we obtain node classes, relation classes and property classes, the meta level. We can use these classes to describe the real-world system and obtain a digital copy of it. With the classification in the back you now are able to create similar models known as variants, track the history of your model through versioning and even follow different time axis with branching. All of this is still very earth-bound. Taking Aristotle's definition of what an ontology must answer we can already generate a mapping:
The work of classification is demanding to say the least. One might wonder why he should even bother with building a classification of his system or process. These are valid points. The thing is: Software systems are not like a painting. They are not finished at a given point. They evolve, transform, break, connect to new systems and need to be analysed at all times. Having a classification which is transformable and extendable without writing a line of code is huge here. A new object class enters your system – you need three clicks. A new rule should be obeyed by a specific class – less than 10 clicks. You have a problem with your existing classification – create a variant with 1 click. You want to build recommendation and prediction algorithms – a lot simpler if you have all the metadata already in front of you. We hope you get a feel where we are heading.