Commenced in January 2007
Frequency: Monthly
Edition: International
Paper Count: 31181
Some Pertinent Issues and Considerations on CBSE

Authors: Anil Kumar Tripathi, Ratneshwer

Abstract:

All the software engineering researches and best industry practices aim at providing software products with high degree of quality and functionality at low cost and less time. These requirements are addressed by the Component Based Software Engineering (CBSE) as well. CBSE, which deals with the software construction by components’ assembly, is a revolutionary extension of Software Engineering. CBSE must define and describe processes to assure timely completion of high quality software systems that are composed of a variety of pre built software components. Though these features provide distinct and visible benefits in software design and programming, they also raise some challenging problems. The aim of this work is to summarize the pertinent issues and considerations in CBSE to make an understanding in forms of concepts and observations that may lead to development of newer ways of dealing with the problems and challenges in CBSE.

Keywords: Maintenance, Testing, Software Process, software component, Component Based Software Engineering

Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1100717

Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1565

References:


[1] G. O. Young, “Synthetic structure of industrial plastics (Book style with paper title and editor),” in Plastics, 2nd ed. vol. 3, J. Peters, Ed. New York: McGraw-Hill, 1964, pp. 15–64.
[2] Booch, G. (1993). Software Components with Ada: Structures, Tools, and Subsystems, 3rd Edition. Reading, MA: Addition-Wesley.
[3] Szyperski, C. (1999). Component Software- Beyond Object Oriented Programming, Reading, MA: Addition-Weslay.
[4] Gao, J., Z., Jacob Tsav, H., S., & Wu, Y. (2003). Testing and Quality Assurance for Component Based Software, MA: Artech House, INC.
[5] Brown, A. J. (2000). Large-scale Component Based Development. Englewood Cliffs, NJ: Prientice Hall.
[6] OMG. (2000). OMG Unified Modeling Language Specification, version 1.4, Object Management Group, 2000.
[7] Councill, W. T. &Heineman, G. T. (Eds.). (2001). Component Based Software Engineering: Putting the Pieces Togather, Reading, MA: Addison Wesley, 2001.
[8] Lowy, J.(2005). Programming .Net Components. O'Reilly Media, Inc. Sebastopol,CA.
[9] Crnkovic, I. & Larsson, M. (2002). Building Reliable Component Based Systems. MA: Artech House Publishers.
[10] Weinreich, R. &Sametinger, J. (2001). Component models and component services: concepts and principles. In G. T. Heineman and W. T. Councill, (Eds.), Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley Longman Publishing Co., Boston, MA, 33-48.
[11] Dijkstra, E. (1968),The Structure of the ‘T.H.E.’ Multiprogramming System. (Electronic Version).Communications of the Association of Computing Machinery, Vol. 11, No. 5, pp. 453-457.
[12] McIlroy, M. D. (1968). Mass Produced Software Components. In: NATO Software Engineering Conference Report, Garmisch, Germany, October, pp. 79-85.
[13] Parnas, D. (1972). On the Criteria for Decomposing Systems into Modules. (Electronic Version).Communications of the Association of the Computing Machinery, Vol. 15, No. 12, pp. 1053-1058.
[14] Brooks, F. (1987). No Silver Bullet: Essence and Accidents of Software Engineering. IEEE Computer, Vol. 20, No. 4, 1987, pp. 10-19.
[15] Pree, W. (1997). Component-Based Software Development- A New Paradigm in Software Engineering?In Proceedings of the Fourth Asia-Pacific Software Engineering and International Computer Science Conference, APSEC.IEEE Computer Society, Washington, DC.
[16] Brown, A. W. and Wallnan, K. C. (1996). Engineering of Componentbased Systems.In Proceedings of the 2nd IEEE international Conference on Engineering of Complex Computer Systems (ICECCS '96) (October 21 – 25).ICECCS.IEEE Computer Society, Washington, DC, 414.
[17] Morisio, M., Seaman, C. B., Parra, A. T. &Basili, V. R. (2000). Issues in COTS-Based Software Development. Presented at COTS Workshop - Continuing Collaborations for Successful COTS Development, Limerick, Ireland.
[18] Tripathi, A. K., Ratneshwer& Gupta, M. (2007). Some Observation on software processes for CBSE. Software Process: Improvement and Practice. Volume 13, Issue 5, September 2008, pages 411-419.
[19] Kim,H. K., Chung,Y. K. (2006), “Transforming a Legacy System into Components”, Springer-Verlag Berlin Heidelberg, 2006.
[20] Keller, R. K., Schauer, R., Robitaille, S., &Pagé, P. (1999). Patternbased Reverse-Engineering of design components.In Proceedings of the 21st international Conference on Software Engineering (Los Angeles, California, United States, May 16 – 22).International Conference on Software Engineering. IEEE Computer Society Press, Los Alamitos, CA, 226-235.
[21] Skramstad, T., Khan, K., Rashid, M., (1999). Constructing Commercial Off-the- Shelf from Legacy system: A Conceptual Framework, Australasia Conference on Information Systems (ACIS), Wellington, 1-3 December 1999, pp. 798-805.
[22] Favre, J. M., Cervantes, H., Sanlaville, R, Duclos, F. &Estublier, J. (2001). Issues in Reengineering the Architecture of Evolving Component-Based Software. SWARM forum (Software Architecture Recovery and Modeling) at the Working Conference on Reverse Engineering (WCRE'2001) Stuttgart, Germany, October 2001.
[23] Lundberg, Jonas &Löwe, W. (2003). Architecture Recovery By Semi- Automatic Component Identifcation. In: Software Composition (SC'03) - a workshop afiliated with the Europian Joint Conference on Theory and Practice of Software (ETAPS'03), Poland, April 2003.
[24] Kontogiannis, K. &Zou, Y. (2004). Reengineering Legacy Systems Towards Web Environments. In: K. M. Khan and Y. Zheng (eds.): Managing Corporate Information Systems Evolution and Maintenance, Idea Group Publishing, Hershey. pp. 138–146.
[25] CGI. (2004). White Paper on “Component Mining: An approach for Identifying Reusable Components from Legacy Systems”, By CGI Groups. http://whitepapers.techrepublic.com.com/abstract.aspx?docid=122639. Retrieved August 2007.
[26] Lüders, F., Lau, K. K. and Ho, S. M. (2000), “Specification of Software Components”, In IvicaCrnkovic and Magnus Larsson (Editors),Building Reliable Component-Based Software Systems, ISBN 1-58053-327-2, Artech House Books, 2000.
[27] Ning, J. Q. (1996). A Component-Based Software Development Model. In Proceedings of the 20th Conference on Computer Software and Applications (August 19 – 23). COMPSAC.IEEE Computer Society, Washington, DC, 389.
[28] Collins-Cope, M. & Matthews, H. (2000). A Reference Architecture for Component Based Development. in Proceedings of the 6th international Conference on Object Oriented information Systems (December 18 - 20, 2000). Springer-Verlag, London, 225-237.
[29] Bosch, J. & Stafford, J. A. (2002). Architecting Component Based Systems. In I. Crnkovic.and M. Larsson (Eds.), Building Reliable Component Based Systems (p. 41-54). MA: Artech House, publishers.
[30] Conradi, R., Jaccheri, L. &Torchiano, M. (2003). Using software process modeling to analyze the COTS based development process. In proceedings of Prosim’03 Workshop, May 2-3, Portland State University, Maryland.
[31] Smeda, A., Oussalah, M. &Khammaci, T. (2004). Improving Component-Based Software Architecture by Separating Computations from Interactions.First International Workshop on Coordination and Adaptation Techniques for Software Entities, WCAT'04, Oslo, Norway.
[32] Hatebur, D., Heisel, M. &Souquieres, J. (2006). A Method for Component-Based Software and System Development. In Proceedings of the 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (August 29 - September 01, 2006). EUROMICRO. IEEE Computer Society, Washington, DC, pp. 72-80.
[33] Lucas, C &Steyaert, P. &Mens, K. (1996). Research Topics in Composability.In Proceedings of the CIOO Workshop at ECOOP, Linz, Austria, July 8-12, 1996.
[34] Seco, J. C., (2000). Type Safe Composition in .NET.In the proceedings of The First Microsoft Research – Summer Research Workshop, Cambridge, England.
[35] Sitaraman, M. (2001). Compositional Performance Reasoning. In proceedings of 4th ICSE Workshop on Component Based Software Engineering Component certification and system prediction, may 14-15, Toronto, Canada.
[36] Wuyts, R. &Ducasse, S. (2002). Composition languages for black-box components. http://www.iam.unibe.ch/scg/Archive/Papers/ Wuyt01c.pdf, February 2002.
[37] Petty, M. D. (2002). Semantic Composability and XMSF”, XMSF Technical Challenges Workshop 2002, Monterey CA.
[38] Lüer, C. &Hoek, A. V. (2002). Composition Environments for Deployable Software Components.Technical Report.UCI-ICS-02-18. Department of Information and Computer Science, University of California, Irvine, August 2002.
[39] Reussner, R. H., Firus, V. & Becker, S. (2004). Parametric Performance Contracts for Software Components and their Compositionality.In Proceedings of the 9th International Workshop on Component-Oriented Programming (WCOP 04), Oslo, Norway, June 2004.
[40] Bergmans, L., Tekinerdogan, B., Glandrup, M. &Aksit, M. (2000). On Composing Separated Concerns- Composability and Composition Anomolies. ACM OOPSLA Workshop on Advanced Separation of Concerns, Minneapolis, Minnesota, USA, 15-19 Oct, 2000.
[41] Gill N.S. (2003). “Reusability Issues in Component based Development”, ACM SIGSOFT SEN, Volume 28, Number 4, 2003, ACM Press, New York, NY, USA, Pages 4-7.
[42] Caldiera,G. and Basili, V. R. (1991). “Identifying and qualifying reusable software components,” Computer, vol. 24, no. 2, pp. 61-70, Feb. 1991.
[43] Rosenblum, D. S. (1997). Adequate testing of component-based software. Technical Report. Department of Computer Science.University of California, Irvine. Technical Report UCI-ICS97 -34.
[44] Martins, E., Toyota, C. M. &Yanagawa, R. L. (2001). Constructing Self- Testable Software Components. In Proceedings of the 2001 international Conference on Dependable Systems and Networks (Formerly: Ftcs) (July 01 - 04, 2001). DSN. IEEE Computer Society, Washington, DC, 151-160.
[45] Weide, B. (2001). Modular regression testing”: Connections to component-based software. In proceedings of 4th ICSE Workshop on Component-based Software Engineering: Component Certification and System Prediction. May 14-15, Toranto, Canada, p. 47-51.
[46] Weyuker, E. J. (2001). The Trouble with Testing Components.In G. T. Heineinnan and W. T. Councill. Component Based Software Engineering- Putting the Pieces Together (pp: 519-522). MA:Addison Wesley Professional.
[47] Mariani, L. &Pezze, M. (2003). Behavior Capture and Test for Controlling the Quality of Component-Based Integrated systems. In: Proceedings of the ESEC/FSE Workshop on Tool integration in system development, Helsinki.
[48] Denaro, G., Polini, A. &Emmerich, W. (2005). Performance Testing of Distributed Component Architectures. In: Building Quality into COTS Components - Testing and Debugging. Springer, pp. 294-314.
[49] Vigder, M. (2001). The Evolution, Maintenance and Management of Component Based Systems. In G. T. Heineman& W. T.Councill (Eds.), Component Based Software Engineering: Putting the Pieces Togather (pp. xvii). Addison-Wesley Longman Publishing Co., Boston, MA.
[50] Clapp, J. A. &Taub, A. E. (1998). A Management Guide to Software Maintenance in COTS-Based Systems. MITRE Corporation. http://www.mitre.org/resources/centers/sepo/sustainment/manage_guide _cots_base.html.
[51] Voas, J. et al. (1996). Gluing Together Software Components: How Good Is Your Glue? Proc. Pacific Northwest Software Quality Conf., Pacific Northwest Software Quality Conf. Inc., Portland, Ore., 1996, pp. 338-349.
[52] Vigder, M. R. & Dean, J. C. (1998(a)). Managing long-lived COTS based systems. In Software Engineering Standards Workshop, Monterey, California.
[53] Dig, D. & Johnson, R. (2006). Automated Upgrading of Componentbased Applications. In Companion To the 21st ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (Portland, Oregon, USA, October 22 - 26, 2006). OOPSLA '06. ACM, New York, NY, 675-676.
[54] Verner, J. & Tate, G. (1992). A Software Size Model.IEEE Transaction of Software Engineerung. 18, 4 (Apr. 1992), 265-278.
[55] Paul, R. A. (1995). Metrics-guided Reuse. In Proceedings of the Seventh International Conference on Tools with Artificial Intelligence, p.120, November 05-08.
[56] Smith, R., Parrish, A. & Hale, J. (1998). Cost Estimation for Component Based Software Development", Proceedings of the 36th Annual ACM Southeast Conference, April 1-3, Marietta, Georgia.
[57] Poulin, J. S. (2001). Measurement and metrics for software components. In G. T. Heineman and W. T. Councill (Eds.), Component-Based Software Engineering: Putting the Pieces Together (p. 432-452). Addison-Wesley Longman Publishing Co., Boston, MA.
[58] Villela, C., Becker, L. B., and Pereira, C. E. (2001). Framework for Component-Based Development of Distributed Real-Time Systems.In Proceedings of the Sixth international Workshop on Object-Oriented Real-Time Dependable Systems (Words'01) (January 08 - 10, 2001).WORDS.IEEE Computer Society, Washington, DC, 85.
[59] Crnkovic, I. 2005. Component-based Software Engineering for Embedded Systems.In Proceedings of the 27th international Conference on Software Engineering (St. Louis, MO, USA, May 15 - 21, 2005).ICSE '05. ACM, New York, NY, 712-713.
[60] Wang, Y., King, G. &Wickburg, H. (1999). A Method for Built-in Tests in Component-based Software Maintenance.In Proceedings of the Third European Conference on Software Maintenance and Reengineering (March 03 – 05).CSMR.IEEE Computer Society, Washington, DC, 186.
[61] Madl, G. &Abdelwahed, S. 2005. Model-based analysis of distributed real-time embedded system composition.In Proceedings of the 5th ACM international Conference on Embedded Software (Jersey City, NJ, USA, September 18 - 22, 2005).EMSOFT '05. ACM, New York, NY, 371- 374.
[62] Sinhaa, P. &Hanumantharyab, A. (2005). A novel approach for component-based fault-tolerant software development. Information and Software Technology, Volume 47, Issue 6, 15 April 2005, Pages 365- 382.
[63] Wuyts, R., Ducasse, S. &Nierstrasz, O. (2005). A data-centric approach to composing embedded, real-time software components. (Electronic Version). Journal of System and Software. 74, 1 (Jan. 2005), 25-34.
[64] Loyall, J. P. &Mathisen, S. A. (1993). Using Dependence Analysis to Support the Software Maintenance Process. In Proceedings of the Conference on Software Maintenance D. N. Card, Ed. IEEE Computer Society, Washington, DC, 282-291.
[65] Vieira, M. and Richardson, D. (2002). Analyzing Dependencies in Large Component-Based Systems.In Proceedings of the 17th IEEE international Conference on Automated Software Engineering (September 23 - 27, 2002).Automated Software Engineering.IEEE Computer Society, Washington, DC, 241.
[66] Chen, J. 2007. Component Oriented Design Style. In Proceedings of the 31st Annual international Computer Software and Applications Conference - Vol. 2- (COMPSAC 2007) - Volume 02 (July 24 – 27).COMPSAC. IEEE Computer Society, Washington, DC, 651-657.
[67] Guo, J. (2002(a)). Using Category Theory to Model Software Component Dependencies.In Proceedings of the 9th IEEE international Conference on Engineering of Computer-Based Systems (April 08 - 11, 2002).IEEE Computer Society, Washington, DC, 185.
[68] Stankovic, j. A., Zhu, R., Poornalingam, R., Lu, C., Yu, Z., Humphrey, M. & Ellis, B. (2003). VEST: An Aspect-Based Composition Tool for Real-Time Systems. In Proceedings of the The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, p.58, May 27- 30,Washington, DC.
[69] Yan S, Wang J, Liu C, Liu L (2008), An approach to discover dependencies between service operations. Journal of Software, 3(9):36- 43.
[70] Brown, A., Johnston, S.and Kelly, K. (2002). “Using Service Oriented Architecture and Component-Based Development to Build Web Service Applications”, A Rational Software White Paper, 2002. Breivold, H. and Larsson, M. &ldquo,(2007) Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles,&rdquo, Proc. EUROMICRO Conf. Software Eng. and Advanced Applications, pp. 13- 20, Aug. 2007.
[71] Iribarne, L.: Web Components: A comparison between Web services and software components. Colombian Journal of Computation, 5(1), 47– 66 (2004).’
[72] Bucanac, C. (1995). Problems With Component Based Software Development- A Comparison between Theory and Practice. Master Thesis, Department of Software Engineering and Computer Science, University of Karlskrona, Sweden.
[73] Maiden, N. A. & Ncube, C. Acquiring COTS Software Selection Requirements, IEEE Software, March/April 1998.
[74] Gatherer, A., From 2008 to 2020:A history of developments in programmability, Article on Web. Access at: http://www.ti.com/lit/wp/spry118/spry118.pdf.
[75] Dai, H., Chen, T., Jia, Z. (2009), Component-Based Multi-Threading Support of the Multi-Core Mobile Software, WRI International Conference on Communications and Mobile Computing, 2009. CMC '09, Yunnan, 6-8 Jan. 2009, pp. 17-20.
[76] Macariu, G., Cretu, V. (2011),Enabling Parallelism and Resource Sharing in Multi-core Component-based Systems, 14th IEEE International Symposium on Object/Component/Service-Oriented Real- Time Distributed Computing (ISORC), 28-31 March 2011, Newport Beach, CA, pp. 269-277.