Abstract
Model-driven engineering is a powerful approach to build large-scale applications. However, an application’s metamodel often remains static after the initial development phase and cannot be changed unless a new development effort occurs. Yet, end users often need to rapidly adapt their applications to new needs. In many cases, end users would know how to make the required adaptations, if only the application would let them do so. In this paper we present how we built a runtime-dynamic meta-environment into Smalltalk’s reflective language model. Our solution offers the best of both worlds: developers can develop their applications using the same tools they are used to and gain the power of meta-programming. We show in particular that our approach is suitable to support end user customization without writing new code: the adaptive model of Magritte not only describes existing classes, but also lets end users build their own metamodels on the fly.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Group, O.M.: Common warehouse metamodel. Technical report, Object Management Group (2003)
Group, O.M.: Meta object facility (MOF) 2.0 core final adopted specification. Technical report, Object Management Group (2004)
Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.: Eclipse Modeling Framework. Addison Wesley Professional, Reading (2003)
ITU: Abstract syntax notation one (ASN.1). Technical report, International Telecommunication Union (2002)
Hamilton, G.: Javabeans. Technical report, Sun Microsystems (1997)
Yoder, J.W., Johnson, R.: The adaptive object model architectural style. In: WICSA3 2002. Proceeding of The Working IEEE/IFIP Conference on Software Architecture 2002 (2002)
Atkinson, B.: Hypercard. Hypercard (1987)
Renggli, L.: Magritte – meta-described web application development. Master’s thesis, University of Bern (2006)
Ducasse, S., Gîrba, T.: Using Smalltalk as a reflective executable meta-language. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 604–618. Springer, Heidelberg (2006)
Goldberg, A., Robson, D.: Smalltalk 80: the Language and its Implementation. Addison Wesley, Reading (1983)
Ingalls, D., Kaehler, T., Maloney, J., Wallace, S., Kay, A.: Back to the future: The story of Squeak, A practical Smalltalk written in itself. In: Proceedings OOPSLA 1997. ACM SIGPLAN Notices, pp. 318–326. ACM Press, New York (1997)
Ducasse, S., Lienhard, A., Renggli, L.: Seaside — a multiple control flow web application framework. In: Zhang, K., Zheng, Y. (eds.) ISC 2004. LNCS, vol. 3225, pp. 231–257. Springer, Heidelberg (2004)
Rivard, F.: Smalltalk: a reflective language. In: Proceedings of REFLECTION 1996, pp. 21–38 (1996)
Bézivin, J., Gerbé, O.: Towards a precise definition of the OMG/MDA framework. In: ASE 2001. Proceedings Automated Software Engineering, pp. 273–282. IEEE Computer Society, Los Alamitos CA (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)
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)
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)
Schärli, N., Ducasse, S., Nierstrasz, O., Black, A.P.: Traits: Composable units of behavior. Technical Report IAM-02-005, Institut für Informatik, Universität Bern, Switzerland (2002) (Also available as Technical Report CSE-02-014, OGI School of Science & Engineering, Beaverton, Oregon, USA)
Yoder, J., Balaguer, F., Johnson, R.: Architecture and design of adaptive object models. In: OOPSLA 2001. Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 50–60 (2001)
Johnson, R., Wolf, B.: Type object. In: Martin, R.C., Riehle, D., Buschmann, F. (eds.) Pattern Languages of Program Design 3, Addison Wesley, Reading (1998)
Muller, P.A., Studer, P., Fondement, F., Bézivin, J.: Independent web application modeling and development with netsilon. Software and System Modeling 4, 424–442 (2005)
Ceri, S., Fraternali, P., Bongio, A.: Web modeling language (WebML): a modeling language for designing web sites. In: Ninth International World Wide Web Conference (2000)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Renggli, L., Ducasse, S., Kuhn, A. (2007). Magritte – A Meta-driven Approach to Empower Developers and End Users. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds) Model Driven Engineering Languages and Systems. MODELS 2007. Lecture Notes in Computer Science, vol 4735. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75209-7_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-75209-7_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-75208-0
Online ISBN: 978-3-540-75209-7
eBook Packages: Computer ScienceComputer Science (R0)