Smyle is an acronym for Synthesizing Models bY Learning from Examples. Its major objective is to ease the development of concurrent systems. More specifically, the overall goal is to derive communication models of concurrent systems.

The synthesis process starts by providing the tool with a set of sample Message Sequence Charts (MSCs) where each MSC is either positive or negative. Positive MSCs describe system behavior that is possible and negative MSCs characterize unwanted or forbidden behavior.

Provided with such positive and negative example scenarios, Smyle employs dedicated learning techniques to generate a system model that conforms with the given examples.


Theoretical background

To learn more about Smyle and its theoretical foundations, please look up the following documents:

Example Video


The Smyle project is supported by Procope (2008)

The following research groups are participating in Smyle’s development:

Programming staff:

  • Carsten Kern
  • Benedikt Bollig
  • Martin Leucker
  • David R. Piegdon (Student Assistant)
  • Stefan Schulz (Student Assistant)
  • Benjamin Zimmermann (Student Assistant)

Web design:

  • Cathrin Niebel