State of the Art and Practice of OpenSource Component Integration

The open source software (OSS) development approach has become a remarkable option to consider for cost-efficient, high quality software development. Utilizing OSS as part of an in-house software application requires the software company to take the role of a component integrator. In addition, integrating OSS as part of in-house software has a few differences compared to integrating closed source software and in-house software, such as access to source code and the fact that OSS evolves differently than closed source software. This paper describes the current state of the art and practice of open source integration techniques. The main observations are that the lack of documentation and heterogeneity of platforms are problems that neither the state of the art or practice could solve. In addition, although literature provides techniques and methods for predicting and solving both architecture and component level integration problems, these were not used in practice. Instead, companies relied on experience and rules of thumb

[1]  Eila Niemelä,et al.  Practical Evaluation of Software Product Family Architectures , 2004, SPLC.

[2]  R. Keshav,et al.  Towards a taxonomy of architecture integration strategies , 1998, ISAW '98.

[3]  Hans Toetenel,et al.  Embedded Software Engineering: The State of the Practice , 2003, IEEE Softw..

[4]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[5]  Stefan Koch,et al.  Evolution of Open Source Software Systems - A Large-Scale Investigation , 2005 .

[6]  Leigh A. Davis,et al.  Conflict Patterns: Toward Identifying Suitable Middleware , 2001, IRI.

[7]  Christof Ebert,et al.  Using open source software in product development: a primer , 2004, IEEE Software.

[8]  Michelle Levesque,et al.  Fundamental issues with open source software development , 2004, First Monday.

[9]  Giancarlo Succi,et al.  An empirical study of open-source and closed-source software products , 2004, IEEE Transactions on Software Engineering.

[10]  Kouichi Kishida,et al.  Evolution patterns of open-source software systems and communities , 2002, IWPSE '02.

[11]  Thomas A. Henzinger,et al.  Interface Compatibility Checking for Software Modules , 2002, CAV.

[12]  Ying-Dar Lin,et al.  Open Source Software Development: An Overview , 2001, Computer.

[13]  Olivier Berger,et al.  Why and how to contribute to libre software when you integrate them into an in-house application ? , 2005 .

[14]  Leigh A. Davis,et al.  The impact of component architectures on interoperability , 2002, J. Syst. Softw..

[15]  Ioannis Stamelos,et al.  Open source software development should strive for even greater code maintainability , 2004, CACM.

[16]  Scott P. Muir An introduction to the open source software issue , 2005, Libr. Hi Tech.

[17]  Jean-Marc Jézéquel,et al.  Making Components Contract Aware , 1999, Computer.

[18]  Joaquin Miller,et al.  MDA Guide Version 1.0.1 , 2003 .

[19]  James M. Bieman,et al.  Software architecture classification for estimating the cost of COTS integration , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[20]  Leigh A. Davis,et al.  A notation for problematic architecture interactions , 2001, ESEC/FSE-9.

[21]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..