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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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
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
G. Booch, J. Rumbaugh, and I. Jacobson. The Unified Modeling Language User Guide. Addison-Wesley, 1999. 103
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
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
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
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
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
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
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
R. Guerraoui and M. E. Fayad. OO Distributed Programming Is Not Distributed OO Programming. Communications of the ACM, 4(42):101–104, 1999. 108
J. Kramer and J. Magee. The Evolving Philosophers Problem: Dynamic Change Management. IEEE Transaction on Software Engineering, SE 16(11), Nov 1990. 112
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
P. Maes. Concepts and Experiments in Computational Reflection. In Proceedings of OOPSLA87, Sigplan Notices. ACM, October 1987. 106, 112
G. C. Murphy. Architecture for Evolution. In Proceedings of 2nd International Software Architecture Workshop. ACM, 1996. 105
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
G. A. Papadopoulos and F. Arbab. Coordination Models and Languages. Advances in Computers, 46, 1998. 112
X. Pintado. Gluons: A Support for Software Component Cooperation. In Proceedings of ISOTAS’93, LNCS 742, pages 43–60. Springer-Verlag, 1993. 112
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
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
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
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
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
M. Shaw and D. Garlan. Software Achitecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996. 104
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
26. S. E. I. C. M. University. How Do You Define Software Architecture? http://www.sei.cmu.edu/architecture/definitions.html. 102
J. B. Warmer and A. G. Kleppe. The Object Constraint Language: Precise Modeling With UML. Addison-Wesley, 1999. 113
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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