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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley Longman Publishing Co., Inc., Boston, MA (2002)
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)
Bruneton, E., Coupaye, T., Stefani, J.: Fractal specification - v 2.0.3 (2004), http://fractal.objectweb.org/specification/index.html
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)
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)
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)
Brown, A.W., Wallnau, K.C.: The current state of CBSE. IEEE Software 15(5), 37–46 (1998)
Crnkovic, I.: Component-based software engineering—new challenges in software development. Software Focus (2001)
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)
Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000)
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)
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)
Mach, M., Plásil, F., Kofron, J.: Behavior protocols verification: Fighting state explosion. International Journal of Computer and Information Science (2005)
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)
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)
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)
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)
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)
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)
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)
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)
Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-based runtime software evolution. In: Intl. Conf. on Software Engineering, Kyoto, Japan (1998)
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)
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)
OMG: Unified modeling language: Superstructure, version 2.0 (2002), http://www.omg.org/uml
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)
Jones, C.: Systematic Software Development using VDM, 2nd edn. Prentice-Hall, Englewood Cliffs (1990)
Abrial, J.R.: The B-Book, Assigning programs to meanings. Cambridge University Press, Cambridge (1996)
Author information
Authors and Affiliations
Editor information
Rights 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)