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.
|Workshop||FOAL '09: 2009 workshop on Foundations of aspect-oriented languages|
|Period||2/03/09 → 2/03/09|
|Other||2 Mar 2009|
- Formal Semantics
- Graph Transformations