On diagrammatic modeling and mathematics (from Generalized Sketches:

A Universal Logic for Diagrammatic Modeling in Software Engineering)


Diagrammatic specifications are widely spread in software (and other branches of) engineering. Dozens
(if not hundreds) of them were invented, raised, and forgotten, while many are still alive and prospering
today. Amongst the latter are, for example, Peter Chen’s entity-relationship (ER) diagrams, tremendously
popular in data modeling in the 70s, David Harel’s statecharts, tremendously popular in behavior
modeling in the 80s, and message sequence charts (MSCs), tremendously popular in telecom scenario
modeling in the 90s. About ten years ago, these and some other diagrammatic notations were absorbed
by an all-embracing industrial standard called UML and continue to dominate (either under the UML
title or separately) the modeling segment of the industrial market and the academic market serving it.

A recent explosion of model-centric initiatives in software industry demands developing precise foundations
for diagrammatic modeling languages. The machinery of generalized sketches well matches this
request: it is based on a generic logical pattern where both the universe of graph-based structures underlying
the diagrams and the signature of predicate symbols are user-defined parameters. Developing
mathematical foundations for this machinery and, on the other hand, adapting it for industrial applications
and propagating it in the software modeling community span a wide range of tasks and problems
from mathematical to cognitive to cultural and psychological. In other words, we have a big “technology
transfer” problem spanning a whole technological chain from software engineering over theoretical
computer science to category theory.

The paper shows an intermediate state of our ongoing project to develop and to present the theory of
generalized sketches in a formal, clean and well-structured way: we aim at understanding the machinery
by the software modeling community and applying it to actual problems. An essential part of the project
is further development of a fully fledged sketch logic. Besides the theoretical efforts, we have also started
design and implementation of a tool supporting the application of sketches in software modeling.

[ Home | Publications/Research interests | Research biography | Resume (pdf) ]