Component Deployment Evolution Driven by Architecture Patterns and Resource Requirements
Software architectures are often designed with respect to some architecture patterns, like the pipeline and peer-to-peer. These patterns are the guarantee of some quality attributes, like maintainability or performance. These patterns should be dynamically enforced in the running system to benefit from their associated quality characteristics at runtime. In dynamic hosting platforms where machines can enter the network, offering new resources, or fail, making the components they host unavailable, these patterns can be affected. In addition, in this kind of infrastructures, some resource requirements can also be altered. In this paper we present an approach which aims at dynamically assist deployment process with information about architectural patterns and resource constraints. This ensures that, faced with disconnections or machine failures, the runtime system complies permanently with the original architectural pattern and the initial resource requirements.
KeywordsSoftware Architecture Resource Requirement Constraint Satisfaction Problem Consensus Algorithm Architecture Pattern
Unable to display preview. Download preview PDF.
- 2.Dearle, A., Kirby, G.N.C., McCarthy, A.J.: A framework for constraint-based deployment and autonomic management of distributed applications. In: Proceedings of ICAC 2004, pp. 300–301 (2004)Google Scholar
- 3.Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)Google Scholar
- 4.Georgiadis, I., Magee, J., Kramer, J.: Self-organising software architectures for distributed systems. In: Proceedings of WOSS 2002, pp. 33–38 (2002)Google Scholar
- 6.Magee, J., Kramer, J.: Self organising software architectures. In: Gollmann, D. (ed.) FSE 1996. LNCS, vol. 1039, pp. 35–38. Springer, Heidelberg (1996)Google Scholar
- 7.Medvidovic, N., Taylor, N.R.: A classification and comparison framework for software architecture description languages. IEEE TSE 26(1), 70–93 (2000)Google Scholar
- 8.OMG. Corba components, v3.0, adpoted specification, document formal/2002-06-65 (June 2002), OMG Web Site: http://www.omg.org/docs/formal/02-06-65.pdf
- 9.OMG. Uml 2.0 ocl final adopted specification, document ptc/03-10-14 (2003), OMG Web Site: http://www.omg.org/docs/ptc/03-10-14.pdf
- 10.Schmerl, B.R., Garlan, D.: Exploiting architectural design knowledge to support self-repairing systems. In: Proceedings of SEKE 2002, pp. 241–248 (2002)Google Scholar
- 11.Tibermacine, C., Fleurquin, R., Sadou, S.: Preserving architectural choices throughout the component-based software development process. In: Proceedings of WICSA 2005, pp. 121–130 (November 2005)Google Scholar
- 12.Tibermacine, C., Fleurquin, R., Sadou, S.: Simplifying transformations of architectural constraints. In: Biham, E., Youssef, A.M. (eds.) SAC 2006. LNCS, vol. 4356. Springer, Heidelberg (2007)Google Scholar