Skip to main content

Automated and Unanticipated Flexible Component Substitution

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4608))

Abstract

In this paper, we present an automatic and flexible approach for software component substitution. When a component is removed from an assembly, most existing approaches perform component-to-component substitution, relying on the fact that such a candidate component is available, which is hardly to happen because the constraints on its interfaces are too strong. When such a component does not exist, it would be more flexible to allow a single component to be replaced by a whole component assembly. We propose such an automatic substitution mechanism which does not need the changes to be anticipated and preserves the quality of the assembly.

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. Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley Longman Publishing Co., Inc., Boston, MA (2002)

    Google Scholar 

  2. Plásil, F., Balek, D., Janecek, R.: SOFA/DCUP: Architecture for component trading and dynamic updating. In: Proc. of the Int. Conf. on Configurable Distributed Systems, Washington, DC, pp. 43–52. IEEE Computer Society Press, Los Alamitos (1998)

    Chapter  Google Scholar 

  3. Bruneton, E., Coupaye, T., Stefani, J.: Fractal specification - v 2.0.3 (2004), http://fractal.objectweb.org/specification/index.html

  4. George, B., Fleurquin, R., Sadou, S.: A substitution model for software components. In: QaOOSE 2006. Proc. of the 2006 ECOOP Workshop on Quantitative Approaches on Object-Oriented Software Engineering, Nantes, France (2006)

    Google Scholar 

  5. Bures, T., Hnetynka, P., Plásil, F.: Sofa 2.0: Balancing advanced features in a hierarchical component model. In: SERA, pp. 40–48. IEEE Computer Society Press, Los Alamitos (2006)

    Google Scholar 

  6. Desnos, N., Vauttier, S., Urtado, C., Huchard, M.: Automating the building of software component architectures. In: Gruhn, V., Oquendo, F. (eds.) EWSA 2006. LNCS, vol. 4344, pp. 228–235. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  7. Brown, A.W., Wallnau, K.C.: The current state of CBSE. IEEE Software 15(5), 37–46 (1998)

    Article  Google Scholar 

  8. Crnkovic, I.: Component-based software engineering—new challenges in software development. Software Focus (2001)

    Google Scholar 

  9. Dijkman, R.M., Almeida, J.P.A., Quartel, D.A.: Verifying the correctness of component-based applications that support business processes. In: Crnkovic, I., Schmidt, H., Stafford, J., Wallnau, K. (eds.) Proc. of the 6th Workshop on CBSE: Automated Reasoning and Prediction, Portland, Oregon, pp. 43–48 (2003)

    Google Scholar 

  10. Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000)

    Article  Google Scholar 

  11. Inverardi, P., Wolf, A.L., Yankelevich, D.: Static checking of system behaviors using derived component assumptions. ACM Trans. Softw. Eng. Methodol. 9(3), 239–272 (2000)

    Article  Google Scholar 

  12. de Alfaro, L., Henzinger, T.A.: Interface automata. In: Proc. of the 8th European software engineering conference, pp. 109–120. ACM Press, New York (2001)

    Google Scholar 

  13. Mach, M., Plásil, F., Kofron, J.: Behavior protocols verification: Fighting state explosion. International Journal of Computer and Information Science (2005)

    Google Scholar 

  14. Wallnau, K.C.: Volume III: A technology for predictable assembly from certifiable components (pacc). Technical Report CMU/SEI-2003-TR-009, Carnegie Mellon University, Pittsburgh, OH, USA (2003)

    Google Scholar 

  15. Adamek, J., Plásil, F.: Partial bindings of components - any harm? In: APSEC 2004. Proc. of the 11th Asia-Pacific Software Engineering Conference, Washington, DC, pp. 632–639. IEEE Computer Society Press, Los Alamitos (2004)

    Google Scholar 

  16. Reussner, R.H., Poernomo, I.H., Schmidt, H.W.: Reasoning on software architectures with contractually specified components. In: Cechich, A., Piattini, M., Vallecillo, A. (eds.) Component-Based Software Quality. LNCS, vol. 2693, pp. 287–325. Springer, Heidelberg (2003)

    Google Scholar 

  17. Magee, J., Kramer, J.: Dynamic structure in software architectures. In: SIGSOFT 1996: Proc. of the 4th ACM SIGSOFT symposium on Foundations of software engineering, pp. 3–14. ACM Press, New York (1996)

    Chapter  Google Scholar 

  18. Aldrich, J., Chambers, C., Notkin, D.: ArchJava: connecting software architecture to implementation. In: Proc. of ICSE, Orlando, FL, pp. 187–197. ACM Press, New York (2002)

    Chapter  Google Scholar 

  19. Inverardi, P., Wolf, A.L.: Formal specification and analysis of software architectures using the chemical abstract machine model. IEEE Trans. Softw. Eng. 21(4), 373–386 (1995)

    Article  Google Scholar 

  20. Allen, R.J.: A formal approach to software architecture. PhD thesis, Carnegie Mellon, School of Computer Science, Issued as CMU Technical Report CMU-CS-97-144 (1997)

    Google Scholar 

  21. Matevska-Meyer, J., Hasselbring, W., Reussner, R.H.: A software architecture description supporting component deployment and system runtime reconfiguration. In: WCOP 2004. Proc. of the 9th Int. Workshop on Component-Oriented Programming, Oslo, Norway (2004)

    Google Scholar 

  22. Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: Intl. Conf. on Software Engineering, Kyoto, Japan (1998)

    Google Scholar 

  23. Brada, P.: Component change and version identification in SOFA. In: Bartosek, M., Tel, G., Pavelka, J. (eds.) SOFSEM 1999. LNCS, vol. 1725, pp. 360–368. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  24. Desnos, N., Urtado, C., Vauttier, S., Huchard, M.: Helping the architect build component-based architectures. In: Rousseau, R., Urtado, C., Vauttier, S. (eds.) LMO2006. Proc. of the 12th french speaking conference on Languages and Models with Objets, Nîmes, France, Hermès, pp. 37–52 (in french) (2006)

    Google Scholar 

  25. OMG: Unified modeling language: Superstructure, version 2.0 (2002), http://www.omg.org/uml

  26. Lobo, A.E., de C. Guerra, P.A., Filho, F.C., Rubira, C.M.F.: A systematic approach for the evolution of reusable software components. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, Springer, Heidelberg (2005)

    Google Scholar 

  27. Jones, C.: Systematic Software Development using VDM, 2nd edn. Prentice-Hall, Englewood Cliffs (1990)

    MATH  Google Scholar 

  28. Abrial, J.R.: The B-Book, Assigning programs to meanings. Cambridge University Press, Cambridge (1996)

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Heinz W. Schmidt Ivica Crnkovic George T. Heineman Judith A. Stafford

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Desnos, N., Huchard, M., Urtado, C., Vauttier, S., Tremblay, G. (2007). Automated and Unanticipated Flexible Component Substitution. In: Schmidt, H.W., Crnkovic, I., Heineman, G.T., Stafford, J.A. (eds) Component-Based Software Engineering. CBSE 2007. Lecture Notes in Computer Science, vol 4608. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-73551-9_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-73551-9_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-73550-2

  • Online ISBN: 978-3-540-73551-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics