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) ]