Information Technology Reference
In-Depth Information
In engineering, a model is always represented and described by a collection of
formulas, diagrams, and tables as well as text expressed in some notation with a well-
understood mathematical theory! In analogy, software engineering asks for
mathematical modeling theories of digital systems - algebra, logic, model theory!
Logic provides a unifying frame for that!
4.6 Scientific Foundations of Modeling in Software Development
As explained above in software development we perform the modeling (abstractions)
by describing views in terms of description techniques at different levels of
abstractions . In this activity we have to answer the following question:
What aspects and properties of a system does a view address exactly?
What is the meaning of a description technique?
Which views are helpful for what?
In which order should the views be worked out?
How are views related?
When are several views complimentary, redundant, or consistent?
How can we combine several views into one comprehensive model?
What are useful levels of abstraction?
How are different levels of abstraction related?
These questions touch deep methodological and foundational issues. We
concentrate in the sequel on more foundational topics. Our main concern in the
following is a comprehensive setting of mathematical models and their integration,
their relationships, and theory.
5 The Role of Description Techniques
In software development we could, in principle, use a plain mathematical notation.
This is sometimes appropriate but often not very convenient, however, since
notational conventions and fixed patterns of descriptions are helpful to keep model
descriptions short and readable. Therefore description techniques are of major interest
to the software engineer. In our case, where we depart from a system meta model,
description techniques are a tuned notation for logical predicates that identify
properties of a particular system in the class of all system models fixed by the meta
model.
Practical software engineers often prefer the use of diagrams to textual notation
such as in formulas and programming languages. The reason is quite evident.
Engineers believe that diagrams are more telling, easier to understand and better to
grasp. Whether this holds actually true is not so obvious and leads into a long,
controversial discussion.
Nevertheless in some applications diagrams are certainly helpful. However, on the
long run diagrams are only helpful if they are well based on a proper theory of
understanding. Well-chosen models and their theories can provide such an
understanding. Then the question whether to work with text, formula, tables, or
diagram boils down to the mere question of syntactic presentation.
Search WWH ::




Custom Search