Software-Konfiguration verteilter Systeme

Stefan Kuppinger,

Expertensystem unterstützt Anwender bei der Installation

Der Funktionsvorrat verteilter heterogener Prozessleitsysteme ist fast unerschöpflich. Modular zu individuellen Systemen konfigurierbar, gilt es die Abhängigkeiten zwischen den Funktionsbausteinen zu beachten. Ein regelbasiertes Konfigurationsmanagement verhindert Inkonsistenzen und stellt den einwandfreien Betrieb des Gesamtsystems sicher.

© ABB

Häufig sind komplexere Computersysteme als verteiltes heterogenes System aufgebaut. Auf den einzelnen, miteinander vernetzten Rechnern sind verschiedene Teilfunktionen installiert, die nur zusammen die Funktionalität des Gesamtsystems erbringen. Das führt zu systemischen Beziehungen zwischen diesen Teilfunktionalitäten, bei verteilten Systemen auch über Rechnergrenzen hinweg.

Die Zusammenstellung der Teilfunktionalitäten beschreibt die Systemkonfiguration. Werden in einer Systemkonfiguration sämtliche Beziehungsregeln zwischen allen Funktionalitäten erfüllt, ist die Konfiguration konsistent. Inkonsistente Systemkonfigurationen entstehen beispielsweise durch eine fehlende Teilfunktion im System, die eine andere Funktion benötigt, oder durch die Koexistenz zweier Teilfunktionen, die sich gegenseitig ausschließen. Inkonsistente Systemkonfigurationen können dabei eine Fehlfunktion des Gesamtsystems verursachen.

Die konsistente, plausible Konfiguration aller Systemfunktionalitäten unter Einhaltung aller Regeln ist daher eine wichtige Aufgabe des Konfigurationsmanagements in der Informationstechnologie. Letzteres ist mit Aufwand verbunden und birgt immer auch das Risiko menschlicher Fehler. Beides lässt sich durch einen regelbasierten und automatisierbaren Ansatz minimieren.

Die Lösung des ABB-Forschungszentrums in Ladenburg sieht vor, immer sämtliche Funktionalitäten auf allen Rechnern im System vorzuinstallieren - unabhängig davon, ob sie später tatsächlich genutzt werden oder nicht.

Anzeige

Beziehungsregeln gewährleisten Validität der Konfiguration

Allerdings bleiben sämtliche Funktionalitäten zunächst deaktiviert und die dazugehörenden Dienste, wie Programmdienste und ausführbare Dateien, werden nicht gestartet. Nach der Installation kann der Anwender das System individuell durch ein Expertensystem konfigurieren, das heißt, die gewünschten vorinstallierten Funktionalitäten aktivieren.

Das Expertensystem prüft dabei automatisch die Konsistenz der Systemkonfiguration auf Basis der Beziehungsregeln, die für die Systemfunktionalität definiert sind und immer erfüllt sein müssen.

Dabei beinhaltet die in der ABB-Forschung prototypisch entwickelte Lösung eine interne Prolog-Engine (Prolog ist eine deklarative Programmiersprache), um Regeln zu verifizieren und systematisch eine valide Konfiguration zu finden. Generell gibt es drei Arten von Beziehungsregeln:

  • Abhängigkeiten - eine Teilfunktionalität benötigt eine andere.
  • Ausschlussregeln - eine Teilfunktionalität darf nicht zusammen mit einer anderen vorhanden sein.
  • Kardinalitätsregeln - eine Teilfunktionalität muss mindestens, maximal oder genau n-mal vorhanden sein.
  •  

    Konzept des regelbasierten Konfigurations-managements verteilter heterogener Systeme: Hersteller definieren mit dem Funktionseditor allgemeingültige Konfigurationsregeln, auf deren Basis Anwender ihre Systeme mit dem Expertensystem zusammenstellen.

    © ABB

    Da Funktionen auch über verschiedene Rechner verteilt sein können, kann bei den drei Regelarten zusätzlich unterschieden werden, ob eine Regel auf einen einzigen Rechner beschränkt oder im gesamten verteilten System erfüllt sein muss.

    Zum Beispiel können sich zwei Funktionen auf demselben Rechner gegenseitig ausschließen, dürfen aber durchaus auf unterschiedliche Rechner vorhanden sein.

    Mit einer solchen Ausschlussregel kann ein Anwender, der beide Funktionen in seinem System aktivieren möchte, durch das Expertensystem angehalten werden, diese nur auf unterschiedlichen Rechnern freizuschalten.

    Beziehungsregeln müssen nicht unbedingt technisch bedingt sein; sie können auch „künstlich" definiert werden, beispielsweise, um aus Lizenzgründen den parallelen Betrieb von Funktionalitäten zu untersagen, auch wenn aus technischer Sicht diese Konfiguration funktionieren würde. Ebenso könnte der Hersteller darüber bestimmte Konfigurationen ausschließen, weil er diese bislang nicht formal getestet hat.

    Konfigurationsregeln unabhängig von der Systemsoftware

    Konfigurationsregeln beschreiben gültige Systemkonfigurationen im heterogenen verteilten Computersystem. Die Beschreibung aller Regeln kann beispielsweise in einer separaten XML-Datei erfolgen, die zusammen mit der Systemsoftware ausgeliefert wird.

    Der Vorteil: Systemhersteller können Regeln ändern, ohne die Systemsoftware selbst neu erzeugen zu müssen. Dies ist insbesondere für die künstlich definierten Regeln von Nutzen, da deren Modifikation normalerweise keine Software-Änderung erfordert.

    Die Entscheidung (Regeländerung), die Anzahl der unterstützten Clients im System von 20 auf 25 zu erhöhen, ist reine Definitionssache und erfordert keine Änderungen an der Clientsoftware. Die allgemeingültigen Konfigurationsregeln kann der Hersteller werksseitig einmalig für ein bestimmtes System-Release spezifizieren, beispielsweise in XML. Da das manuelle Editieren der XML-Dateien sehr aufwendig wäre, schlägt das hier vorgestellte Konzept einen speziellen „Funktionseditor" zur benutzerfreundlichen Eingabe der Regeln vor.

    Dieses Tool generiert aus den beschriebenen Konfigurationsregeln anschließend automatisch maschinenlesbare XML-Dateien, die dann durch die Prolog-Engine des Expertensystems interpretiert werden. Mit dem Systemrelease werden dann neben den Softwarefunktionalitäten die dazugehörigen XML-Dateien mit den Konfigurationsregeln ausgeliefert.

    Unterstützung für die Systemkonfiguration

    Die XML-Daten dienen als Basis für das Expertensystem, ein neues verteiltes System aufzusetzen oder dessen Konfiguration zu ändern. Das Werkzeug prüft bei jeder gewünschten Konfigurationsänderung durch den Anwender, ob hierdurch Regeln verletzt werden. Falls nicht, führt das Werkzeug die gewünschte Änderung durch.

    Auf Basis der allgemeingültigen Konfigurationsregeln prüft das Expertensystem, ob eine Regelverletzung auftritt.

    © ABB

    Erkennt das Werkzeug eine Regelverletzung durch eine beabsichtigte Konfigurationsänderung, weist es den Anwender mit einer entsprechenden Warnung darauf hin, beispielsweise so: „Der kombinierte Betrieb der ausgewählten Funktionalitäten wird im gleichen System nicht unterstützt" oder „Die maximale Anzahl unterstützter Clientrechner ist bereits erreicht".

    Bei jeder Systeminstallation nimmt der Anwender zunächst eine Vollinstallation der Systemsoftware auf allen Rechnern vor, unabhängig davon, ob er plant, einzelne Systemfunktionalitäten tatsächlich zu nutzen oder nicht. Die Vollinstallation eines Systems wird anschließend durch Auswahl und Aktivierung einzelner Systemfunktionalitäten individuell konfiguriert.

    Der Vorteil dieser Vorgehensweise ist eine intuitive Trennung zwischen Installation und Konfiguration: Der Anwender muss sich nicht bereits bei der Installation Gedanken machen, welche Funktionen er später benötigen wird. Zudem entfallen bei Konfigurationsänderungen nachträgliche Installationen. Mithilfe des Expertensystems wählt der Anwender aus der Menge vorinstallierter Systemfunktionalitäten die benötigen aus.

    Das Expertensystem prüft auf Basis der in den XML-Dateien hinterlegten allgemeingültigen Konfigurationsregeln, ob Inkonsistenzen in der Systemkonfiguration entstehen.

    `Prolog´ stellt Systemkonfigurationen sicher

    Im hier vorgeschlagenen Konzept erfolgt diese Konsistenzprüfung durch einen Solver im Expertensystem, der als Prolog-Inferenzmaschine implementiert ist. Die Regeln aus den XML-Dateien werden in Prolog-Fakten und -Prädikate transferiert und dienen als Basis für den Inferenzprozess. Prolog ist eine deklarative Programmiersprache.

    Der Prolog wurde entwickelt, um Lösungen für ein gegebenes Problem zu finden, das durch eine Menge von Fakten, Prädikaten und ihren Beziehungen beschrieben ist. Daher eignet sich Prolog ideal, um Konfigurationsregeln verteilter heterogener Systeme zu lösen und die Konsistenz von Systemkonfigurationen sicherzustellen.

    Bei einer Regelverletzung erhält der Anwender eine Warnung. Analog dazu wird das Deaktivieren von Funktionalitäten kontrolliert. Bei einer erfolgreichen Konsistenzprüfung führt das Expertensystem die gewünschte Aktivierung oder Deaktivierung einer Funktionalität auf dem ausgewählten Rechner durch. Dazu stoppt oder startet das Tool die entsprechenden Dienste. Welche Dienste zu welcher Systemfunktionalität gehören, sind ebenfalls in den XML-Dateien spezifiziert.

    Mittels der Kontrolle aller relevanten Konfigurationsregeln wird die Konsistenz der gesamten Systemkonfiguration verifiziert und als gültig beziehungsweise ungültig markiert. Das regelbasierte Expertensystem stellt somit die Konsistenz einer Systemkonfiguration automatisch sicher. Dies minimiert den Konfigurationsaufwand und die damit verbundenen Risiken.

    Autoren: Marcel Dix ist wissenschaftlicher Mitarbeiter im Forschungsprogramm Industrial Software Systems am ABB Forschungszentrum in Ladenburg.

    Sylvia Maczey ist wissenschaftliche Mitarbeiterin im Forschungsprogramm Industrial Software Systems am ABB Forschungszentrum in Ladenburg.

    Chris M. Stich ist Leiter der Gruppe „Lifecycle Science" im Forschungsprogramm Industrial Software Systems am ABB Forschungszentrum in Ladenburg.

    • Xing Icon
    • LinkedIn Icon
    Anzeige
    Anzeige

    Das könnte Sie auch interessieren

    Anzeige
    Anzeige
    Anzeige

    Videc

    Predictive Maintenance ohne Hype

    Predictive Maintenance ist zu einem Hype-Thema geworden und gilt als maßgeblich in der digitalen Transformation der Industrie. Wann sie sich wirklich lohnt, erläutert Tim Brexendorf, Geschäftsführer von Videc Data Engineering, in einem Expertipp.

    mehr...
    Anzeige

    Check Point

    Plattform für KI-Sicherheit in Unternehmen

    Check Point Software Technologies hat 'Check Point AI Defense Plane' vorgestellt. Diese einheitliche KI-Sicherheitssteuerungsebene unterstützt Unternehmen dabei, die Vernetzung, Bereitstellung und den Betrieb von KI im gesamten Unternehmen zu...

    mehr...

    Cenit

    Martin Thiel folgt auf Peter Schneck

    Peter Schneck, Chief Executive Officer (CEO) von Cenit, hat sein Mandat als Vorstandsvorsitzender im Einvernehmen mit dem Aufsichtsrat zum Ablauf des 30. April 2026 niedergelegt. Neuer Vorstand und CEO ist mit Wirkung zum 1. Mai 2026 Martin Thiel,...

    mehr...
    Anzeige
    Anzeige
    Anzeige

    Praxisforum für die Produktion

    IT/OT Integration Summit

    Die Digitalisierung der Produktion ist längst kein Zukunftsthema mehr – sie passiert genau dort, wo IT und OT aufeinandertreffen. Doch wie gelingt diese Integration in der Praxis? Genau darauf gibt der IT/OT Integration Summit am 24. Juni 2026 in...

    mehr...
    Jetzt Newsletter abonnieren