Abstract
Middleware has emerged as an important architectural component in modern distributed systems. It provides many solutions allowing to hide the management of the distribution of services and computations to the developers. However, its configuration becomes more and more complex, since it must fit application requirements, while adapting to the underlying system capacities. In this paper we propose a customization tool to automate the configuration of the ScalAgent message-oriented middleware. The tool uses the application description (into an Architecture Description Language) to determine and configure the set of middleware modules required to ensure non-functional properties required by the application. It is controlled by an algorithm that tries to minimize some non-functional property management costs. Our performance measurements clearly show the customization advantages.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Astley, M., Sturman, D., Agha, G.: Customizable Middleware for Modular Distributed Software. Communications of the ACM 44(5) (May 2001)
Kon, F., Costa, F., Blair, G., Campbell, R.H.: The Case for Reflective Middleware. Communications of the ACM 45(6), 33–38 (2002)
Clarke, M., Blair, G., Coulson, G., Parlavantzas, N.: An Efficient Component Model for the Construction of Adaptive Middleware. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 160–178. Springer, Heidelberg (2001)
Narasimhan, P., Moser, L., Melliar-Smith, P.: Eternal – A Component-based Framework for Transparent Fault-Tolerant CORBA. Software Practice and Experience, Theme Issue on Enterprise Frameworks 32(8), 771–788 (2002)
Truyen, E., Vanhaute, B., Joosen, W., Verbaeten, P., Jørgensen, B.N.: Dynamic and Selective Combination of Extensions in Component-Based Applications. In: Proceedings of the 23rd International Conference on Software Engineering (ICSE 2001), Toronto, Canada (May 2001)
Hauck, F., Becker, U., Geier, M., Meier, E., Rastofer, U., Steckermeier, M.: AspectIX: a quality-aware, object-based middleware architecture. In: 3th IFIP International Working Conference on Distributed Applications and Interoperable Systems (DAIS 2001), Krakow, Poland (2001)
Issarny, V., Kloukinas, C., Zarras, A.: Systematic Aid for Developing Middleware Architectures. Communications of the ACM, Issue on Adaptive Middleware 45(6), 53–58 (2002)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Pal, P., Loyall, J., Schantz, R., Zinky, J., Shapiro, R., Megquier, J.: Using QDL to Specify QoS Aware Distributed (QuO) Application Con.guration. In: Proceedings the 3rd IEEE International Symposium on Object-Oriented Real-time distributed Computing (ISORC 2000), Newport Beach, CA (March 2000)
Shaw, M., DeLine, R., Klein, D.V., Ross, T.L., Young, D.M., Zelesnik, G.: Abstractions for Software Architecture and Tools to Support Them. Software Engineering 21(4), 314–335 (1995)
Bellissard, L., de Palma, N., Féliot, D.: The Olan Architecture Definition Language. C3DS Technical Report, volume 24 (2000)
Medvidovic, N., Rosenblum, D.S., Taylor, R.N.: A Language and Environment for Architecture-Based Software Development and Evolution. In: Proceedings of the 21st International Conference on Software Engineering (ICSE1999), pp. 44–53 (1999)
Luckham, D.C., Kenney, J.J., Augustin, L.M., Vera, J., Bryan, D., Mann, W.: Specification and Analysis of System Architecture Using Rapide. IEEE Transactions on Software Engineering, Special Issue on Software Architecture 21(4), 336–355 (1995)
Allen, R., Garlan, D., Douence, R.: Specifying Dynamism in Software Architectures. In: Proceedings of the Workshop on Foundations of Component-Based Software Engineering, Zurich, Switzerland (September 1997)
Agha, G.A.: Actors: A Model of Concurrent Computation in Distributed Systems. The MIT Press, Cambridge (1986) ISBN 0-262-01092-5
Bellissard, L., de Palma, N., Freyssinet, A., Herrmann, M., Lacourte, S.: An Agent Plateform for Reliable Asynchronous Distributed Programming. In: Symposium on Reliable Distributed Systems (SRDS 1999), Lausanne, Switzerland (October 1999)
Fischer, M.J., Michael, A.: Sacrifying Serializability to Attain High Availability of Data in an Unreliable Network. In: ACM Symposium on Principles of Database Systems, Los Angeles, March 1982, pp. 70–75 (1982)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Quéma, V., Cecchet, E. (2004). The Role of Software Architecture in Configuring Middleware: The ScalAgent Experience. In: Papatriantafilou, M., Hunel, P. (eds) Principles of Distributed Systems. OPODIS 2003. Lecture Notes in Computer Science, vol 3144. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27860-3_13
Download citation
DOI: https://doi.org/10.1007/978-3-540-27860-3_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22667-3
Online ISBN: 978-3-540-27860-3
eBook Packages: Springer Book Archive