Advanced Software Composition

Prof. Mehmet Aksit
Chair Software Engineering, University of Twente, Enschede, The Netherlands

15 hours, 4 credits

July 13 - July 16, 2010

Dipartimento di Ingegneria dell'Informazione: Elettronica, Informatica, Telecomunicazioni, via Caruso, meeting room, ground floor

Contacts: Prof. Francesco Marcelloni

   

Aims

Separation and composition of concerns is the key technique to manage software complexity. The aim of this series of lectures is to make the students comprehend the important software composition challenges and to introduce advanced solutions in addressing these challenges. Participants will understand the generic and domain specific nature of software composition problems, and will gain knowledge in object-oriented, aspect-oriented and generative solution approaches. The lessons will be detailed in advanced dispatch mechanisms and language-independent approaches as demonstrated by the composition filters model. Also, the issues of semantic interference, verification of functional behavior, reusable and extensible compositions, and practical applications will be discussed.

Syllabus

  • The need for software composition.
  • Separation and composition of concerns in module-based and object-oriented languages.
  • Tangling and scattering of concerns.
  • Generic concerns at interfaces, executions and states.
  • Domain specific concerns in concurrent systems, distributed systems and control systems.
  • Aspect-oriented approaches: brief introduction to AspectJ, HyperJ and framework based approaches such as Spring AOP.
  • Introduction to the Composition Filters model.
  • Addressing the software composition problems.
  • Semantic interference problems and solution approaches.
  • Application of advanced software composition techniques.