Spreading excellence and disseminating the cutting edge results of our research and development efforts is crucial to our institute. Check for our educational offers for Bachelor, Master and PhD studies at the University of Innsbruck!

Semantics in Aspect-oriented Software Development

Student name: 

Aspect-oriented Software Development (AOSD) is a rather young stream in Software Engineering which has evolved since 1997. It is essentially about reuse in Software Development in a way that can not be covered by previously invented techniques such as procedural abstraction, object-orientation and component-based software development. The central notion in AOSD is the concept of Aspects which represent design decisions that result in coherent pieces of functionality and behaviour that are usually scattered throughout the code of a system. The reason why the code that belongs to aspects are scattered around within a system is that aspects address properties that cross-cut a system's basic functionality, like for instance logging, compensation and so on. ASOD envisions to enable reuse of such general, system-independent cross-cut functionalities across different systems. It tries to overcome this common problem of reuse by providing suitable abstraction for elements of a system functionality that can be reused across systems. Additionally, a component called Weaver is responsible to integrate aspects into a system in a way that is transparent to the system itself. The purpose of this project is to investigate where and how semantic annotations can be fruitfully applied in Aspect-oriented Software Development in general and specifically the description of aspects. It might be useful to take a look at research on the use of formal methods in software architectures as well, in particular architecture description languages.
The aspects that should be covered by the project are the following:
• Overview on Aspect-oriented Software Development and formal methods in software architecture.
• Identification of relevant application areas for semantic descriptions
• Design of formal description language for Aspects and related description elements.
• Development of a prototype implementation that allows AOSD to exploit semantic descriptions in the developed language
Potential path of extension or successor projects are elaboration on the description language, investigation of the relation between Semantic Web Services and Semantic Aspects, elaboration of the prototype implementation and an evaluation of the prototype capabilities.