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. Not mandatory reading in 2018.

Most chapters of the Szyperski book will be covered by the 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. Chapters 2, 3, 18, 19, 26, 27, 28 are not included in the course. Moreover, there are some lectures that are not covered by the book. Please note that aspect-oriented programming and model-driven engeneering will not be covered by the course this year, but the references are left for those interested.

Lecture slides

Lecture slides will be uploaded here after each lecture.

Introduction and course structure

OO concepts and component systems

Meta-modelling and meta-programming

Challenges in component based programming

SOA and Web-services

Quality measures in Component Systems


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 or if you log in through your student account at login.e.bibl.liu.se/login (see the links below).

On general issues and foundations:

On Object-oriented software as composable software

Interesting Frameworks

  • Qi4J. Advertised as "framework for domain centric application development, including evolved concepts from Aspect Oriented Programming, Dependency Injection and Domain Driven Design".
  • Akka. Described like this "Using the Actor Model we raise the abstraction level and provide a better platform to build scalable, resilient and responsive applications".

On Component Models

Messaging systems

On Java Reflection:


On JavaBeans:

On EJB and Spring:

On SOA / Web services:

On Software Architecture:

On Aspect-Oriented Programming:

On Metaprogramming:

On dependency management systems

On Model-Driven Engineering:

Page responsible: Lena Buffoni
Last updated: 2018-04-06