Advertisement

fUML as an Assembly Language for Model Transformation

  • Massimo Tisi
  • Frédéric Jouault
  • Jérôme Delatour
  • Zied Saidi
  • Hassene Choura
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8706)

Abstract

Within a given modeling platform, modeling tools, such as model editors and transformation engines, interoperate efficiently. They are generally written in the same general-purpose language, and use a single modeling framework (i.e., an API to access models). However, interoperability between tools from different modeling platforms is much more problematic.

In this paper, we propose to leverage fUML in order to address this issue by providing a common execution language. Modeling frameworks can then be abstracted into generic actions that perform elementary operations on models. Not only can user models benefit from a unified execution semantics, but modeling tools can too.

We support this proposal by showing how it can apply to a model transformation engine. To this end, a prototype compiler from ATL to fUML has been built, and is described. Finally, we conclude that fUML has some useful properties as candidate common execution language for MDE, but lacks some features.

Keywords

Virtual Machine Model Transformation Object Constraint Language Assembly Language Object Management Group 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education (2008)Google Scholar
  2. 2.
    Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Eclipse Series. Pearson Education (2009)Google Scholar
  3. 3.
    Object Management Group (OMG): XML Metadata Interchange (XMI), v2.4.2 (April 2014), http://www.omg.org/spec/XMI/2.4.2/
  4. 4.
    Object Management Group (OMG): Object Constraint Language (OCL), v2.4 (February 2014), http://www.omg.org/spec/OCL/2.4/
  5. 5.
    Object Management Group (OMG): Semantics of a Foundational Subset for Executable UML Models (fUML), v1.1 (August 2013), http://www.omg.org/spec/FUML/1.1/
  6. 6.
    Jouault, F., Tisi, M., Delatour, J.: fUML as an Assembly Language for MDA. In: Modeling in Software Engineering Workshop at ICSE 2014 (2014)Google Scholar
  7. 7.
    Kappe, D.: Is Javascript the Assembly Language of Web 2.0?, http://pathfindersoftware.com/2007/03/is_javascript_t/ (accessed July 22, 2013) (archived by WebCite® at http://www.webcitation.org/6IIxYG22S) (March 2007)
  8. 8.
    Hanselman, S., Meijer, E.: JavaScript is Assembly Language for the Web: Semantic Markup is Dead! Clean vs. Machine-coded HTML, http://www.hanselminutes.com/274/javascript-is-assembly-language-for-the-web-semantic-markup-is-dead-clean-vs-machine-coded (accessed July 22, 2013) (archived by WebCite® at http://www.webcitation.org/6IIz8ZvNt) (July 2011)
  9. 9.
    Object Management Group (OMG): MOF Model To Text Transformation Language (MOFM2T), 1.0 (January 2008), http://www.omg.org/spec/MOFM2T/1.0/
  10. 10.
    Object Management Group (OMG): Meta Object Facility (MOF) 2.0 Query/View/Transformation, V1.2 (Beta), http://www.omg.org/spec/QVT/1.2/ (May 2014)
  11. 11.
    Object Management Group (OMG): Concrete Syntax For A UML Action Language: Action Language For Foundational UML (ALF), v1.0.1, http://www.omg.org/spec/ALF/1.0.1/ (October 2013)
  12. 12.
    Object Management Group (OMG): UML Human-Usable Textual Notation (HUTN), v1.0 (August 2004), http://www.omg.org/spec/HUTN/1.0/
  13. 13.
    Tisi, M., Jouault, F., Fraternali, P., Ceri, S., Bézivin, J.: On the use of higher-order model transformations. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 18–33. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Wagelaar, D., Tisi, M., Cabot, J., Jouault, F.: Towards a general composition semantics for rule-based model transformation. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 623–637. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  15. 15.
    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)CrossRefGoogle Scholar
  16. 16.
    Mayerhofer, T., Langer, P., Wimmer, M.: Towards xMOF: executable DSMLs based on fUML. In: Proceedings of the 2012 Workshop on Domain-Specific Modeling, DSM 2012, pp. 1–6. ACM, New York (2012)CrossRefGoogle Scholar
  17. 17.
    Tisi, M., Martínez, S., Choura, H.: Parallel Execution of ATL Transformation Rules. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 656–672. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  18. 18.
    Tisi, M., Martínez, S., Jouault, F., Cabot, J.: Lazy execution of model-to-model transformations. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 32–46. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  19. 19.
    Vishkin, U.: Is Multicore Hardware for General-purpose Parallel Processing Broken? Commun. ACM 57(4), 35–39 (2014)CrossRefGoogle Scholar
  20. 20.
    NetBeans Metadata Repository, http://mdr.netbeans.org
  21. 21.
    Belaunde, M.: A pragmatic approach for building a user-friendly and flexible uml model repository. In: France, R.B. (ed.) UML 1999. LNCS, vol. 1723, pp. 188–203. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  22. 22.
    Kühn, H., Murzek, M.: Interoperability issues in metamodelling platforms. In: Konstantas, D., Bourrières, J.P., Léonard, M., Boudjlida, N. (eds.) Interoperability of Enterprise Software and Applications, pp. 215–226. Springer London (2006)Google Scholar
  23. 23.
    Blanc, X., Gervais, M.-P., Sriplakich, P.: Model bus: Towards the interoperability of modelling tools. In: Aßmann, U., Akşit, M., Rensink, A. (eds.) MDAFA 2003. LNCS, vol. 3599, pp. 17–32. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  24. 24.
    Blanc, X., Gervais, M.P., Lamari, M., Sriplakich, P.: Towards an Integrated Transformation Environment (ITE) for Model Driven Development (MDD), Invited Session “Model Driven Development”. In: 8th World Multi-Conference on Systemics, Cybernetics and Informatics (SCI 2004). LNCS (2004), Model Driven Architecture: Foundations and Applications, International Institute of Informatics and Systemics (IIIS) (2004) INT LIP6 MoVeGoogle Scholar
  25. 25.
    Brunelière, H., Cabot, J., Clasen, C., Jouault, F., Bézivin, J.: Towards model driven tool interoperability: Bridging eclipse and microsoft modeling tools. In: Kühne, T., Selic, B., Gervais, M.-P., Terrier, F. (eds.) ECMFA 2010. LNCS, vol. 6138, pp. 32–47. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  26. 26.
    Mayerhofer, T., Langer, P., Kappel, G.: A runtime model for fUML. In: Proceedings of the 7th Workshop on Models@run.time, MRT 2012, pp. 53–58. ACM, New York (2012)Google Scholar
  27. 27.
    Herman, D., Wagner, L., Zakai, A.: asm.js (December 2013), http://asmjs.org/spec/latest/

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Massimo Tisi
    • 1
  • Frédéric Jouault
    • 2
  • Jérôme Delatour
    • 2
  • Zied Saidi
    • 1
  • Hassene Choura
    • 1
  1. 1.AtlanMod team (Inria, Mines Nantes, LINA)NantesFrance
  2. 2.TRAME team (ESEO)AngersFrance

Personalised recommendations