Abstract
The UML shares with reflective architectures the idea that self-definition of languages and systems is a key principle for building and maintaining complex systems. The UML is now defined by a four-layer metalevel structure, enabling a flexible and extensible definition of models by metamodels, and even a self-description of the meta-metamodel (the MOF). This metalevel dimension of UMLis currently restricted to structural reflection. But recently a new extension to the UML, called the Action Semantics (AS), has been proposed for standardization to the OMG. This paper explores how this proposed extension brings a behavioural reflection dimension to the UML. Indeed, we show that it is not only possible but quite effective to use the AS for manipulating UMLmo dels (including the AS metamodel). Besides elegant conceptual achievements, such as a metacircular definition of the AS, reflective modeling with the AS leverages on the UML metalevel architecture to provide the benefits of a reflective approach, in terms of separation of concerns, within a mainstream industrial context. A complete model can now be built as an ideal model representing the core concepts in the application, to which non-functional requirements are integrated as fully traceable transformations over this ideal model. For example, this approach paves the way for powerful UML-defined semantics-based model transformations such as refactoring, aspect weaving, application of design patterns or round-trip engineering.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
J. Bézivin and R. Lemesle. Reflective modelling scheme. In Electronic Proceedings of the OOPSLA’99 Workshop on Object-Oriented Reflection and Software Engineering, OORaSE’99, pages 107–122, 1999. web site: http://www.disi.unige.it/person/CazzolaW/OORaSE99.html.
G. Blair, G. Coulson, F. Costa, and H. Duran. On the design of reflective middleware platforms. In Proceedings of the Reflective Middleware Workshop, RM 2000, 2000.
D. Bobrow and M. Stefik. The Loops Manual. Xerox PARC, Palo Alto CA, USA, December 1983.
J.-P. Briot and P. Cointe. The OBJVLISP Model: Definition of a Uniform, Reflexive and Extensible Object Oriented Language. In Proceedings of ECAI’86, pages 225–232, 1986.
J.-P. Briot and P. Cointe. A Uniform Model for Object-Oriented Languages Using the Class Abstraction. In Proceedings of IJCAI’87, pages 40–43, 1987.
CCITT. Red Book, SDL, Recommendation Z.100 to Z.104, 1984.
M. Cinnéide and P. Nixon. A methodology for the automated introduction of design patterns. In International Conference on Software Maintenance, Oxford, 1999.
M. Clavel and J. Meseguer. Axiomatizing Reflective Logics and Languages. In Proceedings of the First International Conference on Reflection, Reflection’96, pages 263–288, 1996.
P. Cointe. Metaclasses are first class: the objvlisp model. In Proceedings of OOPSLA’ 87, pages 156–167. ACM, 1987.
T. A. S. Consortium. Updated joint initial submission against the action semantics for uml rfp, 2000.
J. Floch. Supporting Evolution and Maintenance by using a Flexible Automatic Code Generator. In Proceedings of the 17th International Conference on Software Engineering, pages 211–219, Apr. 1995.
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1995.
O. M. Group. Action semantics for the uml rfp, ad/98-11-01, 1998.
W. Ho, F. Pennaneac’h, and N. Plouzeau. Umlaut: A framework for weaving uml-based aspect-oriented designs. In Technology of object-oriented languages and systems (TOOLS Europe), volume 33, pages 324–334. IEEE Computer Society, June 2000.
R. Keller and R. Schauer. Design components: Towards software composition at the design level. In Proceedings of the 20th International Conference on Software Engineering, pages 302–311. IEEE Computer Society Press, Apr. 1998.
Kennedy-Carter. Executable UML(xuml), http://www.kc.com/html/xuml.html.
G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Akŗit and S. Matsuoka, editors, ECOOP’ 97-Object-Oriented Programming 11th European Conference, Jyväskylä, Finland, volume 1241 of Lecture Notes in Computer Science, pages 220–242. Springer-Verlag, New York, N.Y., June 1997.
P. Kruchten. Rational Unified Process: an Introduction. Addison-Wesley, Reading/ MA, 1998.
M. Kurihara and A. Ohuchi. An Algebraic Specification and an Object-Oriented Implementation of a Reflective Language. In Proceedings of the International Workshop on New Models for Software Architecture’ 92, Reflection and Meta-Level Architectures, pages 137–142, November 1992.
J. Malenfant, C. Dony, and P. Cointe. A Semantics of Introspection in a Reflective Prototype-Based Language. Lisp and Symbolic Computation, Kluwer, 9(2/3):153–179, May/June 1996.
J. McAffer. Meta-level programming with coda. In Proceedings of ECOOP’95, number 952 in Lecture Notes in Computer Science, pages 190–214. AITO, Springer-Verlag, 1995.
H. Okamura, Y. Ishikawa, and M. Tokoro. Al-1/d: A distributed programming system with multi-model reflection framework. In A. Yonezawa and B. Smith, editors, Proceedings of the International Workshop on NewMo dels for Software Architectures, Reflection and Metalevel Architectures, pages 36–47. RISE (Japan), ACM Sigplan, JSSST, IPSJ, November 1992.
W. F. Opdyke. Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois, Urbana-Champaign, 1992. Tech. Report UIUCDCS-R-92-1759.
Projtech-Technology. Executable UML, http://www.projtech.com/pubs/xuml.html.
Softeam. UMLProfiles and the J language: Totally control your application development using UML. In http://www.softeam.fr/us/pdf/uml profiles.pdf , 1999
G. Sunyé, A. Le Guennec, and J.-M. Jézéquel. Design pattern application in UML. In E. Bertino, editor, ECOOP’2000 proceedings, number 1850, pages 44–62. Lecture Notes in Computer Science, Springer Verlag, June 2000.
S. Tan, D. Raila, and R. Campbell. An Object-Oriented Nano-Kernel for Operating System Hardware Support. In Proceedings of the International Workshop on Object-Orientation in Operating Systems, IWOOOS’95. IEEE, Coputer Society Press, 1995.
P. Tarr, H. Ossher, and W. Harrison. N degrees of separation: Multi-dimensional separation of concerns. In ICSE’99 Los Angeles CA, 1999.
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
Pennaneac’h, F., Jézéquel, JM., Malenfant, J., Sunyé, G. (2001). UML Reflections. In: Yonezawa, A., Matsuoka, S. (eds) Metalevel Architectures and Separation of Crosscutting Concerns. Reflection 2001. Lecture Notes in Computer Science, vol 2192. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45429-2_15
Download citation
DOI: https://doi.org/10.1007/3-540-45429-2_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42618-9
Online ISBN: 978-3-540-45429-8
eBook Packages: Springer Book Archive