Skip to main content

Flexible Software Architecture

  • Chapter
Software Architecture

Part of the book series: Advanced Topics in Science and Technology in China ((ATSTC))

  • 2418 Accesses

Abstract

So far, we assume that every software system contains architecture information, representing the high level structures, behaviors and other issues related to them. When a system has been built, it is a common belief that its architecture will keep stable or only very small parts of it will get modified. However, current software does not stay so tame. Under various factors, they have to response with the changes in the architecture level, and in the perspective of marketing, which should not beget too much overhead.

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 149.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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. Ahuja, S., Carriero, N. & Gelernter, D. Linda and Friends. Computer 1986(19): 26–34.

    Article  Google Scholar 

  2. Allen, R. J., Douence, R. & Garlan, D. Specifying and Analyzing Dynamic Software Architectures Lncs 1382, Fundamental Approaches to Software Engineering. Springer.1998.

    Google Scholar 

  3. Anreoli, J. M., Hankin, C. & Mtayer, D. L. Corrdination Programming: Mechanisms, Models and Semantics: Imperial College Press. 1996.

    Google Scholar 

  4. Arbab, F. Reo: A Channel-Based Coordination Model for Component Composition. Mathematical Structures in Computer Science 2004 (14): 329–366.

    Article  MATH  MathSciNet  Google Scholar 

  5. Banville, M. Sonia: An Adaptation of Linda for Coordination of Activities in OrganizationsLncs 1061, Coordination Languages and Models. Springer. 1996.

    Google Scholar 

  6. Barbacci, M. R., et al. Durra: A Structure Description Language for Developing Distributed Applications. Software Engineering 1993(8): 83–94.

    Article  Google Scholar 

  7. Bradbury, J. S., et al. A Survey of Self-Management in Dynamic Software Architecture Specifications. Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems Newport Beach, California.2004:28–33.

    Google Scholar 

  8. Carriero, N. & Gelemter, D. Linda in Context. Communications of the ACM 1989(32): 444–458.

    Article  Google Scholar 

  9. Carriero, N., Gelernter, D. & Zuck, L. D. Bauhaus LindaLncs 924, Selected Papers from the Ecoop’ 94 Workshop on Models and Languages for Coordination of Parallelism and Distribution, Object-Based Models and Languages for Concurrent Systems. Springer.1994.

    Google Scholar 

  10. Chapman, B., et al. Opus: A Coordination Language for Multidisciplinary Applications, Techincal Report, TR-97-30, 1997.

    Google Scholar 

  11. Chaudet, C. & Oquendo, F. (2001). Pi-Sp ace: M odelling Evolvable Distributed Software Architectures. In: Arabnia, H. R., (Ed) Pdpta’2001: Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications. Athens: CSRE a Press.

    Google Scholar 

  12. Cimpan, S., Leymonerie, F. & Oquendo, F. Handling Dynamic Behaviour in Software Architectures Software Architecture, Proceedings. Berlin: Springer-Verlag Berlin.2005.

    Google Scholar 

  13. Clemens, S. Modeling and Analyzing Mobile Software Architectures.2006.

    Google Scholar 

  14. Cuestal C. E., Fuente, P. d. 1. & Barrio-Solarzano, M. Dynamic Coordination Architecture through the Use of Reflection. Proceedings of the 2001 ACM symposium on Applied computing Las Vegas, Nevada, United States.2001:134–140.

    Google Scholar 

  15. Cuesta, C. E., et al. An “Abstract Process” Approach to Algebraic Dynamic Architecture Description. Journal of Logic and Algebraic Programming 2005(63): 177–214.

    Article  MATH  MathSciNet  Google Scholar 

  16. Floch, J., et al. Using Architecture Models for Runtime Adaptability. Software, IEEE 2006(23): 62–70.

    Article  Google Scholar 

  17. Fuggetta, A., Picco, G. P. & Vigna, G. Understanding Code Mobility. IEEE Transactions on Software Engineering 1998(24): 342–361.

    Article  Google Scholar 

  18. Garlan, D., et al. Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure. Computer 2004(37): 46–54.

    Article  Google Scholar 

  19. Gelemter, D. & Carriero, N. Coordination Languages and Their Significance. Communications of the ACM 1992(35): 96.

    Article  Google Scholar 

  20. Georgiadis, I., Magee, J. & Kramer, J. Self-Organising Software Architectures for Distributed Systems. Proceedings fo the first workshop on self-healing systems, Charleston, South Carolina.2002:33–38.

    Google Scholar 

  21. Gruhn, V. & Schafer, C. An Architecture Description Language for Mobile Distributed Systems Software Architecture. Berlin: Springer-Verlag Berlin.2004.

    Google Scholar 

  22. Hirsch, D., Inverardi, P. & Montanari, U. Graph Grammars and Constraint Solving for Software Architecture Styles. Proceedings of the 3rd Inernational Software Architecture Workshop (ISAW-3).1998:69–72.

    Google Scholar 

  23. Kim, M., Jeong, J. & Park, S. From Product Lines to Self-Managed Systems:An Architecture-Based Runtime Reconfiguration Framework. ACM SIGSOFT Software Engineering Notes 2005(30): 1–7.

    Google Scholar 

  24. Mtayer, D. L. Describing Software Architecture Styles Using Graph Grammars. IEEE Transactions on Software Engineering 1998(24): 521–533.

    Article  Google Scholar 

  25. Maes, P. Concepts and Experiments in Computational Reflection. Conference Proceedings on Object Oriented Programming Systems, Languages and Applications, Orlando, Florida, United States.1987:147–155.

    Google Scholar 

  26. Magee, J., et al. Specifying Distributed Software Architectures. 1995.

    Google Scholar 

  27. Maloe, T. W. & Crowston, K. Interdisciplinary Study of Coordination. ACM Computing Surveys 1994(26): 87–119.

    Article  Google Scholar 

  28. Minsky, N. H. & Leichter, J. Law-Governed Linda as a Coordination Model. LNCS 924, Selected papers from the ECOOP’94 Workshop on Models and Languages for Coordination of Parallelism and Distribution, Object-Based Models and Languages for Concurrent Systems 1994.

    Google Scholar 

  29. Mun, J., Ryu, K. & Jung, M. Self-Reconfigurable Software Architecture: Design and Implementation. Computers & Industrial Engineering 2006(51): 163–173.

    Article  Google Scholar 

  30. Murphy, A. L., Picco, G. P. & Roman, G.-C. Lime: A Coordination Model and Middleware Supporting Mobility of Hosts and Agents. ACM Transactions on Software Engineering and Methodology 2006 (15): 279–328.

    Article  Google Scholar 

  31. Oquendo, F. The Archware Architecture Description Language: Turorial, Techincal Report, Report RI.I-1, 2003.

    Google Scholar 

  32. Oquendo, F. II-Adl: An Architecture Description Language Based on the Higher-Order Typed H-Calculus for Specifying Dynamic and Mobile Software Architectures. ACM SIGSOFT Software Engineering Notes 2004(29): 1–14.

    Google Scholar 

  33. Oreizy, P., et al. An Architecture-Based Approach to Self-Adaptive Software. IEEE Intelligent Systems 1999(14): 54–62.

    Article  Google Scholar 

  34. Papadopoulos, G. A. & Arbab, F. Coordination Models and Languages Techincal Report, SEN-R9834 1998.

    Google Scholar 

  35. Parrow, J. To an Introduction to the II-Calculus Handbook of Process Algebra. Elsevier.2001.

    Google Scholar 

  36. Picco, G. P., Murphy, A. L. & Roman, G. C. Lime: Linda Meets Mobility. 1999:368–377.

    Google Scholar 

  37. Picco, G. P., Murphy, A. L. & Roman, G.-C. Developing Mobile Computing Applications with Lime. Proceedings of the 22nd international conference on Software engineering. Limerick, Ireland. 2000:766–769.

    Google Scholar 

  38. Picco, G. P., Balzarotti, D. & Costa, P. Lights: A Lightweight, Customizable Tuple Space Supporting Context-Aware Applications. Proceedings of the 2005 ACM symposium on Applied computing Santa Fe, New Maxico.2005:413–419.

    Google Scholar 

  39. Roman, G.-C., McCann, P. J. & Plun, J. Y. Reasoning and Specification in Mobile Computing, ACM Transactions on Software Engineering and Methodology 1997(6): 250–282.

    Article  Google Scholar 

  40. Sangiorgi, D. & Walker, D. The II-Calculus: A Theory of Mobile Processes: Cambrige University Press. 2001.

    Google Scholar 

  41. Schmerl, B. & Garlan, D. Exploiting Architectural Design Knowledge to Support Self-Repairing Systems. Proceedings of the 14th international conference on software engineering and knowledge engineering, Ischia, Italy.2002:241–248.

    Google Scholar 

  42. Sommerville, I. & Dean, G. Pcl: A Language for Modeling Evolving System Architectures. Software Engineering 1996(11): 111–121.

    Google Scholar 

  43. Taentzer, G., Goedicke, M. & Meyer, T. Dyanmic Change Management by Distributed Graph Transformation: Towards Configurable Distributed SystemsLncs 1764, Theory and Application of Graph Transformations. Springer. 1998.

    Google Scholar 

  44. Tolksdorf, R. Coordinating Services in Open Distributed Systems with LauraLncs 1061, Proceedings of the First International Conference on Coordination Languages and Models. Springer. 1996.

    Google Scholar 

  45. Wermelinger, M. Towards a Chemical Model of Software Architecture Reconfiguration. IEE Proceedings-Software 1998(145): 130–136.

    Article  Google Scholar 

  46. Wermelinger, M., Lopes, A. & Fiadeiro, J. L. A Graph Based Architectural (Re) Configuration Language. Proceedings of the 8th European Software Engineering Conference and 9th ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2001). Software Engineering Notes, 2001 (26): 21–32.

    Article  Google Scholar 

  47. Yang, Q., Yang, X. & Xu, M. A Mobile Agent Approach to Dynamic Architecture-Based Software Adaptation. ACM SIGSOFT Software Engineering Notes 2006(31): 1–7.

    Article  MathSciNet  Google Scholar 

  48. Zhang, J. & Cheng, B. H. C. ModekBased Development of Dynamically Adaptive Software. Proceeding of the 28th international conference on Software engineering Shanghai, China.2006:371–380.

    Google Scholar 

Download references

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Zhejiang University Press, Hangzhou and Springer-Verlag GmbH Berlin Heidelberg

About this chapter

Cite this chapter

(2008). Flexible Software Architecture. In: Software Architecture. Advanced Topics in Science and Technology in China. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74343-9_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-74343-9_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74342-2

  • Online ISBN: 978-3-540-74343-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics