Component-based software development is the next step after object-oriented programmingthatpromisesto reducecomplexityandimprovereusability.These advantages have also been identi?ed by the industry, and consequently, over the past years, a large number of component-based techniques and processes have been adopted in many of these organizations. A visible result of this is the number ofcomponentmodels thathavebeendevelopedandstandardized.These models de?ne how individual software components interact with each other and simplify the design process of software systems by allowing developers to choose from previously existing components. The development of component models is a ?rst step in the right direction, but there are many challenges that cannot be solved by the development of a new component model alone. Such challengesare the adaptation of components, and their development and veri?cation. Software Composition is the premiere workshop to advance the research in component-based software engineering and its related ?elds. SC 2005 was the fourth workshop in this series. As in previous years, SC 2005 was organized as an event co-located with the ETAPS conference. This year’s program consisted of a keynote on the revival of dynamic l- guages given by Prof. Oscar Nierstrasz and 13 technical paper presentations (9 full and 4 short papers). The technical papers were carefully selected from a total of 41 submitted papers. Each paper was thoroughly peer reviewed by at leastthreemembers oftheprogramcommittee andconsensusonacceptancewas achieved by means of an electronic PC discussion. This LNCS volume contains the revised versions of the papers presented at SC 2005.