Some Pertinent Issues and Considerations on CBSE

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.





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.