Information Technology Reference
In-Depth Information
5.1 Practice Today: Diagrams
In practice, today we find many diagrammatic methods and description techniques for
modeling and specification (SA, SADT, SSADM, JSD, SDL, OMT, UML, ROOM,
..., see [21], [11], [16], [2], [17]) in software and systems engineering. Especially
UML has gained much attention.
The idea of universal modeling languages is certainly a great one - a closer look
shows, however, how ad hoc most of these ”methods” are especially those found in
UML. At best, they reflect essential insights into the engineering of software
applications. Never have these practical diagrammatic modeling techniques been
justified on the basis of a comprehensive mathematical foundation. In contrast, only
after the languages where published scientists work hard to define and explain the ad
hoc constructs of modeling languages such as UML post mortem.
As a result the description techniques remain vague and imprecise. A basis and
theory for the integration of the different views is missing.
5.2 Limitations of Diagrams
By a look at the state of the art we see that a lot of diagrams are used without a proper
theory and without good support for understanding. To underline this remark we
mention three weak examples (see also [22]):
1. UML and its statecharts dialect with its endless discussions about its
semantics.
2. Behavior specification of interfaces of classes and components in object
oriented modeling techniques in the presence of callbacks.
3. Concurrency and co-operation: Most of the practical methods especially
in object orientation seem to live in the good old days of sequential
programming and do not properly address the needs of highly distributed,
mobile, asynchronously co-operating software systems.
We need proper theories and methodological insights (see [18]) to overcome these
shortcomings. And there is an inherent difficulty when dealing with diagrams.
Theories can hardly be expressed solely by diagrams.
5.3 From Logic to Modeling Languages and Back to Logic
It is a disaster for academic informatics that it did not manage to design a modeling
language that is used as widely as UML. The vision, however, remains - an academic,
scientific view on modeling! How can we achieve that? We start from foundations: A
tractable scientific basis, understanding, and theory for modeling, specifying, and
refinement in programs, software and systems. On that basis we identify powerful
models supporting levels of abstractions, multi-view modeling, and domain modeling.
This leads to comprehensive description techniques properly based on scientific
foundations. Thus we gain a family of justified engineering methods based on these
foundations and finally a flexible development process model combining these
methods.
All these are the necessary prerequisites for a comprehensive tool support in
software development including specification refinement, validation, consistency
Search WWH ::




Custom Search