Skip to main content

Classifying Software Component Interoperability Errors to Support Component Adaption

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3054))

Abstract

This paper discusses various classifications of component interoperability errors. These classifications aim at supporting the automation of component adaptation. The use of software components will only demonstrate beneficial, if the costs for component deployment (i.e., acquisition and composition) are considerably lower than those for custom component development. One of the main reasons for the moderate progress in component-based software engineering are the high costs for component deployment. These costs are mainly caused by adapting components to bridge interoperability errors between unfitting components. One way to lower the costs of component deployment is to support component adaptation by tools, i.e., for interoperability checks of (semi-)automated adaptor generation. This automation of component adaptation requires a deep understanding of component interoperability errors. In particular, one has to differentiate between different classes of interoperability errors, as different errors require different adaptors for resolving. Therefore, the presented classification of component interoperability errors supports the automation of component adaptation by aiding automated interoperability problem detection and semi-automated adaptor generation. The experience gained from already implemented solutions for a specific class of interoperability errors provides hints for the solution of similar problems of the same class.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch: Why reuse is so hard. IEEE Software 12, 17–26 (1995)

    Article  Google Scholar 

  2. DeRemer, F., Kron, H.H.: Programming-in-the-large versus programming-in-the-small. IEEE Transactions on Software Engineering 2, 80–86 (1976)

    Article  MathSciNet  Google Scholar 

  3. Shaw, M., Garlan, D.: Software Architecture. Prentice Hall, Englewood Cliffs (1996)

    Google Scholar 

  4. Weyuker, E.J.: The trouble with testing components. In: Heineman, G.T., Councill, W.T. (eds.) Component-Based Software Engineering, pp. 499–512. Addison Wesley (2001)

    Google Scholar 

  5. Overhage, S., Thomas, P.: WS-Specification: Specifing web services using UDDI improvements. In: Chaudhri, A.B., Jeckle, M., Rahm, E., Unland, R. (eds.) NODe-WS 2002. LNCS, vol. 2593, pp. 100–119. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  6. Vallecillo, A., Hernández, J., Troya, J.: Object interoperability. In: Malenfant, J., Moisan, S., Moreira, A.M.D. (eds.) ECOOP 2000 Workshops. LNCS, vol. 1964, pp. 256–269. Springer, Heidelberg (2000)

    Google Scholar 

  7. Vallecillo, A., Hernández, J., Troya, J.: Object interoperability. In: Moreira, A.M.D., Demeyer, S. (eds.) ECOOP 1999 Workshops. LNCS, vol. 1743, pp. 1–21. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  8. Beugnard, A., Jézéquel, J.M., Plouzeau, N., Watkins, D.: Making components contract aware. Computer 32, 38–45 (1999)

    Article  Google Scholar 

  9. Object Management Group (OMG): TheCORBAhomepage, http://www.corba.org

  10. Sun Microsystems Corp.: The JAVA homepage, http://java.sun.com/

  11. Wehrheim, H.: Behavioural Subtyping and Property Preservation. In: Smith, S., Talcott, C. (eds.) Formal Methods for Open Object-Based Distributed Systems (FMOODS 2000), pp. 213–232. Kluwer, Dordrecht (2000)

    Google Scholar 

  12. Wehrheim, H.: Relating state-based and behaviour-oriented subtyping. Nordic Journal of Computing 9, 405–435 (2002)

    MATH  MathSciNet  Google Scholar 

  13. Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems 16, 1811–1841 (1994)

    Article  Google Scholar 

  14. Zaremski, A.M., Wing, J.M.: Specification matching of software components. ACM Transactions on Software Engineering and Methodology 6, 333–369 (1997)

    Article  Google Scholar 

  15. Reussner, R.H.: Counter-constraint finite state machines:A new model for resource-bounded component protocols. In: Grosky, W.I., Plášil, F. (eds.) SOFSEM 2002. LNCS, vol. 2540, pp. 20–40. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  16. Frolund, S., Koistinen, J.: Quality-of-service specification in distributed object systems. Technical Report HPL-98-159, Hewlett Packard, Software Technology Laboratory (1998)

    Google Scholar 

  17. ISO/IEC Standard: Software engineering - product quality - quality model. Technical Report 9126-1, ISO/IEC (2001)

    Google Scholar 

  18. Overhage, S.: Towards a standardized specification framework for component discovery and configuration. In: Weck, W., Bosch, J., Szyperski, C. (eds.) Proceedings of the Eigth InternationalWorkshop on Component-Oriented Programming, WCOP 2003 (2003)

    Google Scholar 

  19. Cook, S., Daniels, J.: Designing Object Systems. Object-Oriented Modeling with Syntropy. Prentice Hall, Englewood Cliffs (1994)

    Google Scholar 

  20. Davis, A.M.: Software Requirements: Objects, Functions and States. Prentice Hall, Englewood Cliffs (1993)

    MATH  Google Scholar 

  21. D’Souza, D.F., Wills, A.C.: Objects, Components, and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1999)

    Google Scholar 

  22. Graham, I.: Migrating to Object Technology. Addison Wesley, Wokingham (1994)

    Google Scholar 

  23. Olle, T.W., Hagelstein, J., MacDonald, I.G., Rolland, C.: Information Systems Methodologies: A Framework for Understanding. Addison Wesley, Wokingham (1991)

    Google Scholar 

  24. McIlroy, M.D.: Mass produced” software components. In: Naur, P., Randell, B. (eds.) Software Engineering, Brussels, Scientific Affairs Division, NATO, pp. 138–155 (1969); Report of a conference sponsored by the NATO Science Committee, Garmisch, Germany (October 7-11 1968)

    Google Scholar 

  25. Yellin, D., Strom, R.: Interfaces, Protocols and the Semiautomatic Construction of Software Adaptors. In: Proceedings of the 9thACMConference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 1994). ACM Sigplan Notices, vol. 29(10), pp. 176–190 (1994)

    Google Scholar 

  26. Yellin, D., Strom, R.: Protocol Specifications and Component Adaptors. ACM Transactions on Programming Languages and Systems 19, 292–333 (1997)

    Article  Google Scholar 

  27. Bracciali, A., Brogi, A., Canal, C.: Dynamically Adapting the Behaviour of Software Components. In: Arbab, F., Talcott, C. (eds.) COORDINATION 2002. LNCS, vol. 2315, pp. 88–95. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  28. Bracciali, A., Brogi, A., Canal, C.: Systematic component adaptation. In: Brogi, A., Pimentel, E. (eds.). Electronic Notes in Theoretical Computer Science, vol. 66, Elsevier, Amsterdam (2002)

    Google Scholar 

  29. Schmidt, H.W., Reussner, R.H.: Generating Adapters for Concurrent Component Protocol Synchronisation. In: Proceedings of the Fifth IFIP International conference on Formal Methods for Open Object-based Distributed Systems (2002)

    Google Scholar 

  30. Reussner, R.H.: Automatic Component Protocol Adaptation with the CoCoNut Tool Suite. Future Generation Computer Systems 19, 627–639 (2003)

    Article  Google Scholar 

  31. Bosch, J.: Design and Use of Software Architectures – Adopting and evolving a product-line approach. Addison-Wesley, Reading (2000)

    Google Scholar 

  32. Reussner, R.H.: Parametrisierte Verträge zur Protokolladaption bei Software-Komponenten. Logos Verlag, Berlin (2001)

    Google Scholar 

  33. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  34. Bosch, J.: Composition through superimposition. In: Weck, W., Bosch, J., Szyperski, C. (eds.) Proceedings of the First InternationalWorkshop on Component-Oriented Programming (WCOP 1996), Turku Centre for Computer Science (1996)

    Google Scholar 

  35. Kiczales, G.: Aspect-oriented programming. ACM Computing Surveys 28, 154–154 (1996)

    Article  Google Scholar 

  36. Yakimovich, D., Travassos, G., Basili, V.: A classification of software components incompatibilities for COTS integration. Technical report, Software Engineering LaboratoryWorkshop, NASA/Goddard Space Flight Center, Greenbelt, Maryland (1999)

    Google Scholar 

  37. Davis, L., Gamble, R., Payton, J., Jónsdóttir, G., Underwood, D.: A notation for problematic architecture interactions. In: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering, pp. 132–141. ACM Press, New York (2001)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Becker, S., Overhage, S., Reussner, R.H. (2004). Classifying Software Component Interoperability Errors to Support Component Adaption. In: Crnkovic, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds) Component-Based Software Engineering. CBSE 2004. Lecture Notes in Computer Science, vol 3054. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24774-6_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24774-6_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21998-9

  • Online ISBN: 978-3-540-24774-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics