Journal of Software, Vol 6, No 3 (2011), 349-365, Mar 2011
doi:10.4304/jsw.6.3.349-365

A Precise Characterization of Software Component Interfaces

Basem Y Alkazemi

Abstract


Developing software systems according to the Component-based Software Development (CBSD) model has proven to be one of the prominent development approaches nowadays. However, integrating components to build a complete working system has always been considered as an obstacle that requires substantial effort and may considerably delay the development process. The lack of effective characterization of component interfaces that only focus on the functional characteristics and ignore the architectural characteristics of software components is the main cause of this difficulty. Therefore, this work provides a detailed characterization of software component interfaces in order to expose the implicit architectural characteristics that impact component integration.



Keywords


architecture, integration, source-code, interface, open-source software, system model

References


[1] Oberleitner, J., Gschwind, T. and Jazayeri, M.,The Vienna Component Framework enabling composition across component models. In Proceedings of the 25th International Conference on Software Engineering.2003. doi:10.1109/ICSE.2003.1201185.

[2] Brown, A., Booch, G., Reusing Open-Source Software and Practices: The Impact of Open-Source on Commercial Vendors. In Proceedings of the 7th International Conference on Software Reuse: Methods, Techniques, and Tools.2002 Springer-Verlag. doi:10.1007/3-540- 46020-9.

[3] Spivey, J., The Z Notation: A Reference Manual, Prentice Hall, 1991.

[4] Sametinger, J., Software Engineering with Reusable Components, Springer-Verlag,1997.

[5] Meyer, B., The Grand Challenge of Trusted Components, in 25th International Conference on Software Engineering (ICSE'03). 2003, IEEE Computer Society. doi:10.1109/ICSE.2003.1201252

[6] Brown, A., Short, K.,On Components and Objects: The Foundations of Component-Based Development. In Proceedings of the 5th International Symposium on Assessment of Software Tools (SAST '97).1997.IEEE Computer Society. doi:10.1109/AST.1997.599921
doi:10.1109/AST.1997.599921

[7] Arbab, F., Boer, F. and Bonsangue, M.,A Logical Interface Description Language for Components. In Proceedings of the 4th International Conference on Coordination Languages and Models.2000.Springer-Verlag. doi:10.1007/3-540-45263-X
doi:10.1007/3-540-45263-X_16

[8] Hondt, K., Lucas, C. and Steyaert, P., Reuse Contracts as Component Interface Descriptions. In Proceedings of the Workshops on Object-Oriented Technology.1997.Springer- Verlag.doi:10.1007/3-540-69687-3.

[9] Duller, M., Tamosevicius, R., Alonso, G. and Kossmann, D., XTream: Personal Data Streams. In Proceedings of the ACM International Conference on Management of Data (SIGMOD).2007.ACM,1088 – 1090.

[10] Shaw, M., Architectural issues in software reuse: it's not just the functionality, it's the packaging. In Proceedings of the 1995 Symposium on Software reusability.1995.ACM. doi:10.1145/211782.211783.

[11] Mehta, N., Medvidovic, N. and Phadke, S., Towards a taxonomy of software connectors. In Proceedings of the 22nd international conference on Software engineering.2000.ACM. doi:10.1145/337180.337201.

[12] DeLine, R., Avoiding packaging mismatch with flexible packaging. IEEE Transactions on Software Engineering, 2001. 27(2): p. 124-143. doi:10.1109/32.908958.
doi:10.1109/32.908958

[13] Bass, L., Clements, P. and Kazman, R., Software Architecture in Practice, Addison-Wesley, 2003.

[14] ISO/IEC. IEEE Recommended Practice for Architectural Description of Software-Intensive Systems. IEEE Std 1471. 2000, Accessed 11 - 2008, Available from: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=0087 5998.

[15] Jones, A., The Maturing of Software Architecture. In Software Engineering Symposium.1993. Software Engineering Institute.

[16] Shaw, M., Garlan, D., Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996.

[17] Garlan, D., Perry, D., Introduction to the Special Issue on Software Architecture. IEEE Transactions on Software Engineering, 1995. 21(4): p. 269-274.

[18] Budgen, D., Software Design, second edition, Pearson Addison-Wesley, 2003.

[19] Szyperski, C., Gruntz, D. and Murer, M., Component Software - Beyond Object-Oriented Programming. 2nd edition, Addison-Wesley(ACM Press), 2002.

[20] Allen, R.,A Formal Approach to Software Architecture, PhD Dissertation, Carnegie Mellon University, 1997.

[21] Garlan, D., Allen, A. and Ockerbloom, J., Architectural Mismatch: Why Reuse Is So Hard. IEEE Software, 1995. 12(6): p. 17-26. doi:10.1109/52.469757.
doi:10.1109/52.469757

[22] Yakimovitch, D., Bieman, J. and Basili, V., Software architecture classification for estimating the cost of COTS integration. In Proceedings of the 21st international conference on Software engineering. 1999. IEEE Computer Society Press. doi:10.1145/302405.302643.

[23] Garlan, D., Allen, A. and Ockerbloom, J., Architectural Mismatch: Why Reuse Is So Hard. IEEE Software, 1995. 12(6): p. 17-26. doi:10.1109/52.469757.
doi:10.1109/52.469757

[24] Alkazemi, B., Prototype of Repository System to Support Software Component Re-Use. In the Proceedings of the Sixth IASTED International Conference on Advances in Computer Science and Engineering.2010. doi:10.2316/P.2010.689-003.

[25] McIlroy, M., Mass Produced Software Components. In Software Engineering: Report on a Conference by the NATO Science Committee.1968.NATO Science Affairs Division,138-150.

[26] Mahmood, S., Lai, R. and Kim, Y, Survey of componentbased software development. IET Software, 2007. 1(2): p. 57-66. doi:10.1049/iet-sen:20060045.
doi:10.1049/iet-sen:20060045

[27] Li, G., Zhang, L., Li, Y., Xie, B. and Shao, W., Shortening retrieval sequences in browsing-based component retrieval using information entropy. Journal of Systems and Software, 2006. 79(2): p. 216 – 230. doi:10.1016/j.jss.2005.04.035.
doi:10.1016/j.jss.2005.04.035

[28] Ostertag, E., Hendler,J., Prieto Díaz,R. and Braun, C., Computing Similarity in a Reuse Library System: An AIBased Approach. ACM Transactions on Software Engineering and Methodology, 1992. 1(3): p. 205- 228. doi:10.1145/131736.131739.
doi:10.1145/131736.131739

[29] Zaremski, A.M., Wing, J.M., Signature Matching: A Tool for Using Software Libraries. ACM Transactions on Software Engineering and Methodology, 1995. 4(2): p. 146–170. doi:10.1145/210134.210179.
doi:10.1145/210134.210179

[30] Hemer, D., Lindsay, P., Specification-based retrieval strategies for module reuse. In Proceedings 2001 Australian Software Engineering Conference.2001.IEEE Computer Society. doi:10.1109/ASWEC.2001.948517.
doi:10.1109/ASWEC.2001.948517

[31] Spivey, J., The Z Notation: A Reference Manual, Prentice Hall, 1991.

[32] Fischer, B., Specification-based browsing of software component libraries. Automated Software Engineering, 2000. 7(2): p. 179 – 200. doi:10.1109/ASE.1998.732577.
doi:10.1023/A:1008766409590

[33] Cechich, A., Piattini, M., Quantifying COTS component functional adaptation. In 8th International Conference on Software Reuse: Methods,Techniques and Tools (ICSR 2004).2004.LNCS(3107).

[34] Assman, U., Invasive Software Composition, Springer Verlag, 2003.

[35] Budgen, D., Brereton, P. and Turner, M. Codifying a Service Architectural Style. In Proceedings of the 28th Annual International Computer Software and Applications Conference (COMPSAC'04) - Volume 01 2004.IEEE Computer Society. doi:10.1109/CMPSAC.2004.1342800.

[36] ClayBerg, E., Rubel, D., Eclipse: Building Commercial- Quality Plug-ins. 3rd edition, Addison-Wesley, 2004.

[37] Oberleitner, J., Gschwind, T. and Jazayeri, M., The Vienna Component Framework enabling composition across component models. In Proceedings of the 25th International Conference on Software Engineering.2003.IEEE Computer Society. doi:10.1109/ICSE.2003.1201185.

[38] Shaw, M., Clements, P., A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems. In Proceedings of the 21st International Computer Software and Applications Conference.1997.IEEE Computer Society. doi:10.1109/CMPSAC.1997.624691.

[39] Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R. and Stafford, J., Documenting Software Architectures: Views and Beyond, Addison-Wesley Professional, 2003.

[40] Gacek, C., Detecting Architectural Mismatches During Systems Composition, PhD thesis, University of Southern California, 1998.

[41] Besnard, D., Gacek, C. and Jones, C., Structure for Dependability: Computer-Based Systems from an Interdisciplinary Perspective, Springer, 2005.

[42] Crane, S. Darwin: an Architectural Description Language. 1997, Accessed 11 - 2008, Available from: http://www.doc.ic.ac.uk/~jsc/research/darwin.html.

[43] Garlan, D., Monroe, R.T. and Wile, T., ACME: An Architecture Description Interchange Language. In Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research.1997.IBM Press,169-183.

[44] Garlan, D., Shaw, M., An Introduction to Software Architecture,1994, Technical Report:CS-94-166,Carnegie Mellon University.

[45] Jefferson, N., Dependable Compositions: A Formal Approach, PhD Thesis, Newcastle University, 2006.

[46] Luckham, D., Rapide: A Language and Toolset for Simulation of Distributed Systems by Partial Ordering of Events,1996, Technical Report:CSL-TR-96-705,Stanford University.

[47] Medvidovic, N., Taylor, R., A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering, 2000. 26(1): p. 70-93. doi:10.1109/32.825767.
doi:10.1109/32.825767


Full Text: PDF


Journal of Software (JSW, ISSN 1796-217X)

Copyright @ 2006-2012 by ACADEMY PUBLISHER – All rights reserved.