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.