Abstract
Model introspection is a powerful feature of existing modeling frameworks like Java Metadata Interface or Eclipse Modeling Framework. It allows a program to work with any model by querying its structure dynamically at runtime. Applications of model introspection are model transformation engines and generic models editor. We show that mechanisms for model introspection are complex to use. To address this problem, we propose the notion of model scripting which uses introspection to automatically and dynamically expose any kind of model to program control through a compact and high-level notation. In this paper, we present several principles for general model scripting. Scripting languages built with these principles can be used for numerous model driven activities, such as interactive model testing and rapid development of scripts to process models and metamodels.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Modelware Information Society Technologies Project, European Commission
Object Management Group. MOF 2.0 Specification, OMG Document/01-01-06
Object Management Group. MOF QVT Specification, OMG Document/05-11-01
Porres, I.: A Toolkit for Model Manipulation. Journal on Software and Systems Modeling 2(4) (2003)
Porres, I., Alanen, M.: Generic Deep Copy Algorithm for MOF-Based Models. In: Model Driven Architecture, European MDA Workshops: Foundations and Applications, University of Twente (July 2003)
Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: In Proceedings of the OOPSLA 2003 Workshop on Generative Techniques in the Context of MDA (2003)
Ousterhout, J.K.: Scripting: Higher-level Programming for the 21st Century. IEEE Computer 31(3) (1998)
Maes, P., Nardi, D.: Meta-Level Architectures and Reflection. Elsevier, Amsterdam (1988)
Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.: Eclipse Modeling Framework. Addison Wesley, Reading (2003)
Studer, D., Vojtisek, P., Drey, Z., Pollet, D., Fondement, F., Drey, F.Z., Pollet, D., Muller, P.A., Fleurey, F., Jézéquel, J.M.: On executable meta-languages applied to model transformations. In: Model Transformations In Practice Workshop, Jamaica (2005)
Java Community Process. Java Metadata Inferface (JMI) Specification
Fraleigh, S., Riehle, D., Bucka-Lassen, D., Omorogbe, N.: The Architecture of a UML Virtual Machine. In: Proceedings of OOPSLA 2001, ACM Press, New York (2001)
Rahm, E., Melnik, S., Bernstein, P.A.: Rondo: A programming platform for generic model management. In: Proceedings of SIGMOD 2003 (2003)
Schneider, J., Nierstrasz, O.: Components, scripts and glue. In: Software Architectures - Advances and Applications, Springer, Heidelberg (1999)
Peltonen, J., Siikarla, M., Selonen, P.: Combining OCL and Programming Languages for UML Model Processing. In: Proceedings of the Workshop, OCL 2.0 – Industry Standard or Scientific Playground (2004)
Ho, W.-M., Le Guennec, A., Sunye, G., Pennaneac’h, F., Jezequel, J.-M.: Using Uml Action Semantics for Executable Modeling and Beyond. In: Dittrich, K.R., Geppert, A., Norrie, M.C. (eds.) CAiSE 2001. LNCS, vol. 2068, Springer, Heidelberg (2001)
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
Tombelle, C., Vanwormhoudt, G. (2006). Dynamic and Generic Manipulation of Models: From Introspection to Scripting. 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_28
Download citation
DOI: https://doi.org/10.1007/11880240_28
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)