Munich University of Technology, Department of Computer Science

Specifying distributed Systems with AutoFocus

(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.
Picture of graphical user interface
AutoFocus supports the specification design by means of 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 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: 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