Programming-language research produces a significant number of new programming styles to improve the composability of programs. This increases re-usability as well as other quality characteristics. But although they offer interesting composition concepts, new programming languages are rarely used because IDE support, which developers are used to, is missing. Examples of such IDE support are the visualization of call hierarchies or interactive debugging. While some languages, e.g., AspectJ, eventually reach a more mature level with elaborate IDE integration, not all language designers are able to invest this much effort towards IDE integration. Furthermore, the IDE integration of AspectJ also has its limitations; when debugging, the developer is confronted with synthetic code with no exact correspondence in the source code. As a result, the developer needs to understand the transformations performed by the compiler. Finally, some information invariably gets lost during weaving, e.g., the ability to map code evaluating pointcut designators to their definition in the source code. In this paper, we propose to implement generic IDE tools for programming languages that provide advanced dispatching mechanisms. Such languages, including predicate dispatching and pointcut-advice languages, can be mapped to our execution model, called ALIA. The same execution model can then drive debugging functionality as well as static IDE services.
|Title of host publication||Proceedings of the First International Workshop on Composition: Objects, Aspects, Components, Services and Product Lines|
|Place of Publication||Aachen|
|Number of pages||5|
|Publication status||Published - 2010|
|Name||CEUR Workshop Proceedings|
|Publisher||M. Jeusfeld c/o Redaktion Sun SITE, Informatik V, RWTH Aachen|
- Advanced dispatching
Bockisch, C., & Sewe, A. (2010). Generic IDE Support for Dispatch-Based Composition. In Proceedings of the First International Workshop on Composition: Objects, Aspects, Components, Services and Product Lines (pp. -). (CEUR Workshop Proceedings; Vol. 564). Aachen: RWTH Aachen.