Graph-based specification and simulation of featherweight Java with around advice

  • Authors:
  • Tom Staijen;Arend Rensink

  • Affiliations:
  • University of Twente, Enschede, Netherlands;University of Twente, Enschede, Netherlands

  • Venue:
  • Proceedings of the 2009 workshop on Foundations of aspect-oriented languages
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we specify an operational run-time semantics of Assignment Featherweight Java -- a minimal subset of Java with assignments -- with around advice, using graph transformations. We introduce a notion of correctness of our specification with respect to an existing semantics and claim a number of advantages over traditional mathematical notations, that come forth from the executable nature of graph-transformation-based semantics. Using test programs as graphs during specification of the semantics, simulation can help in verifying the correctness of the rules simply by testing, increasing the rigorousness of the specification process. Also, execution of the semantics results in a state space that can be used for analysis and verification, giving rise to an effective method for aspect program verification. As a criterion for correctness, we use a structural operational semantics of this language from the so-called Common Aspect Semantics Base.