Skip to main content

Extending UML for Modeling Reflective Software Components

  • Conference paper
  • First Online:
Book cover «UML»’99 — The Unified Modeling Language (UML 1999)

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

Included in the following conference series:

Abstract

This paper describes our extension of the UML metamodel for specifying reflective software components. Reflection is a design principle that allows a system to have a representation of itself in the manner that makes it easy to adapt the system to a changing environment. It has matured to the point where it is used to address real-world problems in various areas. We describe how to document reflective components in the framework of UML. Our work allows for recognizing and understanding reflective components in the upper levels of abstraction at an earlier stage of the development process. It leverages the documentation, learning, visual modeling, reuse and roundtrip development of metalevel designs. We also demonstrate the seamless model exchange between different development tools and model continuity across development phases with application-neutral interchange formats.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Object Management Group. Unified Modeling Language Specification version 1.3. OMG document number: ad/99-06-08, 1999.

    Google Scholar 

  2. W. L. Hursch and C. V. Lopes. Separation of Concerns. Technical report, NUCCS-95-03, Northeastern University, 1995.

    Google Scholar 

  3. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda C. Lopes, J-M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In Proceedings of ECOOP’97. Springer LNCS 1241, 1997.

    Google Scholar 

  4. K. Czarnecki. Generative Programming: Principles and Techniques of Software Engineering based on Automated Configuration and Fragment-based Component Models. Ph.D. Thesis, Technische Universitat Ilmenau, Germany, 1998.

    Google Scholar 

  5. Xerox PARC AOP research group. The AspectJ Primer. available at http://www.parc.xerox.com/spl/projects/aop/aspectj/primer.

  6. K. Bollert. Implementing an Aspect Weaver in Smalltalk. In Proceedings of STJA’98, 1998, available at http://www.germany.net/teilnehmer/101,199268/.

  7. K. J. Lieberherr. The Art of Growing Adaptive Object-Oriented Software. PWS Publishing Company, 1995.

    Google Scholar 

  8. M. Aksit, K. Wakita, J. Bosch, L. Bergmans, and A. Yonezawa. Abstracting object-interactions using composition-filters. In R. Guerraoui O. Nierstrasz and M. Riveill, editors, Object-based Distributed Processing. Springer LNCS, 1993.

    Google Scholar 

  9. Y. Ichisugi and Y. Roudier. The Extensible Java Preprocessor Kit and a Tiny Data Parallel Java. In Proceedings of ISCOPE’97. Springer LNCS 1343, 1997.

    Google Scholar 

  10. S. Sonntag, H. Haertig, O. Kowalski, W. Kuehnhauser, and W. Lux. Adaptability using Reflection. In Proceedings of 27th. Annual Hawaii Int. Conf. on Sys. Sci., pages 383–392. Springer LNCS 1616, 1994.

    Google Scholar 

  11. B. C. Smith. Reflection and Semantics in Lisp. In Proceedings of ACM POPL’ 84, pages 23–35, 1984.

    Google Scholar 

  12. G. Kiczales, J. Rivieres, and D. G. Bobrow. The Art of the Metaobject Protocol. MIT Press, Cambridge, MA, 1991.

    Google Scholar 

  13. J. McAffer. Engineering the Meta Level. In Proceedings of Reflection’ 96, 1996.

    Google Scholar 

  14. S. Chiba. A Metaobject Protocol for C++. In Proceedings of OOPSLA’95, 1995.

    Google Scholar 

  15. M. Tatsubori and S. Chiba. Programming Support of Design Patterns with Compile-time Reflection. In Proceedings of Reflective Programming in C++ and Java Workshop at OOPSLA’98, 1998.

    Google Scholar 

  16. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. A Systemof Patterns: Pattern-Oriented Software Architecture. WILEY, 1996.

    Google Scholar 

  17. P. Maes. Concepts and Experiments in Computational Reflection. In Proceedings of OOPSLA’ 87, pages 147–155, 1987.

    Google Scholar 

  18. D. P. Friedman and M. Wand. Reification: Reflection without Metaphysics. In Symposium on LISP and Functional Programming, 1984.

    Google Scholar 

  19. M.L.B Lisboa. A New Trend on the Development of Fault-Tolerant Applications: Software Meta-Level Architectures. In Proceedings of Internetional Workshop on Dependable Computing and its Applications (IFIP’98), 1998.

    Google Scholar 

  20. D. Bobrow, R. Gabriel, and J. White. CLOS in Context-The Shape of the Design Space. In A. Paepcke, editor, Object-Oriented Programming-The CLOS Perspective, page Chapter 2. MIT Press, 1993.

    Google Scholar 

  21. J. Suzuki and Y. Yamamoto. Making UML Models Interoperable with UXF. In J. Bezivin and P-A. Muller, editors, «UML»’98: Beyond the Notation. Springer LNCS 1618, 1999.

    Google Scholar 

  22. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Addison-Wesley, 1995.

    Google Scholar 

  23. C. Maros, M. Campo, and A. Pirotte. Reifying Design Patterns as Metalevel Constructs. In Journal of the Argentine Society for Informatics and Operations Research. August 1999.

    Google Scholar 

  24. L. L. Ferreira and C. M. F. Rubira. The Reflective State Pattern. In Proceedings of PLoP’98, 1998.

    Google Scholar 

  25. D. Lea. Concurrent Programming in Java: Design Principle and Patterns. Addison-Wesley, 1997.

    Google Scholar 

  26. J. Suzuki and Y. Yamamoto. OpenWebServer: an Adaptive Web Server Using Software Patterns. In IEEE Communications Magazine, Vol.37, No.4, April 1999.

    Google Scholar 

  27. I. R. Forman and S. H. Danforth. Putting Metaclasses to Work. Addison-Wesley, 1998.

    Google Scholar 

  28. H. Rohnert. The Proxy Design Pattern Revisited. In J. Vlissides J. Coplien and N. Kerth, editors, Pattern Languages of Program Design 2. Addison-Wesley, 1996.

    Google Scholar 

  29. Object Management Group. Meta Object Facility. OMG document number: ad/97-08-14, November 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Suzuki, J., Yamamoto, Y. (1999). Extending UML for Modeling Reflective Software Components. In: France, R., Rumpe, B. (eds) «UML»’99 — The Unified Modeling Language. UML 1999. Lecture Notes in Computer Science, vol 1723. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46852-8_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-46852-8_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66712-4

  • Online ISBN: 978-3-540-46852-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics