Department of Information Technology

Software Systems Laboratory


Master of Science Thesis, pages, enclosure pages.

Examiner: Ph.D. Tarja Systä, prof. Kai Koskimies

December 2000

Keywords: Software design, Minimally adequate teacher, Minimally adequate synthesizer, Synthesis algorithm, Sequence Diagram, Statechart Diagram

Object-oriented analysis and design (OOAD) and Unified Modeling Language (UML) are widespread in software design. There are a number of different synthesis algorithms, which are used to translate diagrams. Minimally Adequate Synthesizer (MAS), which is based on Angluin's algorithm of Minimally Adequate Teacher, is such an algorithm. It is used to synthesize statechart diagrams from a set of sequence diagrams (scenarios). One of the advantages of MAS algorithm is that it is interactive, so we can avoid overgeneralizations, which are common with other algorithms.

In this thesis MAS algorithm was implemented within Windows NT environment. For the input and output of the algorithm, we use TED (a multi user UML modeling tool) by Nokia Research Center. We also implement two user interfaces for the synthesis algorithm. Connections to TED are handled with COM interface.

During the test runs we noticed that internal structures of MAS algorithm allow MAS to operate almost without any help by the user. We also found out that by using special presumptions for the algorithm, we can further decrease the need for user help. On the other hand, there were problems with the user interface and TED. Modeling software and synthesizer are completely separate and thus integrating user interfaces is difficult. The present paper includes some suggestive improvements.