Monaco: A DSL Approach for Programming Automation Machines

Herbert Prähofer, Dominik Hurnaus, Hanspeter Mössenböck, Christian Wirth, Roland Schatz

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

In this paper we present the language Monaco, which is a DSL for programming event-based, reactive automation solutions. The main purpose of the language is to bring automation programming closer to the domain experts and end users. Important design goals therefore have been to keep the language simple and allow writing programs which are close to the perception of domain experts. The language Monaco is similar to Statecharts in its expressive power, however, adopts an imperative notation. Moreover, Monaco adopts a state-of-the-art component approach with interfaces and polymorphic implementations and it enforces strict hierarchical communication architectures which support the hierarchical abstraction of control tasks. We discuss the main design goals, the essential programming elements, and the visual program representation and illustrate how the language supports hierarchical abstraction of control functionality by an example application.
Original languageEnglish
Title of host publicationSE 2008 - Software-Engineering-Konferenz
Publication statusPublished - Feb 2008

Fields of science

  • 102 Computer Sciences
  • 102009 Computer simulation
  • 102011 Formal languages
  • 102013 Human-computer interaction
  • 102029 Practical computer science
  • 102022 Software development
  • 102024 Usability research

Cite this