MONACO-A domain-specific language solution for reactive process control programming with hierarchical components

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

Research output: Contribution to journalArticlepeer-review

Abstract

In this paper, we present Monaco – a domain-specific language for developing event-based, reactive process control programs – and its visual interactive programming environment. The main purpose of the language is to bring process control programming closer to domain experts. Important design goals have therefore been to keep the language concise and to allow programs to be written that reflect the perceptions of domain experts. Monaco is similar to Statecharts in its expressive power, but adopts an imperative notation. Moreover, Monaco uses a state-of-the-art component approach with interfaces and polymorphic implementations, and enforces strict hierarchical component architectures that support hierarchical abstraction of control functionality. We present the main design goals, the essential programming elements, the visual interactive programming environment, results from industrial case studies, and a formal definition of the semantics of the reactive behavior of Monaco programs in the form of labeled transition systems.
Original languageEnglish
Pages (from-to)67-94
Number of pages28
JournalComputer Languages, Systems and Structures
Volume39
Issue number3
DOIs
Publication statusPublished - Oct 2013

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

JKU Focus areas

  • Computation in Informatics and Mathematics
  • Engineering and Natural Sciences (in general)

Cite this