Simpl is a tool for quickly and efficiently implementing domain-specific languages. Its main target is enterprise information systems. The main design criteria of the Simpl toolset are the following.

  • Visual (editor, IDE) and non-visual (parser, code generator) parts of a DSL implementation must be separate. The non-visual part does not depend on the visual part.
  • Non-visual part of the DSL implementation is easily integrable into larger systems and does not make assumptions on how the larger system is implemented.
  • Using Simpl, the language developer must be able to create a working DSL implementation with little effort. For a relatively simple language, the time to create a working code generator and an IDE should be less than a day.

Based on these design criteria, the Simpl builds on existing tools by combining them and creating a user-friendly frontend. In particular, Simpl is based on the following tools:

  • ANTLR parser generator,
  • Eclipse IDE,
  • IDE Meta-Toling Platform (IMP),
  • Scala programming language.

More background information can be found from LDTA paper and Initial software architecture document.

Simpl is developed in Cybernetica AS and Software Technology and Applications Competence Centre. It is licenced under GNU Lesser General Public License.

Contact: Margus Freudenthal, margus (at) cyber.ee

Updates

2013-09-27 -- PhD thesis about Simpl published

Margus Freudenthal's PhD thesis describes the architecture of Simpl and the rationale behind it's design choices.

Margus Freudenthal. Simpl: A toolkit for domain-specific language development in enterprise information systems. PhD thesis, University of Tartu, 2013.

Full text in PDF

Older updates