Why Model  Management may be interesting

People like drawing pictures to explain something to others or to themselves. When they do it for software system design, they call these pictures visual or diagrammatic models and the very notation they use a modeling language.  This widely spread name actually hides a two-faced Janus, who occupies a central position in the software design process like shown by the schema below.


Requirement Engineering


System design and code generation


       The Land of Mo deling Languages             

The left face prescribes to see a modeling language as, first of all, a language, whose primary goal is to serve as a communication medium. A reasonable precision is a plus but not a must. Too much of precision may be harmful if it forces to fix some decisions ahead of time or/and prevents  normal negotiating practices. Perhaps, the left side is simply the Mercury’s face.  In contrast, the right  face favors precision and keeps memories that finally models will become code and be executed. In this sense, it's close to Vulcan’s craft and power -- this metaphor which might be especially welcomed by modern software industry speakers on MDD and MDA, who emphasize the manufacturing aspects of the model-centering initiatives.


Our Janus governs an enormous and largely wild and under-explored territory encompassing different climate zones and landscapes. It is inhabited by many interesting creatures, whose behavior is often bizarre and incomprehensible. Exploration of this area and its inhabitants  in order to understand and tame them is an exciting activity combining in a non-trivial way aspects of cognitive and formal cognitive and formal logical concepts and techniques.

A proper mathematical support of this activity requires surprisingly abstract mathematical ideas and frameworks. For example, to formulate the logic underlying the diagrammatic modeling techniques in precise terms, we need the notion of logic and logic mapping even more abstract that were ever designed in mathematics so far (see here for some details).  Or, to understand what is going inside of the modern model management tools, rather abstract ideas of category theory are needed; more accurately, the corresponding specifications can be naturally arranged in a categorical way. The main point is that such an arrangement can be useful for practical applications. A few examples related to the so called Generic Model Management, can be found here (see also here  and here for a few more categorical sentiments).

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