Hide menu

TDDD05 Component-based Software

Course literature

Course book

Component Software, Beyond Object-Oriented Programming, second edition, by Clemens Szyperski. Addison-Wesley, 2002. ISBN 0-201-74572-0.

Most chapters of the Szyperski book will be covered by online lectures, at least at some degree. It also serves as background reading, providing more details on some of the topics that can not be treated exhaustively in the lectures. References to the corresponding chapters will be given on the slides as appropriate. Chapters 2, 3, 18, 19, 26, 27, 28 will not be taken up. Moreover, there are some lectures that are not covered by the book.


Please note that scientific papers from ACM, Springer or IEEE are available for download only if accessed through an Internet connection originating from within LiU. If you are at home, you may set up an SSH SOCKS proxy to remote-und.ida.liu.se in order to download papers.

On general issues and foundations:

On Object-oriented software as composable software

On Composition Languages

  • Piccola. A composition language for Java components

On Component Models

  • K. Lau, Z. Wang: Software Component Models.
    IEEE Trans. Softw. Eng. 33(10), Oct. 2007.

  • OSGi as a specification of component models in Java, which is implemented by several vendors such as the Eclipse foundation through Equinox.
  • Equinox as a component model implementing OSGi. Used in the Eclipse IDE.
  • OSGi? No Thanks by Ross Mason @ MuleSoft.
  • Bonobo, the component model used in the desktop environment Gnome.
  • KParts, the component model used in the desktop environment KDE.
  • D-Bus, a messaging system used by Gnome and KDE to facilitate interprocess communication and component lifecycle management.
  • The Fractal component model, a modular, extensible and programming language agnostic component model.

Messaging systems

On Java Reflection:


On JavaBeans:

On EJB and Spring:

On SOA / Web services:

On Software Architecture:


On metaprogramming:

On software package management systems


Page responsible: Ola Leifler
Last updated: 2014-05-20