Abstract
Object-oriented meta-languages such as MOF or EMOF are often used to specify domain specific languages. However, these meta-languages lack the ability to describe behavior or operational semantics. Several approaches have used a subset of Java mixed with OCL as executable meta-languages. In this paper, we report our experience of using Smalltalk as an executable meta-language. We validated this approach in incrementally building over the last decade, Moose, a meta-described reengineering environment. The reflective capabilities of Smalltalk support a uniform way of letting the developer focus on his tasks while at the same time allowing him to meta-describe his domain model. The advantage of our approach is that the developer uses the same tools and environment he uses for his regular tasks.
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
Atkinson, C., Kuehne, T.: The essence of multilevel metamodeling. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 19–33. Springer, Heidelberg (2001)
Atkinson, C., Kuehne, T.: Concepts for comparing modeling tool architecture. In: Proceedings of the UML Conference. LNCS, vol. 3713, pp. 19–33. Springer, Heidelberg (2005)
Bergel, A., Ducasse, S., Nierstrasz, O.: Classbox/J: Controlling the scope of change in Java. In: Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2005), pp. 177–189. ACM Press, New York (2005)
Bézivin, J., Gerbé, O.: Towards a precise definition of the OMG/MDA framework. In: Proceedings Automated Software Engineering (ASE 2001), pp. 273–282. IEEE Computer Society, Los Alamitos (2001)
Bobrow, D.G., Gabriel, R.P., White, J.L.: Clos in context — the shape of the design. In: Paepcke, A. (ed.) Object-Oriented Programming: the CLOS perspective, pp. 29–61. MIT Press, Cambridge (1993)
Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.: Eclipse Modeling Framework. Addison Wesley Professional, Reading (2003)
Clark, T., Evans, A., Sammut, P., Willans, J.: Applied metamodelling: A foundation for language driven development (2004)
Demeyer, S., Ducasse, S.: Metrics, do they really help? In: Malenfant, J. (ed.) Proceedings LMO 1999 (Languages et Modèles à Objets), pp. 69–82. Hermes Science Publications, Paris (1999)
Ducasse, S., Demeyer, S. (eds.): The FAMOOS Object-Oriented Reengineering Handbook, University of Bern (October 1999)
Demeyer, S., Ducasse, S., Lanza, M.: A hybrid reverse engineering platform combining metrics and program visualization. In: Balmas, F., Blaha, M., Rugaber, S. (eds.) Proceedings WCRE 1999 6th Working Conference on Reverse Engineering, IEEE, Los Alamitos (1999)
Ducasse, S., Gîrba, T., Lanza, M., Demeyer, S.: Moose: a collaborative and extensible reengineering environment. In: Tools for Software Maintenance and Reengineering. RCOST / Software Technology Series, pp. 55–71. Franco Angeli, Milano (2005)
Ducasse, S., Lanza, M.: The class blueprint: Visually supporting the understanding of classes. IEEE Transactions on Software Engineering 31(1), 75–90 (2005)
Devos, M., Tilman, M.: Incremental development of a repository-based framework supporting organizational inquiry and learning. In: OOPSLA 1998 Practioner’s Report (1998)
Gîrba, T.: Modeling History to Understand Software Evolution. PhD thesis, University of Berne, Berne (November 2005)
Gîrba, T., Ducasse, S.: Modeling history to analyze software evolution. International Journal on Software Maintenance: Research and Practice (JSME) 18, 207–236 (2006)
Goldberg, A., Robson, D.: Smalltalk 80: the Language and its Implementation. Addison Wesley, Reading (1983)
Knuth, D.E.: Literate Programming. Center for the Study of Language and Information, Stanford, California (1992)
Lanza, M., Ducasse, S.: Codecrawler–an extensible and language independent 2d and 3d software visualization tool. In: Tools for Software Maintenance and Reengineering. RCOST/Software Technology Series, pp. 74–94. Franco Angeli, Milano (2005)
Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)
Muller, P.-A., Studer, P., Fondement, F., Bézivin, J.: Independent web application modeling and development with netsilon. Software and System Modeling 4(4), 424–442 (2005)
Mellor, S.J., Tockey, S., Arthaud, R., LeBlanc, P.: Software-platform-independent, precise action specifications for UML. In: Bézivin, J., Muller, P.-A. (eds.) UML 1998. LNCS, vol. 1618, pp. 281–286. Springer, Heidelberg (1999)
Nierstrasz, O., Ducasse, S., Gîrba, T.: The story of Moose: an agile reengineering environment. In: Proceedings of the European Software Engineering Conference (ESEC/FSE 2005), pp. 1–10. ACM Press, New York (2005)
Object Management Group. Meta object facility (MOF) specification. Technical Report ad/97-08-14, Object Management Group (September 1997)
Object Management Group. Meta object facility (MOF) 2.0 core final adopted specification. Technical report, Object Management Group (2004)
Pollet, D.: Une architecture pour les transformations de modèles et la restructuration de modèles UML. PhD thesis, Université de Rennes 1 (June 2005)
Riehle, D., Fraleigh, S., Bucka-Lassen, D., Omorogbe, N.: The architecture of a uml virtual machine. In: Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2001), pp. 327–341 (2001)
Rivard, F.: Pour un lien d’instanciation dynamique dans les langages à classes. In: JFLA 1996, INRIA — collection didactique (January 1996)
Riehle, D., Tilman, M., Johnson, R.: Dynamic object model. In: Pattern Languages of Program Design 5, Addison-Wesley, Reading (2005)
Tichelaar, S., Ducasse, S., Demeyer, S.: FAMIX: Exchange experiences with CDIF and XMI. In: Proceedings of the ICSE 2000 Workshop on Standard Exchange Format (WoSEF 2000) (June 2000)
Yoder, J.W., Johnson, R.: The adaptive object model architectural style. In: Proceeding of The Working IEEE/IFIP Conference on Software Architecture 2002 (WICSA3 2002) (August 2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ducasse, S., Gîrba, T. (2006). Using Smalltalk as a Reflective Executable Meta-language. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds) Model Driven Engineering Languages and Systems. MODELS 2006. Lecture Notes in Computer Science, vol 4199. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11880240_42
Download citation
DOI: https://doi.org/10.1007/11880240_42
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-45772-5
Online ISBN: 978-3-540-45773-2
eBook Packages: Computer ScienceComputer Science (R0)