RuleML

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 22. Januar 2023 um 09:46 Uhr durch Corpophiliac (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
RuleML
Semantisches Web
Betreiber RuleML
Online seit 23. Jan. 2007
http://ruleml.org/

RuleML (Rule Markup Language) ist eine XML-Sprache zur Beschreibung von Transformationen auf Daten. RuleML ist vor allem zur Adjustierung und semantischen Interpretation von Daten gedacht. Im Gegensatz zu klassischen Term-Rewriting-Technologien in XML wie XSLT liegen die Wurzeln im Bereich der künstlichen Intelligenz. RuleML geht im Hinblick auf die Ableitung (Derivation) und Reaktion über diesen rein transformationalen Aspekt (Term-Rewriting) weit hinaus.

Geschichte

Die Initiative wurde im Jahre 2000 gestartet. Die aktuelle Version ist das Release 1.0 (Dezember 2011). Es ist geplant, die Standardisierung durch Einbringung in entsprechende Gremien bei W3C zu formalisieren.

Anwendungen

Es gibt Anwendungen in den verschiedensten Bereichen. Beispielsweise soll es möglich sein, durch RuleML gesetzliche oder geschäftliche Regelungen (siehe auch BRML und Business-Rule-Management-System) zu kontrollieren. Das entsprechende Regelsystem kann durch RuleML kodiert, welches als Austauschformat zwischen verschiedenen Systemen, die diese Regeln verarbeiten, verwendet werden kann.

Des Weiteren können Prozesse und Abläufe überwacht und vereinfacht werden; diskutiert werden hier beispielsweise Ansätze zur automatisierten Authentifikation und Autorisierung von Benutzern eines Computer-Systems oder Netzwerks, sowie Anwendungen im Bereich der Diagnose von komplexen Systemen.

Realisierungen

Die Realisierung erfolgt in Form von sogenannte Engines, die einen Satz von Regeln einlesen und auf Basis eines Datenbestandes ausführen. Diese sind vielfach auf Basis der Programmiersprache Java oder C# realisiert. Hier ist der Java Specification Request 94 (JSR-94) von Bedeutung, der die Schnittstellen zu Rule-Engines auf Basis von Java festlegt.