Skip to main content

Architectural Reflection Realising Software Architectures via Reflective Activities

  • Conference paper
  • First Online:
Engineering Distributed Objects

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

Abstract

Architectural reflection is the computation performed by a software system about its own software architecture. Building on prev- ious research and on practical experience in industrial projects, in this pa- per we expand the approach and show a practical (albeit very simple) example ofa pplication of architectural reflection. The example shows how one can express, thanks to reflection, both functional and non-functional requirements in terms of object-oriented concepts, and how a clean sep- aration of concerns between application domain level and architectural level activities can be enforced.

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. M. Aksit, K. Wakita, J. Bosch, L. Bergmans, and A. Yonezawa. Abstracting Object Interactions Using Composition Filters. In Proceedings of Object-Based Distributed Programming (ECOOP94 Workshop), number 791 in LNCS, pages 152–184. Springer-Verlag, Jul 1994. 112

    Google Scholar 

  2. F. Arbab, I. Herman, and P. Spilling. An Overview ofMan ifold and Its Implementation. Concurrency: Practice and Experience, 50(1):23–70, Feb 1993. 112

    Article  Google Scholar 

  3. G. Booch, J. Rumbaugh, and I. Jacobson. The Unified Modeling Language User Guide. Addison-Wesley, 1999. 103

    Google Scholar 

  4. W. Cazzola, A. Savigni, A. Sosio, and F. Tisato. A Fresh Look at Programming-in-the-Large. In Proceedings of The Twenty-Second Annual International Computer Software and Application Conference (COMPSAC’ 98), Vienna, Austria, Aug 13-15, 1998. 105, 106

    Google Scholar 

  5. W. Cazzola, A. Savigni, A. Sosio, and F. Tisato. Architectural Reflection: Bridging the Gap Between a Running System and its Architectural Specification. In Proceedings of the 2nd Euromicro Conference on Software Maintenance and Reengineering and 6th Reengineering Forum, Florence, Italy, March 8-11 1998. 105, 106

    Google Scholar 

  6. W. Cazzola, A. Savigni, A. Sosio, and F. Tisato. Architectural reflection: Concepts, design, and evaluation. Technical Report RI-DI-234-99, Dipartimento di Scienze dell’Informazione, Universitá degli Studi di Milano, 1999. 109

    Google Scholar 

  7. W. Cazzola, A. Savigni, A. Sosio, and F. Tisato. Rule-Based Strategic Reflection: Observing and Modifying Behaviour at the Architectural Level. In Proceedings of Automated Software Engineering-ASE’99 14th IEEE International Conference, pages 263–266, Cocoa Beach, Florida, USA, Oct 12-15 1999. 109

    Google Scholar 

  8. F. DeRemer and H. H. Kron. Programming-in-the-large versus Programming-in-the-small. Transactions on Software Engineering, SE-2:80–86, June 1976. 105, 112

    Google Scholar 

  9. S. Ducasse and T. Richner. Executable Connectors: Towards Reusable Design Elements. In Proceedings of ESEC’97, LNCS 1301, pages 483–500. Springer-Verlag, 1997. 113

    Google Scholar 

  10. D. Garlan, R. Allen, and J. Ockerbloom. Architectural Mismatch, or, Why It’s Hard to Build Systems out of Existing Parts. In Proceedings of XVII ICSE. IEEE, April 1995. 105, 110

    Google Scholar 

  11. R. Guerraoui and M. E. Fayad. OO Distributed Programming Is Not Distributed OO Programming. Communications of the ACM, 4(42):101–104, 1999. 108

    Article  Google Scholar 

  12. J. Kramer and J. Magee. The Evolving Philosophers Problem: Dynamic Change Management. IEEE Transaction on Software Engineering, SE 16(11), Nov 1990. 112

    Google Scholar 

  13. O. Loques, A. Sztajnberg, J. Leite, and M. Lobosco. On the Integration of Configuration and Meta-Level Programming Approaches. In W. Cazzola, R. J. Stroud, and F. Tisato, editors, Reflection and Software Engineering, Lecture Notes in Computer Science 1826, pages 191–210. Springer-Verlag, Heidelberg, Germany, June 2000. 112

    Chapter  Google Scholar 

  14. P. Maes. Concepts and Experiments in Computational Reflection. In Proceedings of OOPSLA87, Sigplan Notices. ACM, October 1987. 106, 112

    Google Scholar 

  15. G. C. Murphy. Architecture for Evolution. In Proceedings of 2nd International Software Architecture Workshop. ACM, 1996. 105

    Google Scholar 

  16. P. Oreizy, N. Medvidovic, and R. N. Taylor. Architecture-based runtime software evolution. In Proceedings ICSE 98, pages 177–186, Kyoto, Japan, Apr. 1998. 112

    Google Scholar 

  17. G. A. Papadopoulos and F. Arbab. Coordination Models and Languages. Advances in Computers, 46, 1998. 112

    Google Scholar 

  18. X. Pintado. Gluons: A Support for Software Component Cooperation. In Proceedings of ISOTAS’93, LNCS 742, pages 43–60. Springer-Verlag, 1993. 112

    Google Scholar 

  19. A. Savigni. RoleJ. A Role-Based Java Extension. In Proceedings of ECOOP 2000 (The 14 th European Conference for Object-Oriented Programming), Cannes, France, June 12-16 2000. Poster. To appear. 108, 113

    Google Scholar 

  20. A. Savigni, F. Cunsolo, D. Micucci, and F. Tisato. ESCORT: Towards Integration in Intersection Control. In Proceedings of Rome Jubilee 2000 Conference (Workshop on the International Foundation for Production Research (IFPR) on Management of Industrial Logistic Systems-8th Meeting of the Euro Working Group Transportation-EWGT), Roma, Italy, September 11-14 2000. 113

    Google Scholar 

  21. A. Savigni and F. Tisato. Kaleidoscope. A Reference Architecture for Monitoring and Control Systems. In Proceedings of the First Working IFIP Conference on Software Architecture (WICSA1), San Antonio, TX, USA, February 22-24 1999. 113

    Google Scholar 

  22. A. Savigni and F. Tisato. Designing Traffic Control Systems. A Software Engineering Perspective. In Proceedings of Rome Jubilee 2000 Conference (Workshop on the International Foundation for Production Research (IFPR) on Management of Industrial Logistic Systems-8th Meeting of the Euro Working Group Transportation-EWGT), Roma, Italy, September 11-14 2000. 113

    Google Scholar 

  23. A. Savigni and F. Tisato. Real-Time Programming-in-the-Large. In Proceedings of ISORC 2000 The 3rd IEEE International Symposium on Object-oriented Real-time distributed Computing, pages 352–359, Newport Beach, California, USA, March 15-17 2000. 113

    Google Scholar 

  24. M. Shaw and D. Garlan. Software Achitecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996. 104

    Google Scholar 

  25. K. J. Sullivan, I. J. Kalet, and D. Notkin. Evaluating the Mediator Method: Prism as a Case Study. IEEE Transactor on Software Engineering, 22(8):563–579, August 1996. 112

    Article  Google Scholar 

  26. 26. S. E. I. C. M. University. How Do You Define Software Architecture? http://www.sei.cmu.edu/architecture/definitions.html. 102

  27. J. B. Warmer and A. G. Kleppe. The Object Constraint Language: Precise Modeling With UML. Addison-Wesley, 1999. 113

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tisato, F., Savigni, A., Cazzola, W., Sosio, A. (2001). Architectural Reflection Realising Software Architectures via Reflective Activities. In: Emmerich, W., Tai, S. (eds) Engineering Distributed Objects. Lecture Notes in Computer Science, vol 1999. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45254-0_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-45254-0_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41792-7

  • Online ISBN: 978-3-540-45254-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics