Automating deployment planning with an aspect weaver

Buy article PDF

Abstract

Deployment has emerged as a major challenge in distributed real-time and embedded (DRE) systems. Application deployment planners must integrate numerous functional and non-functional constraints, such as security and performance, to produce correct deployment plans. The numerous deployment constraints and their complex interactions make manually deducing correct/efficient deployments hard. Four contributions to the study of automated deployment processes are presented. First, it shows that a deployment planner and an aspect weaver accomplish the same abstract problem – that is, mapping items from a source set (advice or components) to items in a target set (joinpoints or nodes) according to a set of rules – and uses this abstract definition of deployment planning to automate it with an aspect weaver. Second, this paper describes how the ScatterML domain-specific aspect language incorporates complex global constraints for specifying deployment pointcuts. Third, we show how static aspect weaving problems can be reduced to a constraint satisfaction problem and a constraint solver used to deduce a correct weaving. Fourth, we show that phrasing weaving as a constraint satisfaction problem and automating deployment through a constraint solver-based weaver yields several key benefits, ranging from guaranteed deployment plan correctness to bounds on worst-case solution quality.

References

    1. 1)
      • Deng, G., Balasubramanian, J., Otte, W., Schmidt, D., Gokhale, A.: `DAnCE: a QoS-enabled component deployment and configuration engine', Proc. 3rd Working Conf. Component Deployment, 2005
    2. 2)
      • Manadhata, P., Wing, J.: Measuring a system's attack surface, 2004 (Carnegie Mellon University, School of Computer Science)
    3. 3)
      • Baker, J., Hsieh, W.: `Runtime aspect weaving through metaprogramming', Proc. 1st Int. Conf. Aspect-oriented Software Development, 2002, p. 86–95
    4. 4)
      • Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ, 2001, (Springer-Verlag), p. 327-355
    5. 5)
      • Fradet, P., Sudholt, M.: `An aspect language for robust programming', Int. Workshop on Aspect-Oriented Programming at ECOOP'99
    6. 6)
      • Shonle, M., Lieberherr, K., Shah, A.: `XAspects: An extensible system for domain-specific aspect languages', Proc. Conf. Object Oriented Programming Systems Languages and Applications, 26–30 October 2003, Anaheim, California, p. 28–37
    7. 7)
      • Tanter, E., Noyé, J.: `A versatile kernel for multi-language AOP', Proc. 4th ACM SIGPLAN/SIGSOFT Conf. Generative Programming and Component Engineering (GPCE 2005), 2005, p. 173–188
    8. 8)
    9. 9)
      • Michel, L., Van Hentenryck, P.: `Comet in context', PCK50: Proc. Paris C. Kanellakis Memorial Workshop on Principles of Computing & Knowledge, 2003, New York, NY, USA, p. 95–107
    10. 10)
      • Van Hentenryck, P.: Constraint satisfaction in logic programming, 1989 (MIT PressCambridge, MA, USA)
    11. 11)
      • Nechypurenko, A., Wuchner, E., White, J., Schmidt, D.C.: `Application of aspect-based modeling and weaving for complexity reduction in the development of automotive distributed realtime embedded systems', Proc. Sixth Int. Conf. Aspect-Oriented Software Development, March 2007
    12. 12)
      • White, J., Nechypurenko, A., Wuchner, E., Schmidt, D.: Reducing the complexity of designing and optimizing large-scale systems by integrating constraint solvers with graphical modeling tools’, ‘Designing sofware-intensive systems, methods and principles, 2008 (Idea Group, Inc.New York, NY)
    13. 13)
      • White, J., Czarnecki, K., Schmidt, D.C.: `Automated model-based configuration of enterprise Java applications', EDOC 2007, October 2007
    14. 14)
      • White, J., Nechypurenko, A., Wuchner, E., Schmidt, D.C.: `Optimizing and automating product-line variant selection for mobile devices', 11thInt. Software Product Line Conf., September 2007
    15. 15)
      • Kiczales, G., Lamping, J., Mendhekar, A.: `Aspect-oriented programming', Proc. 11th European Conf. Object-Oriented Programming, p. 220–242
    16. 16)
      • Oppenheimer, D.P.D., Ganapathi, A.: `Why do Internet services fail, and what can be done about it?', Proc. USENIX Symp. Internet Technologies and Systems, March 2003
    17. 17)
      • Monson-Haefel, R.: Enterprise JavaBeans, 2000 (O'Reilly Press)
    18. 18)
      • Chiba, S., Nakagawa, K.: `Josh: an open AspectJ-like language', Proc. 3rd Int. Conf. Aspect-oriented Software Development, 2004, p. 102–111
    19. 19)
      • White, J., Schmidt, D.C., Mulligan, S.: `The generic eclipse modeling system', Model-Driven Development Tool Implementors Forum at TOOLS 2007, June 2007
    20. 20)
    21. 21)
    22. 22)
      • Bézivin, J.: `From object composition to model transformation with the MDA', Proc. TOOLS, 2001, p. 350–354
    23. 23)
      • White, J., Gray, J., Schmidt, D.C.: `Constraint-based model weavings', Trans. Asp.-Oriented Softw. Dev. (Special Issue on Asp. Model Driven Eng.), 2009
    24. 24)
      • Choco constraint programming system, http://choco.sourceforge.net/
    25. 25)
      • Clements, P.C., Northrop, L.: Software product lines – practices, and patterns, 2001 (Addison-Wesley)
    26. 26)
      • Greenfield, J., Short, K.: Software factories: assembling applications with patterns, models, frameworks and tools, 2003 (ACM PressNew York, NY, USA)
    27. 27)
      • Benavides, D., Trinidad, P., Ruiz-Cortes, A.: `Automated reasoning on feature models', 17thConf. Advanced Information Systems Engineering (CAiSE05, Proc.), 2005, p. 491–503, (LNCS, 3520)
    28. 28)
    29. 29)
      • France, R., Georg, G., Ray, I.: `Supporting multi-dimensional separation of design concerns', Proc. Third Int. Workshop on Aspect-Oriented Modeling, March 2003
    30. 30)
      • Klose, K., Ostermann, K.: `Back to the future: pointcuts as predicates over traces', Foundations of Aspect-Oriented Languages Workshop, March 2005
    31. 31)
      • Ostermann, K., Mezini, M., Bockisch, C.: `Expressive pointcuts for increased modularity', Ecoop 2005-Object Oriented Programming: 19th European Conf., 25–29 July 2005, Glasgow, UK
    32. 32)
      • Kichkaylo, T., Karamcheti, V.: `Optimal resource-aware deployment planning for component-based distributed applications', Proc. 13th IEEE Int. Symp. High Performance Distributed Computing, June 2004
    33. 33)
      • Goldsack, P., Guijarro, J., Lain, A., Mecheneau, G., Murray, P., Toft, P.: `SmartFrog: configuration and automatic ignition of distributed applications', HP Openview University Association Conf., 2003
This is a required field
Please enter a valid email address