Leiden University LIACS
home   search   contact
Research
Opleiding Informatica
  Info voor scholieren
  Info voor studenten en werknemers
Roosters
Vakken
Agenda
Opleidingscommissie
Studieadviseurs
Studiegids / Documenten
Regelingen & Bepalingen
Wegwijzer
  Het studietraject
  Master Computer Science
  Master ICT in Business
  Master Mediatechnology
International Students
People
Old website



Component Based Software Engineering
Marcello Bonsangue
Building large and complex systems from available parts is a common strategy in today industry (think for example to the computer-hardware and car industries). Many software industries, however, produce complex systems that are expensive, hand-crafted, error-prone, and one of a kind. Very often pieces of software cannot be reused easily because their code strongly depends on that of the system in which they will be integrated. Recently, trends have emerged for software development through the planned integration of pre-existing software components. This is often called component-based development. It incorporates successful concepts from established paradigms like object-orientation while trying to overcome some of their deficiencies. In this seminar we will introduce component based software engineering by discussing foundational, technical and business issues related to a reusable software production.

The primary concern in this course is to expose the students to the underlying concepts of component-based software and of the several existing components models, rather than train them to use a specific technology.

The assessment is based on the in class participation, a presentation and on a written examination that will take place in room 412 from 13:00 to 16:00 o' clock on Friday January 20th, 2006.

Class:  Room WI 403, from 11:15 to 13:00
Class schedule:  September 9, 16, 23;
October 7, 14, 21, 28;
November 11, 18, 25;
December 2;
Intended Group(s):  students Master in Computer Science
Studypoints:  7 ECTS
Literature:  C. Szyperski, D. Gruntz and S. Murer Component Software: beyond object-oriented programming - Second edition
Addison-Wesley, 2002 (ISBN 0-201-74572-0)
Lecturer:  Marcello Bonsangue | E-Mail
Phone: +31 (0)71 – 5277095 | Office: 155a
Remark:  The course is taught in English
Lectures: 
Nun Date Topic Lecturer Reading
1.a 09.09.05 Overview and organization M. Bonsangue  
1.b   Motivation M. Bonsangue [Szy02]:1,3
2 16.09.05 Review of OO concepts M. Bonsangue Object-oriented programming:Ch. 1
3.a 23.09.05 Interfaces and contracts M. Bonsangue [Szy02]:5.1-5
3.b   Callbacks and re-entrance --- [Szy02]:5.4-11
4a 7.10.05 Polymorphism Marten Groeneweg [Szy02]:6
4b   Object and class composition M. Bonsangue [Szy02]:7.1-5
5a 14.10.05 Object and class composition II Marine Ruhamanya [Szy02]:7.6-9
5b   Component composition Janne Louw [Szy02]:10
6a 21.10.04 Component coordination Nadia Ramjiawan [Arb05]
7a 28.10.04 XML Michiel Pouw [Szy02]:12
7b   CORBA Jan Willem Klinkenberg [Szy02]:13
8a 11.11.05 JavaBeans David Snuijf [Szy02]:14
8b   COM Feraz Imani [Szy02]:15.1-10
9   RoboCop Thomas Seppi Paper
10a 18.11.05 .Net Mahmoud Abidi [Szy02]:15.11-13
10b 25.11.05 Comparison M. Bonsangue [Szy02]:17
10c   Component frameworks Roy Kensmil [Szy02]:20,21
11a 2.12.05 Component development ">Matteo Bordin [Szy02]:22 + [CLC05]
11b   ">Component testing C. Schanes [Som04]:23
11c   Final concerns M. Bonsangue
Bibliography:  [Arb05] F. Arbab. Abstract Behavior Types: A Foundation Model for Components and Their Composition. In Science of Computer Programming:55(1-2), Elsevier Science, March 2005.

[CLC05] Ivica Crnkovic, Stig Larsson, and Michel Chaudron Component-based Development Process and Component Lifecycle In 27th International Conference Information Technology Interfaces (ITI), IEEE, 2005.

[Som04] I. Sommerville Software Engineering. Pearson Education Limited, 2004

[Szy02] C. Szyperski, D. Gruntz and S. Murer Component Software: beyond object-oriented programming - Second edition, Addison-Wesley, 2002

Old examinations: 

Examination 23 January 2004.


previous page go to top
Last edited by: Marcello Bonsangue