Datennutzungskontrolle als Kernfunktionalität

Häufig ist es notwendig bestehende Software nachträglich um Mechanismen zur Datennutzungskontrolle zu erweitern. Dabei ist es in der Regel unrealistisch, dass die Software modifiziert oder gar neuentwickelt wird, um diese Mechanismen fest in die Software zu integrieren. In solchen Situationen können die bekannten Verfahren für Datennutzungskontrolle verwendet werden.

Darüber hinaus existieren Situationen, in denen neue Software entwickelt werden muss und von vorneherein absehbar ist, dass Methoden zur Datennutzungskontrolle benötigt werden. In diesen Fällen bietet es sich an die notwendigen Mechanismen vom Beginn der Entwicklung an mit einzubeziehen. Hierdurch wird es möglich die Mechanismen direkt in die Applikation zu integrieren, wodurch sie zu einem untrennbaren Bestandteil der Applikation werden.

Die domänenspezifische Programmiersprache D°

Möchte man Mechanismen zur Datennutzungskontrolle direkt im Programmcode seiner Applikationen integrieren, gibt es nachfolgende diverse Problemstellen:

  • Die korrekte Anwendung der notwendigen Mechanismen ist nicht immer trivial und kann unter Umständen Expertenwissen erfordern.
  • Es entsteht ein erheblicher Mehraufwand für den Entwickler, der an diversen Stellen im Programmcode Datennutzungskontrolle integrieren muss.
  • Die Entwicklung von Software wird von Menschen durchgeführt und ist aus diesem Grund nicht vor menschlichen Fehlern geschützt. Diese lassen sich nicht vollständig vermeiden und können die Mechanismen zur Datennutzungskontrolle unwirksam machen.

Diese Probleme können umgangen werden, indem die Programmiersprache D° (gesprochen diˈgrē) zur Implementierung verwendet wird. Bei D° handelt es sich um eine domänenspezifische Programmiersprache zur Entwicklung von datenverarbeitenden Applikationen. Durch die konsequente Umsetzung des Programmierparadigmas der »policy-agnostic«-Programmierung, wird eine Trennung von Applikationslogik und Datennutzungskontrolle erreicht. Hierdurch kann sich der Entwickler auf die Umsetzung der Applikationslogik fokussieren, wogegen Experten für Datennutzungskontrolle die notwendigen Mechanismen implementieren.

Durch Methoden der modellgetriebenen Softwareentwicklung werden diese beiden Bestandteile einer Applikation während des Übersetzungsvorgangs untrennbar miteinander verbunden. Hierdurch können menschliche Fehler vermieden werden. Außerdem wird ein großer Teil des zusätzlichen Aufwands, der durch die Mechanismen zur Datennutzungskontrolle entsteht, vom Entwickler wegabstrahiert, welcher sich auf die Softwareentwicklung fokussieren kann. D° ist in hohem Maß erweiterbar, um die Anforderungen unterschiedlichster Domänen und Szenarien erfüllen zu können.