A compiler for multimodal scenarios: Transforming LSCs into aspectJ

Shahar Maoz, David Harel, Asaf Kleinbort

Research output: Contribution to journalArticlepeer-review

Abstract

We exploit the main similarity between the aspect-oriented programming paradigm and the inter-object, scenario-based approach to specification, in order to construct a new way of executing systems based on the latter. Specifically, we transform multimodal scenario-based specifications, given in the visual language of live sequence charts (LSC), into what we call scenario aspects, implemented in AspectJ. Unlike synthesis approaches, which attempt to take the inter-object scenarios and construct intra-object state-based per-object specifications or a single controller automaton, we follow the ideas behind the LSC play-out algorithm to coordinate the simultaneous monitoring and direct execution of the specified scenarios. Thus, the structure of the specification is reflected in the structure of the generated code; the high-level inter-object requirements and their structure are not lost in the translation. The transformation/compilation scheme is fully implemented in a UML2-compliant tool we term the S2A compiler (for Scenarios to Aspects), which provides full code generation of reactive behavior from inter-object multimodal scenarios. S2A supports advanced scenario-based programming features, such as multiple instances and exact and symbolic parameters. We demonstrate our work with an application whose interobject behaviors are specified using LSCs. We discuss advantages and challenges of the compilation scheme in the context of the more general vision of scenario-based programming.

Original languageEnglish
Article number18
JournalACM Transactions on Software Engineering and Methodology
Volume20
Issue number4
DOIs
StatePublished - Sep 2011
Externally publishedYes

Keywords

  • Aspect oriented programming
  • Code generation
  • Inter-object approach
  • Live sequence charts
  • Scenario-based programming
  • Scenarios
  • UML sequence diagrams
  • Visual formalisms

Fingerprint

Dive into the research topics of 'A compiler for multimodal scenarios: Transforming LSCs into aspectJ'. Together they form a unique fingerprint.

Cite this