1.1.5. Diagram Predicate Framework (DPF)

Software models and a plethora of modeling artifacts in various scientific and industrial areas are essentially diagrammatic. Traditional string-based formalisms turn out to be unwieldy and inadequate to define syntax and semantics of diagrammatic modeling techniques and to formalize diagrammatic reasoning. Instead of trying to emulate diagrammatic models and reasoning by means of traditional string-based formalisms, we adapted therefore generalized sketches when we started, around fifteen years ago, to work with Model Driven Software Engineering (MDSE).

Software models are (or, at least, appear as) graph-based structures complemented with constraints the modeled software system has to comply with. For us, it was striking that generalized sketches are the most adequate concept to formalize those artifacts. A software model can be formalized as a generalized sketch K = (*K*, *St*K), where *K* represents the underlying graph-based structure of the model and *St*<sup>K</sup> the set of constraints in the model. We further developed the generalized sketch approach as a theoretical foundation of MDSE [13,18–20] and called it, after a while, the Diagram Predicate Framework (DPF) since it turned out to be nearly impossible to convince software engineers that a "sketch" is something precise with a well-defined syntax and semantics. For the same reason, generalized sketches are called diagrammatic specifications in DPF.

DPF has been applied to a wide range of problems in MDSE with a special focus on model transformations and meta-modeling [18,21]. Thereby, we restricted ourselves to categories of graphs or typed graphs, respectively, as the base categories. (To reduce self citation, we followed the suggestion of the editors and dropped all references to papers just illustrating applications of DPF but not being relevant for the content of the paper).

While sketches and companions are relegated to a niche existence in all the traditional formalisms we discussed so far, they take center stage in DPF. The framework, presented in this paper, arose to a big extent from the attempt to lift ideas and insights from the development of the theoretical foundations of DPF to a more general level.

Objective 2: The framework provides a formalization of the general idea of sketches as syntactic descriptions and/or representations of semantic entities.

Our hope is that this sketch-centered approach enables us to achieve another goal.

Objective 3: The framework allows us to describe, in a uniform way, not only string-based formalisms, like Algebraic Specifications and First-Order Logic, but also a wide variety of diagrammatic specification formalisms/techniques.

At present, DPF does have some deficiencies that we will discuss shortly.
