Munich University of Technology, Department of Computer Science
Specifying distributed Systems with

(Auch in der deutschen Version
verfügbar)
Distributed Systems
Multimedia services in intelligent networks, car rental booking
systems, controller for production lines: today, the development
of distributed or
embedded systems becomes the main objective of software
engineering. But because of the complex interactions between the components of
such a system, system development is sophisticated and error prone.
Here, formal methods offer some help: used as a basis for well-defined
description techniques and methods we can develop tools to design
high quality systems within acceptable times frames.
Therefore, the development of the tool prototype AutoFocus is based
on formal methods of systems engineering . It will serve as start
point and evaluation means for further tool concepts for the
specification and development of distributed systems.
AutoFocus
AutoFocus uses graphical description techniques, and thus supports
working on an intuitive basis as much as possible. The user interface
consists of a project browser for the organization of the specification
documents of the single projects, and one editor for each
specification document.
AutoFocus supports the specification design by means of
- integrated hierarchical description techniques
- distributed and platform independent development
- development using version control and locking mechanisms
Therefore, AutoFocus offers basic support for the central aspects of
tool based development of distributed systems.
Integrated hierarchical description techniques
Distributed systems can be described from several points of view, like
- the structure of a system including its components and the
communication paths between them
- the behavioral description of the system or one of its components
- the interaction of components and system environment via message
exchange
Only a description from several points of view forms a complete
picture of the system. Therefore, AutoFocus offers three different
description techniques: system structure diagrams, automata
diagrams and extended event traces, each one covering one of the
above aspects and thus supporting an integrated system view.
Depending on the granularity of detail, components or behavioral
modules can either be atomic or consist of sub components or sub
modules themselves. Therefore AutoFocus allows to change
between levels of different granularity by using hierarchical
description techniques.
Distributed and Platform Independent Implementation
Because of their complexity distributed systems are generally
developed in teams by several developers at the same time using
different computer platforms. Therefore AutoFocus was
implemented as a Client/Server system with a central document
repository and an arbitrary number of editor clients. Thus, the
developers can share the specification documents. By
implementing the clients in Java, AutoFocus can be used on common
computer platforms.
Version Control and Locking Concepts
Specifications are repeatedly revised, especially in the early phases
of the development. Therefore, the possibility to use version control
for single documents as well as for whole projects is absolutely
necessary. Tool support should rule out inconsistencies, which
might be caused by team members working on the same specification
documents. Therefore, AutoFocus offers a central repostiory with
version control both of documents and projects as well as locking
mechanisms for documents.
Development and Use
AutoFocus was developed and implemented during the one-semester
practical course `Software Engineering' by students and members of
the chairs Prof. Broy and Prof. Endres at the faculty of computer
science at the Technische Universität München in
summer 1996. It will be used and enhanced in several cooperation
projects with Bavarian industrial companies, including Siemens
Public Networks.
Future Developments
Using the AutoFocus description techniques for the specification of
the system to be developed allows a computer aided development.
Based on these description techniques we plan several enhancements
of the AutoFocus prototype to further improve the quality of the
development process:
- Checking the global consistency and the completeness of the
specification documents of a project
- Validation of a specification and checking of development steps using
model checkers and verification tools
- Support of animation and simulation of a specification
All these techniques will be used graphic oriented as much as
possible to support an intuitive application.
Contacts
The AutoFocus-Team is happy to supply you with further
information. Please contact us
- via mail:
- AutoFocus,
Lehrstuhl Prof. Broy, Fakultät für Informatik, Technische
Universität München, 80290 München
- via email:
-
autofocus@mailbroy.informatik.tu-muenchen.de
Bernhard Schätz,
1996-10-09
Franz Huber,
1996-10-09