Skip to main content

Modelling the Asynchronous Dynamic Evolution of Architectural Types

  • Conference paper
Self-Organizing Architectures (SOAR 2009)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 6090))

Included in the following conference series:

Abstract

Self-adaptability is a feature that has been proposed to deal with the increasing management and maintenance efforts required by large software systems. However this feature is not enough to deal with the longevity usually these systems exhibit. Although self-adaptive systems allow the adaptation or reorganization of the system structure, they generally do not allow introducing unforeseen changes at runtime. This issue is tackled by dynamic evolution. However, its support in distributed contexts, like self-organizing systems, is challenging: these systems have a degree of autonomy which requires asynchronous management. This paper proposes the use of asynchronous dynamic evolution, where both types and instances evolve dynamically at different rates, while preserving: (i) type-conformance of instances, and (ii) the order of type evolutions. This paper describes the semantics for supporting the asynchronous evolution of architectural types (ie. types that define a software architecture). The semantics is illustrated with PRISMA architecture specifications and is formalized by using typed graph transformations.

This work has been partially supported by the Spanish Department of Science and Technology under the National Program for Research, Development and Innovation project MULTIPLE (TIN2009-13838), and by the Conselleria d’Educació i Ciència (Generalitat Valenciana) under the contract BFPI06/227.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. AGG: Attributed Graph Grammar System Tool, http://user.cs.tu-berlin.de/~gragra/agg/

  2. Andersson, J., Comstedt, M., Ritzau, T.: Run-time support for dynamic Java architectures. In: ECOOP 1998 workshop on Object-Oriented Software Architectures (WOOSA 1998), Brussels (1998)

    Google Scholar 

  3. Andersson, J., De Lemos, R., Malek, S., Weyns, D.: Reflecting on Self-Adaptive Software Systems. In: ICSE workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2009), Vancouver, Canada (2009)

    Google Scholar 

  4. Atkinson, C., Kühne, T.: Model-Driven Development: A Metamodeling Foundation. IEEE Software 20(5), 36–41 (2003)

    Article  Google Scholar 

  5. Bencomo, N., Blair, G.S., Flores-Cortés, C.A., Sawyer, P.: Reflective Component-based Technologies to Support Dynamic Variability. In: 2nd Int. Workshop on Variability Modelling of Software-Intensive Systems (VaMoS’08), Universität Duisburg-Essen, Germany (2008)

    Google Scholar 

  6. Beydeda, S., Book, M., Gruhn, V.: Model-Driven Software Development. Springer, Heidelberg (2005)

    Book  MATH  Google Scholar 

  7. Bradbury, J.S., Cordy, J.R., Dingel, J., Wermelinger, M.: A Survey of Self-Management in Dynamic Software Architecture Specifications. In: Workshop on Self-Managed Systems (WOSS 2004), Newport Beach, CA (2004)

    Google Scholar 

  8. Bucchiarone, A., Melgratti, H., Gnesi, S., Bruni, R.: Modelling Dynamic Software Architectures using Typed Graph Grammars. In: Graph Transformations for Verification and Concurrency. ENTCS, vol. 213(1), pp. 39–53. Elsevier, Amsterdam (2007)

    Google Scholar 

  9. Cámara, J., Salaün, G., Canal, C.: Composition and Run-time Adaptation of Mismatching Behavioural Interfaces. J. of Universal Computer Science 14(13), 2182–2211 (2008)

    Google Scholar 

  10. Canal, C., Pimentel, E., Troya, J.M.: Specification and Refinement of Dynamic Software Architectures. In: Working IFIP Conference on Software Architecture (WICSA 1999), San Antonio, Texas, USA (1999)

    Google Scholar 

  11. Cazzola, W., Ghoneim, A., Saake, G.: Software Evolution through Dynamic Adaptation of Its OO Design. In: Ryan, M.D., Meyer, J.-J.C., Ehrich, H.-D. (eds.) Objects, Agents, and Features. LNCS, vol. 2975, pp. 67–80. Springer, Heidelberg (2004)

    Google Scholar 

  12. Cheng, S., Garlan, D., Schmerl, B.R.: Making Self-Adaptation an Engineering Reality. In: Babaoğlu, Ö., Jelasity, M., Montresor, A., Fetzer, C., Leonardi, S., van Moorsel, A., van Steen, M. (eds.) SELF-STAR 2004. LNCS, vol. 3460, pp. 158–173. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  13. Costa-Soria, C., Hervás-Muñoz, D., Pérez, J., Carsí, J.A.: A Reflective Approach for Supporting the Dynamic Evolution of Component Types. In: 14th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 2009). Potsdam, Germany (2009)

    Google Scholar 

  14. Costa-Soria, C., Pérez, J., Carsí, J.A.: An Aspect-Oriented Approach for Supporting Autonomic Reconfiguration of Software Architectures. In: 2nd Workshop on Autonomic and SELF-adaptive Systems (WASELF 2009), San Sebastián, Spain (2009)

    Google Scholar 

  15. Cuesta, C.E., Romay, P., de la Fuente, P., Barrio-Solórzano, M.: Reflection-Based, Aspect-Oriented Software Architecture. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 43–56. Springer, Heidelberg (2004)

    Google Scholar 

  16. De Lucia, A., Deufemia, V., Gravino, C., Risi, M.: Behavioral Pattern Identification through Visual Language Parsing and Code Instrumentation. In: 13th European Conference on Software Maintenance and Reengineering (CSMR 2009), Kaiserslautern, Germany (2009)

    Google Scholar 

  17. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series). Springer, Heidelberg (2006)

    Google Scholar 

  18. Engels, G., Heckel, R., Küster, J.M., Groenewegen, L.: Consistency-Preserving Model Evolution through Transformations. In: Jézéquel, J.-M., Hußmann, H., Cook, S. (eds.) UML 2002. LNCS, vol. 2460, pp. 212–227. Springer, Heidelberg (2002)

    Google Scholar 

  19. Engels, G., Heckel, R., Küster, J.M.: Rule-Based Specification of Behavioral Consistency Based on the UML Meta-model. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 272–286. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  20. Fabry, R.S.: How to design a system in which modules can be changed on the fly. In: 2nd International Conference on Software Engineering (ICSE 1976), San Francisco, California, USA (1976)

    Google Scholar 

  21. Heckel, R.: Graph Transformation in a Nutshell. In: School on Foundations of Visual Modelling Techniques (FoVMT 2004). ENTCS, vol. 148(1), pp. 187–198. Elsevier, Amsterdam (2006)

    Google Scholar 

  22. Hirsch, D., Inverardi, P., Montanari, U.: Graph grammars and constraint solving for software architecture styles. In: 3rd Int. Software Architecture Workshop (ISAW-3). ACM Press, New York (1998)

    Google Scholar 

  23. Kephart, J.O., Chess, D.M.: The Vision of Autonomic Computing. IEEE Computer 36(1), 41–51 (2003)

    Google Scholar 

  24. Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: ICSE - Future of Software Engineering (FOSE 2007). IEEE, Los Alamitos (2007)

    Google Scholar 

  25. Kramer, J., Magee, J.: The Evolving Philosophers Problem: Dynamic Change Management. IEEE Transactions on Software Engineering 16(11), 1293–1306 (1990)

    Article  Google Scholar 

  26. Malabarba, S., Pandey, R., Gragg, J., Barr, E., Barnes, J.F.: Runtime support for type-safe dynamic Java classes. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, pp. 337–361. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  27. McKinley, P.K., Sadjadi, S.M., Kasten, E.P., Cheng, B.H.C.: Composing Adaptive Software. IEEE Computer 37(7), 56–64 (2004)

    Google Scholar 

  28. Medvidovic, N., Taylor, R.N.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)

    Article  Google Scholar 

  29. Mens, T., Wermelinger, M.: Separation of concerns for software evolution. J. of Software Maintenance and Evolution 14(5), 311–315 (2002)

    Article  Google Scholar 

  30. Milner, R.: The Polyadic π-Calculus: A Tutorial. Laboratory for Foundations of Computer Science Department, University of Edinburgh (1993)

    Google Scholar 

  31. Nicoara, A., Alonso, G., Roscoe, T.: Controlled, Systematic, and Efficient Code Replacement for Running Java Programs. SIGOPS Operating Systems Review 42(4), 233–246 (2008)

    Article  Google Scholar 

  32. Oreizy, P., Gorlick, M., Taylor, R.N., et al.: An Architecture-Based Approach to Self-Adaptive Software. IEEE Intelligent Systems 14(3), 54–62 (1999)

    Google Scholar 

  33. Pérez, J., Ali, N., Carsí, J.A., Ramos, I., et al.: Integrating aspects in software architectures: PRISMA applied to robotic tele-operated systems. Information & Software Technology 50(9-10), 969–990 (2008)

    Article  Google Scholar 

  34. Pérez, J., Ali, N., Carsí, J.A., Ramos, I.: Designing Software Architectures with an Aspect-Oriented Architecture Description Language. In: Gorton, I., Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds.) CBSE 2006. LNCS, vol. 4063, pp. 123–138. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  35. Pérez, J.: PRISMA: Aspect-Oriented Software Architectures. PhD Thesis, Universidad Politécnica de Valencia (2006)

    Google Scholar 

  36. Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  37. Ritzau, T., Andersson, J.: Dynamic Deployment of Java Applications. In: Java for Embedded Systems, London (2000)

    Google Scholar 

  38. Rogers, A., Jennings, N.R., Farinelli, A.: Self-Organising Sensors for Wide Area Surveillance using the Max-Sum Algorithm. In: WICSA/ECSA Workshop on Self-Organizing Architectures (SOAR 2009), Cambridge, UK (2009)

    Google Scholar 

  39. Rombach, H.D.: Design for Maintenance - Use of Engineering Principles and Product Line Technology. In: 13th European Conf. on Software Maintenance and Reengineering (CSMR 2009), Kaiserslautern, Germany (2009)

    Google Scholar 

  40. Segal, M.E., Frieder, O.: On-the-Fly Program Modification: Systems for Dynamic Updating. IEEE Software 10(2), 53–65 (1993)

    Article  Google Scholar 

  41. Serugendo, G.D.M., Gleizes, M.P., Karageorgos, A.: Self-organisation and emergence in MAS: An Overview. Informatica (Slovenia) 30, 45–54 (2006)

    MATH  Google Scholar 

  42. Software Engineering Institute: Ultra-Large-Scale Systems: Software Challenge of the Future. Technical Report, Carnegie Mellon University, Pittsburgh, USA (2006)

    Google Scholar 

  43. Stirling, C.: Modal and Temporal Logics. In: Handbook of Logic in Computer Science, vol. II. Clarendon Press, Oxford (1992)

    Google Scholar 

  44. Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory and Practice. Wiley, Chichester (2009)

    Google Scholar 

  45. Thao, C., Munson, E.V., Nguyen, T.N.: Software Configuration Management for Product Derivation in Software Product Families. In: 15th Int. Conf. on Engineering of Computer Based Systems (ECBS 2008), Belfast, Northern Ireland (2008)

    Google Scholar 

  46. Vandewoude, Y., Berbers, Y.: Component state mapping for runtime evolution. In: Int. Conf. on Programming Languages and Compilers, Las Vegas, Nevada, USA (2005)

    Google Scholar 

  47. Vandewoude, Y., Ebraert, P., et al.: Tranquillity: A low Disruptive Alternative to Quiescence for Ensuring Safe Dynamic Updates. IEEE Transactions on Software Engineering 33(12), 856–868 (2007)

    Article  Google Scholar 

  48. Wang, Q., Shen, J., Wang, X., Mei, H.: A Component-Based Approach to Online Software Evolution. Journal of Software Maintenance and Evolution 18(3), 181–205 (2006)

    Article  Google Scholar 

  49. Wermelinger, M., Lopes, A., Fiadeiro, J.L.: A graph based architectural (re)configuration language. SIGSOFT Software Engineering Notes 26(5), 21–32 (2001)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Costa-Soria, C., Heckel, R. (2010). Modelling the Asynchronous Dynamic Evolution of Architectural Types. In: Weyns, D., Malek, S., de Lemos, R., Andersson, J. (eds) Self-Organizing Architectures. SOAR 2009. Lecture Notes in Computer Science, vol 6090. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14412-7_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14412-7_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14411-0

  • Online ISBN: 978-3-642-14412-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics