DPF is a research project initiated by the Bergen University College and the University of Bergen, Norway, early in 2006. The project aims at formalising concepts in model-driven engineering (MDE) and involves several researchers from Norway and Canada.

MDE is a trend in software engineering which aims at improving productivity and quality of software development. This is obtained by considering models as first-class entities of the software development process and adopting model transformation to automate the implementation. MDE enables developers to reason at a higher level of abstraction and focus on the problem domain. Moreover, it restrains developers from repetitive and error-prone work such as coding.

In the state-of-the-art of MDE, models are typically specified by means of modelling languages such as the Unified Modeling Language (UML). The semantics of these modelling languages is mostly specified semi-formally by means of textual description in English. This may not guarantee the degree of precision required by MDE. In fact, research in the field has argued that a formal approach is necessary to unfold the full potential of MDE.

DPF attempts to overcome this shortage by providing a formal approach to (meta)modelling, model transformation and model management based on category theory and graph transformation. DPF is an extension of the Generalised Sketches formalism originally developed by Zinovy Diskin et al.


DPF has a web editor called WebDPF. See a presentation and try it.

Multilevel Metamodelling:
Predicate (Multiplicity):
Predicate (Surjective):
Predicate (Inverse):
Predicate (Composite):
Atomic Constraint:
Inconsistency Checking:
Completion rules:
Termination Analysis:
Model Navigation: