Heinrich Hussmann
Dresden University of Technology
Department of Computer Science
Heinrich.Hussmann@inf.tu-dresden.de
Abstract
Starting from an analysis of the situation of a software developer using pre-fabricated
components (like JavaBeans or Delphi Components), it is investigated in which form formal
specification languages can provide practical aid.
The goal is to increase the reliability of the produced software and the effectiveness
of the development process. For an advanced component framework, semantic
specifications of the component functionality tend to become rather trivial,
since the framework introduces a terminology which encapsulates the
domain-specific complexity.
In some sense, the component framework already provides a formal
specification formalism for the problem domain.
However, a new dimension of complexity arises from the
interconnection of many components, which is often defined in a graphical
editor isntead of a textual language.
So support by formal specification should concentrate on help for understanding
the semantic interrelationships of the various components interrelations and
the contraints which hold for the multitude of adjustable parameters.
A classification of component properties into separate aspects of a system
(like functional essence, meta-rules for composition, functional aspects of
realisation, non-functional aspects) is suggested. Formal specifications are
of a different kind (and targeted at different audiences)
for these different aspects. For the functional essence aspect, it is
shown how a very simple specification formalism based on the Object Constraint
Language (OCL) can help the developer to master the complexity of the developed system.
The basic ideas for realistic and pragmatically helpful tool support based on such an
approach are sketched.
Last Updated: May 17, 2000 by Elisabetta Ferrando