The Community for Technology Leaders
RSS Icon
Issue No.05 - September/October (2011 vol.37)
pp: 593-615
Ivica Crnković , Mälardalen University, Västerås
Séverine Sentilles , Mälardalen University, Västerås
Aneta Vulgarakis , Mälardalen University, Västerås
Michel R.V. Chaudron , Universiteit Leiden, Leiden
In the last decade, a large number of different software component models have been developed, with different aims and using different principles and technologies. This has resulted in a number of models which have many similarities, but also principal differences, and in many cases unclear concepts. Component-based development has not succeeded in providing standard principles, as has, for example, object-oriented development. In order to increase the understanding of the concepts and to differentiate component models more easily, this paper identifies, discusses, and characterizes fundamental principles of component models and provides a Component Model Classification Framework based on these principles. Further, the paper classifies a large number of component models using this framework.
Software components, software component models, component lifecycle, extra-functional properties, component composition.
Ivica Crnković, Séverine Sentilles, Aneta Vulgarakis, Michel R.V. Chaudron, "A Classification Framework for Software Component Models", IEEE Transactions on Software Engineering, vol.37, no. 5, pp. 593-615, September/October 2011, doi:10.1109/TSE.2010.83
[1] B. Meyer, "What to Compose," Software Development Magazine, Beyond Objects column,, Mar. 2000.
[2] C. Szyperski, Component Software: Beyond Object-Oriented Programming. Addison-Wesley Professional, Dec. 1997.
[3] G.T. Heineman and W.T. Councill, Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley Longman Publishing Co., 2001.
[4] N. Medvidovic, E.M. Dashofy, and R.N. Taylor, "Moving Architectural Description from under the Technology Lamppost," Information and Software Technology, vol. 49, no. 1, pp. 12-31, 2007.
[5] N. Medvidovic and R.N. Taylor, "A Classification and Comparison Framework for Software Architecture Description Languages," IEEE Trans. Software Eng., vol. 26, no. 1, pp. 70-93, Jan. 2000.
[6] M.R.V. Chaudron and I. Crnkovic, Software Engineering: Principles and Practice, third ed., ch. 18. Wiley, 2008.
[7] I. Crnkovic, M.R.V. Chaudron, and S. Larsson, "Component-Based Development Process and Component Lifecycle," J. Computing and Information Technology, vol. 13, no. 4, pp. 321-327, Nov. 2005.
[8] I. Crnkovic and M. Larsson, Building Reliable Component-Based Software Systems. Artech House, Inc., 2002.
[9] A. Beugnard, J.-M. Jézéquel, N. Plouzeau, and D. Watkins, "Making Components Contract Aware," Computer, vol. 32, no. 7, pp. 38-45, 1999.
[10] I. Crnkovic, M. Larsson, and O. Preiss, "Concerning Predictability in Dependable Component-Based Systems: Classification of Quality Attributes," Architecting Dependable Systems III, pp. 257-278, 2005.
[11] G. Kotonya, I. Sommerville, and S. Hall, "Towards a Classification Model for Component-Based Software Engineering Research," Proc. 29th EUROMICRO Conf., pp. 43-52, 2003.
[12] K.-K. Lau and Z. Wang, "Software Component Models," IEEE Trans. Software Eng., vol. 33, no. 10, pp. 709-724, Oct. 2007.
[13] M. Åkerholm, J. Carlson, J. Fredriksson, H. Hansson, J. Håkansson, A. Möller, P. Pettersson, and M. Tivoli, "The SAVE Approach to Component-Based Development of Vehicular Systems," J. Systems and Software, vol. 80, no. 5, pp. 655-667, May 2007.
[14] S. Sentilles, A. Vulgarakis, T. Bures, J. Carlson, and I. Crnkovic, "A Component Model for Control-Intensive Distributed Embedded Systems," Proc. 11th Int'l Symp. Component Based Software Eng., pp. 310-317, Oct. 2008.
[15] H. Maaskant, A Robust Component Model for Consumer Electronic Products, vol. 3, pp. 167-192. Springer, 2005.
[16] J. Cheesman and J. Daniels, UML Components: A Simple Process for Specifying Component-Based Software. Addison-Wesley Longman Publishing Co., Inc., 2000.
[17] R. van Ommering, F. van der Linden, J. Kramer, and J. Magee, "The Koala Component Model for Consumer Electronics Software," Computer, vol. 33, no. 3, pp. 78-85, 2000.
[18] S. Becker, H. Koziolek, and R. Reussner, "Model-Based Performance Prediction with the Palladio Component Model," Proc. Sixth Int'l Workshop Software and Performance, pp. 54-65, 2007.
[19] C. Atkinson, J. Bayer, C. Bunse, E. Kamsties, O. Laitenberger, R. Laqua, D. Muthig, B. Paech, J. Wüst, and J. Zettel, Component-Based Product Line Engineering with UML. Addison-Wesley Longman Publishing Co., Inc., 2002.
[20] S. Hissam, J. Ivers, D. Plakosh, and K.C. Wallnau, "Pin Component Technology (V1.0) and Its C Interface," Technical Note: CMU/SEI-2005-TN-001. pdf05tn001.pdf, Apr. 2005.
[21] E.E. Group, "JSR 220: Enterprise JavaBeansTM,Version 3.0 EJB Core Contracts and Requirements Version 3.0, Final Release," May 2006.
[22] "OMG CORBA Component Model v4.0,", 2011.
[23] D. Box, Essential COM. Object Technology Series. Addison-Wesley, 1997.
[24] Oxford Advanced Learners Dictionary, http:/www.oxfordadvanced /, 2011.
[25] Sun Microsystems, "Javabeans Specification," javase/technologies/desktop/ javabeans/docsspec.html, 1997.
[26] OSGi Alliance, "OSGi Service Platform Core Specification, V4.1," 2007.
[27] T.O.M. Group, "UML Superstructure Specification v2.1,", Apr. 2009.
[28] IEC, "Application and Implementation of IEC 61131-3," IEC, 1995.
[29] K. Hanninen, J. Maki-Turja, M. Nolin, M. Lindberg, J. Lundback, and K. Lundback, "The Rubus Component Model for Resource Constrained Real-Time Systems," Proc. Int'l Symp. Industrial Embedded Systems, pp. 177-183, June 2008.
[30] E. Bruneton, T. Coupaye, and J. Stefani, "The Fractal Component Model Specification," The ObjectWeb Consortium, technical report, index. html, Feb. 2004.
[31] A. Basu, M. Bozga, and J. Sifakis, "Modeling Heterogeneous Real-Time Components in Bip," Proc. Fourth IEEE Int'l Conf. Software Eng. and Formal Methods, pp. 3-12, 2006.
[32] W. Emmerich, M. Aoyama, and J. Sventek, "The Impact of Research on the Development of Middleware Technology," ACM Trans. Software Eng. and Methodology, vol. 17, no. 4, pp. 1-48, 2008.
[33] M. Shaw, "Truth vs Knowledge: The Difference between What a Component Does and What We Know It Does," Proc. Int'l Workshop on Software Specification and Design, pp. 181-185, 1996.
[34] "PECT Homepage,", accessed July 2008.
[35] S. Sentilles, P. Stepan, J. Carlson, and I. Crnkovic, "Integration of Extra-Functional Properties in Component Models," Proc. 12th Int'l Symp. Component Based Software Eng., June 2009.
[36] S.J. Mellor and M. Balcer, Executable UML: A Foundation for Model-Driven Architectures. Addison-Wesley Longman Publishing Co., Inc., 2002.
[37] H. Breivold and M. Larsson, "Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles," Proc. EUROMICRO Conf. Software Eng. and Advanced Applications, pp. 13-20, Aug. 2007.
[38] AUTOSAR Development Partnership, "AUTOSAR—Technical Overview V2.0.1,", June 2006.
[39] J.E. Kim, O. Rogalla, S. Kramer, and A. Haman, "Extracting, Specifying and Predicting Software System Properties in Component Based Real-Time Embedded Software Development," Proc. 31st Int'l Conf. Software Eng., 2009.
[40] X. Ke, K. Sierszecki, and C. Angelov, "COMDES-II: A Component-Based Framework for Generative Development of Distributed Real-Time Control Systems," Proc. 13th IEEE Int'l Conf. Embedded and Real-Time Computing Systems and Applications, pp. 199-208, 2007.
[41] R. Bastide and E. Barboni, "Component-Based Behavioural Modelling with High-Level Petri Nets," Proc. Third Workshop Modelling of Objects, Components and Agents, pp. 37-46, Oct. 2004.
[42] IEC, "IEC 61499 Function Blocks for Embedded and Distributed Control Systems Design," IEC, 2005.
[43] M. Clarke, G. Blair, G. Coulson, and N. Parlavantzas, "An Efficient Component Model for the Construction of Adaptive Middleware," Proc. IFIP/ACM Int'l Conf. Distributed Systems Platforms, 2001.
[44] M. Winter, C. Zeidler, and C. Stich, "The PECOS Software Process," Proc. Workshop Components-Based Software Development Processes, 2002.
[45] J. Muskens, M.R.V. Chaudron, and J.J. Lukkien, "A Component Framework for Consumer Electronics Middleware," Component-Based Software Development for Embedded Systems, pp. 164-184, Springer, 2005.
[46] T. Bureš, P. Hnetynka, and F. Plášil, "SOFA 2.0: Balancing Advanced Features in a Hierarchical Component Model," Proc. Int'l Conf. Software Eng. Research, Management and Applications, pp. 40-48, 2006.
[47] J. Feljan, L. Lednicki, J. Maras, A. Petricic, and I. Crnkovic, "Classification and Survey of Component Models," Technical Report MRTC report ISSN 1404-3041 ISRN MDH-MRTC-242/2009-1-SE, http://www.mrtc.mdh.seindex.php?choice= publications&id=2099 , Dec. 2009.
[48] S. Yacoub, H. Ammar, and A. Mili, "A Model for Classifying Component Interfaces," Proc. Second Int'l Workshop on Component-Based Software Eng. in Conjunction with the 21st Int'l Conf. Software Eng., pp. 17-18, 1999.
[49] S. Yacoub, H. Ammar, and A. Mili, "Characterizing a Software Component," Proc. Second Workshop on Component-Based Software Eng. in Conjunction with Int'l Conf. Software Eng., 1999.
[50] K.J. Fellner and K. Turowski, "Classification Framework for Business Components," Proc. 33rd Hawaii Int'l Conf. System Sciences, vol. 8, p. 8047, 2000.
[51] M. Bozga, S. Graf, I. Ober, I. Ober, and J. Sifakis, "The IF Toolset," Formal Methods for the Design of Real-Time Systems, Int'l School on Formal Methods for the Design of Computer, Comm., and Software Systems, SFM-RT 2004, pp. 237-267, 2004.
[52] G. Gössler, "Prometheus—A Compositional Modeling Tool for Real-Time Systems." Proc. Workshop Real-Time System Tools, 2001.
[53] C. Seceleanu, A. Vulgarakis, and P. Pettersson, "REMES: A Resource Model for Embedded Systems," Proc. 14th IEEE Int'l Conf. Eng. Complex Computer Systems, June 2009.
329 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool