Skip to Content

Enter Semantics: An Expert System for Automated Monitoring – Part 1

In this weblog series I’ll show how to create an expert system for automated error analysis using semantic technology. The aim is store information about an error situation in an wiki. An expert system reads information about an error from an SAP system and classify the error condition. The result is a number of wiki pages (in the best case there is only one) that contain a more detailed description of the error situation – and hopefully a guideline what to do. So a wiki is a knowledge database of an expert system as well knowledge management tool for administrators that can be used in collaborative way.

So what are the functional requirements of an expert system?

  • An expert system must have the possibility to “look inside an SAP system”. This is simple because it is simple to expose protocols using REST web services.
  • An expert system has to be able to extract the error information from a wiki.
  • And last but not least it has to be able to classify the protocol using the knowledge base from the wiki.

The use case

SAP systems possess very powerful monitoring capabilities. The Solution Manager is a central hub for error diagnosis in a system landscape. The systems can communicate using different protocols.

Within an SAP system information about error situation can be found on different places: dumps can be found in transaction st22 and error messages can be found in the business application log (in short BAL) using transaction slg1:

BAL protocol

Here we have a lot of red error messages which indicates a problem. Each message can be identified using a message class and message number:

Error message

As seen above in a protocol a message is contained in a protocol that is associated to an BAL object resp. subobject.

An error protocol can be quite long because of repetitions but usually a relatively small number of error messages can be significant for an error. Here these are the following to error numbers:

BAL Object  BAL Subobject Message Class  Message Number  Type
FICA FPG1  >U  425  E
FICA  FPG1   F5  808  E

 These are stored as a table in a wiki as you can see in the following picture:

Semantic Media Wiki

Here we can use any mediawiki or an add on. Using categorization we can regulate the knowledge database. Here I am using a semantic wiki because of its superior classification techniques.

The expert system

The expert system I’ll introduce within this blog is a Groovy application that reads a BAL protocol from an SAP system and extracts the knowledge database from a wiki, i.e. a mediawiki. From these data it constructs an ontology. This ontology contains a set of classes and each class corresponds to an error situation. Using a reasoner like Pellet we classify the error messages.


In the next part I will explain how to design a knowledge base using OWL DL. Later I discuss how to extract data form a wiki, build the ontology and how to do reasoning.

The vision: automated monitoring of an IT landscape

Of course this is only a prototype but you don’t need much fantasy to imagine how a product would look like: an expert system constantly reads data from SAP and non-SAP systems using various protocols (think of SNMP for example), classifies those messages and helps an administrator to do his job.



Outline of this blog series

In the next part I present an introduction in ontologies. Then I dicuss data extraction from a wiki and how systems can expose data about their status. In the last part of this series I show how to perform reasoning and put everything together into a prototype.

You must be Logged on to comment or reply to a post.
  • This is very interesting! I’m looking forward for the next part.
    Btw, provided there are tools like  BRF plus, can’t tasks like these be solved completely within SAP environment?
    • Hi Egor,

      of course we can use BRM, BRF, BRFplus… In fact those tools have their advantages because their calculating skills are better compared to OWL DL. But BRFplus ist a tool for people with programming skills – in fact it’s not that easy to use as a wiki.

      My approach is about knowledge management – in fact I want a combined approach: a wiki containing narrative information, pictures, links to documents as well as a knowledge database that can be evaluated by computers. The main question is whether a wiki (together with it’s extensions) is able to contain rules that are suitable for my purposes. In fact for dumps, BAL protocols it is without any extensions.

      The second aspect is extensibility. Today IT systems can tell about their status in SNMP – but what would be the case if they could answer in an open knowledge management standard like OWL? Then we need a way to code and extract rules from the wiki – and our expert system is works with another external system.

      Best Regards

      • Hello Tobias,
        Thank you for detailed explanation. I see now, your approach is more universal, and, thus, being beyond SAP environment is a plus.

        Best Regards

    • Well, I have to admit that I did’t thought about IP yet. In fact nothing in this blog is really new: DBpedia ist extracting data from Wikipedia into RDF. Reasoning using ontologies is well understood as well as REST Web Services. I only want to encourage people to give semantic technologies a try: those apps are very easy to build and in fact it makes fun.

      Best Regards,