FOAL 2003 Proceedings Foundations of Aspect-Oriented Langauges Workshop at AOSD 2003

Leavens, Gary
Clifton, Curtis
Journal Title
Journal ISSN
Volume Title
Source URI
Research Projects
Organizational Units
Computer Science
Organizational Unit
Journal Issue

Aspect-oriented programming is an emerging paradigm in software engineering and programming languages that promises better support for separation of concerns. The second Foundations of Aspect-Oriented Languages (FOAL) workshop was held at the 2nd International Conference on Aspect-Oriented Software Development in Boston, Massachusetts, on March 17, 2003. This workshop was designed to be a forum for research in formal foundations of aspect-oriented programming languages. The call for papers announced the areas of interest for FOAL as including, but not limited to: semantics of aspect-oriented languages, specification and verification for such languages, type systems, static analysis, theory of testing, theory of aspect composition, theory of aspect translation (compilation) and rewriting, and applications of such theories in practice (such as language design studies). The call for papers welcomed all theoretical and foundational studies of this topic. The goals of this FOAL workshop were to: make progress on the foundations of aspect-oriented programming languages, exchange ideas about semantics and formal methods for aspect-oriented programming languages, foster interest in the programming language theory communities concerning aspects and aspect- oriented programming languages, and foster interest in the formal methods community concerning aspects and aspect-oriented programming. In addition, we hoped that the workshop would produce an outline of collaborative research topics and a list of areas for further exploration.

Aspect-oriented programming, modular reasoning, alternating transition systems, composition, inter-aspect dependencies, AspectJ, aspect classification, aspect reuse, composition graphs, modeling, modular transition systems, aspect inheritance, TinyC^2, code instrumentation, compilers, interpreters, denotational semantics, superimposition, model checking, Bandera, verification aspects, superimposition validation, binding interference