Data usage control as core functionality

Existing software often has to be subsequently expanded with data usage control mechanisms. Modifying, let alone redeveloping, the software in order to permanently integrate these mechanisms into the software is usually unrealistic. Known data usage control methods can be used in such situations.

Situations also exist in which new software has to be developed and the need for data usage control methods is foreseeable from the outset. Including the required mechanisms in development from the outset is recommended in these cases. This allows the mechanisms to be integrated directly into the application, making them a permanent part.

The domain-specific programming language D°

Integrating data usage control mechanisms directly into the program code of an application poses the following problems:

  • The correct application of the required mechanisms is not always trivial, and may demand expert knowledge.
  • Considerable extra work is required by the developer who has to integrate data usage control in various parts of the program code.
  • Software is developed by people and therefore prone to human error. This cannot be entirely avoided and can render data usage control mechanisms ineffective.

These problems can be avoided by using the programming language D° (pronounced diˈgrē) for implementation. D° is a domain-specific programming language for the development of data processing applications. The consistent application of the programming paradigm of “policy-agnostic” programming achieves the separation of application logic and data usage control. Thus the developer can focus on implementing the application logic while data usage control experts implement the required mechanisms.

Model-driven software development methods are used to inextricably join these two elements of an application during compiling. Human error can be avoided as a result. Most of the additional effort required due to the data usage control mechanisms is also abstracted away from the developer, who can focus on software development. D° is highly scalable in order to meet the requirements of various domains and scenarios.