Information Technology Reference
In-Depth Information
maps the description onto its interface behavior, such that we can calculate the
interface behavior of the composed system from the abstractions of its sub-systems.
The description techniques and also the described models should therefore be
hierarchical to support the hierarchical decomposition and a hierarchical top down
design of systems and their description.
Often description techniques do not describe a comprehensive model directly, but
rather complementary views and properties of it. We speak of a view-oriented
description. Being interested in software engineering and its foundations we consider
all three issues of conceptual and mathematical modeling and description techniques
as interesting fields of scientific study.
3 Formal Methods and Models in Software Engineering
Our scientific community has invested lots of time and efforts into so called formal
methods. In formal methods the idea is that the task of software development
including specification, stepwise design, implementation and verification is carried
out completely within a formal and thus logical and mathematical theory. This is a
striking idea, full of interesting scientific challenges and leading to valuable insights.
However, practitioners often consider formal methods inadequate, insufficient, too
expensive, too difficult, and ”not at all practical”.
Indeed the state of the art in pragmatic and practical software development is still
far from being satisfactory. Practical software development is to a large extent “ad
hoc”, ”immature”, unpredictable, uncontrollable, and ”not at all an engineering
discipline”.
Actually we have to find a good compromise between the rigorous scientific
approach to programming and the pragmatic practical approach. One idea is the use of
well-chosen, sufficiently formal models and their support by tractable theories,
description techniques, methods, and tools. Programming means in any case using
models explicitly or implicitly. We claim that it is important to identify the underlying
models very explicitly and to exploit them for understanding and analysis.
Appropriate formalization is of great practical advantage since finally formal methods
provide a rich tool kit of development and validation methods.
3.1 Models for Structure and Behavior in Software Engineering
Systematic development of distributed interactive software systems needs basic
system models that reduce the complexity and concentrate on particular aspects by
simplifying abstractions. Description techniques are to provide specific views and
abstractions such as:
data view,
interface view,
architecture, logical structure and distribution view,
process view,
interaction view,
Search WWH ::




Custom Search