Advertisement

A Tutorial Introduction to Graphical Modeling and Metamodeling with CINCO

  • Michael Lybecait
  • Dawid Kopetzki
  • Philip Zweihoff
  • Annika Fuhge
  • Stefan NaujokatEmail author
  • Bernhard Steffen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11244)

Abstract

We present a tutorial introduction to the usage of Cinco, our framework for the generation of graphical development environments, highlighting two recent additions: the possibility to bringing any Cinco-based graphical modeling language into the web, and a graphical editor for meta modeling. All the discussed features are illustrated step by step along the development and evolution of the WebStory, a simple education-oriented modeling language for adventure games.

Keywords

Abstract tool specification Domain-specific languages Metamodeling Simplicity Graphical modeling Bootstrapping Web-based modeling environment Language-driven engineering 

References

  1. 1.
    WebGME. https://webgme.org/. Accessed 10 Apr 2018
  2. 2.
    Xtend - Modernized Java. http://xtend-lang.org. Accessed 23 Sep 2018
  3. 3.
    Xtext - Language Engineering Made Easy! http://www.eclipse.org/Xtext/. Accessed 10 Apr 2018
  4. 4.
    Standard ECMA-404. The JSON Data Interchange Format. http://www.ecma-international.org/publications/standards/Ecma-404.htm, October 2013
  5. 5.
    Angular Dart (2018). https://webdev.dartlang.org/angular. Accessed 29 Sep 2018
  6. 6.
    Boßelmann, S., Naujokat, S., Steffen, B.: On the difficulty of drawing the line. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 340–356. Springer, AG (2018)Google Scholar
  7. 7.
    Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool, San Rafael (2012)Google Scholar
  8. 8.
    Client.IO: Jointjs api (2015). http://www.jointjs.com/api. Accessed 29 Sep 2018
  9. 9.
  10. 10.
    Dmitriev, S.: Language Oriented Programming: The Next Programming Paradigm. JetBrains onBoard Online Magazine 1 (2004). http://www.onboard.jetbrains.com/is1/articles/04/10/lop/
  11. 11.
    Fowler, M.: Language Workbenches: The Killer-App for Domain Specific Languages? June 2005. http://martinfowler.com/articles/languageWorkbench.html. Accessed 10 Apr 2018
  12. 12.
    Fraternali, P., Rossi, G., Sánchez-Figueroa, F.: Rich internet applications. IEEE Internet Comput. 14(3), 9–12 (2010)CrossRefGoogle Scholar
  13. 13.
    Fuhge, A.: Graphische Modellierung von Cinco Produktspezifikationen. BSc thesis, TU Dortmund (2018)Google Scholar
  14. 14.
    Gorman, B.: Learning Java EE 7. InfiniteSkills (2014)Google Scholar
  15. 15.
    Gossen, F., Margaria, T., Murtovi, A., Naujokat, S., Steffen, B.: DSLs for decision services: a tutorial introduction to language-driven engineering. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 546–564. Springer, AG (2018)Google Scholar
  16. 16.
    Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley, Boston (2008)Google Scholar
  17. 17.
    Grundy, J., Hosking, J., Li, K.N., Ali, N.M., Huh, J., Li, R.L.: Generating domain-specific visual language tools from abstract visual specifications. IEEE Trans. Softw. Eng. 39(4), 487–515 (2013)CrossRefGoogle Scholar
  18. 18.
    JetBrains: Meta Programming System. https://www.jetbrains.com/mps/. Accessed 10 Apr 2018
  19. 19.
    Kelly, S., Lyytinen, K., Rossi, M.: MetaEdit+: a fully configurable multi-user and multi-tool CASE and CAME environment. In: Constantopoulos, P., Mylopoulos, J., Vassiliou, Y. (eds.) CAiSE 1996. LNCS, vol. 1080, pp. 1–21. Springer, Heidelberg (1996).  https://doi.org/10.1007/3-540-61292-0_1CrossRefGoogle Scholar
  20. 20.
  21. 21.
    Lédeczi, A., Maróti, M., Völgyesi, P.: The generic modeling environment. Technical report, Institute for Software Integrated Systems, Vanderbilt University, Nashville, TN, 37221, USA (2003). http://www.isis.vanderbilt.edu/sites/default/files/GMEReport.pdf
  22. 22.
    Ledeczi, A., et al.: The generic modeling environment. In: Workshop on Intelligent Signal Processing (WISP 2001) (2001)Google Scholar
  23. 23.
    Lybecait, M., Kopetzki, D., Naujokat, S., Steffen, B.: Towards Language-to-Language Transformation (2018, to appear)Google Scholar
  24. 24.
    Margaria, T., Steffen, B.: Business process modelling in the jABC: the one-thing-approach. In: Cardoso, J., van der Aalst, W. (eds.) Handbook of Research on Business Process Modeling. IGI Global (2009)Google Scholar
  25. 25.
    Margaria, T., Steffen, B.: Simplicity as a driver for agile innovation. Computer 43(6), 90–92 (2010)CrossRefGoogle Scholar
  26. 26.
    Margaria, T., Steffen, B.: Service-orientation: conquering complexity with XMDD. In: Hinchey, M., Coyle, L. (eds.) Conquering Complexity, pp. 217–236. Springer, London (2012).  https://doi.org/10.1007/978-1-4471-2297-5_10CrossRefGoogle Scholar
  27. 27.
    McAffer, J., Lemieux, J.M., Aniszczyk, C.: Eclipse Rich Client Platform, 2nd edn. Addison-Wesley Professional, Reading (2010)Google Scholar
  28. 28.
    Naujokat, S.: Heavy Meta. Model-Driven Domain-Specific Generation of Generative Domain-Specific Modeling Tools. Dissertation, TU Dortmund, Dortmund, Germany, August 2017. http://hdl.handle.net/2003/36060
  29. 29.
    Naujokat, S., Lybecait, M., Kopetzki, D., Steffen, B.: CINCO: a simplicity-driven approach to full generation of domain-specific graphical modeling tools. Softw. Tools Technol. Transfer 20(3), 327–354 (2017)CrossRefGoogle Scholar
  30. 30.
    Neubauer, J., Frohme, M., Steffen, B., Margaria, T.: Prototype-driven development of web applications with DyWA. In: Margaria, T., Steffen, B. (eds.) ISoLA 2014, Part I. LNCS, vol. 8802, pp. 56–72. Springer, Heidelberg (2014).  https://doi.org/10.1007/978-3-662-45234-9_5CrossRefGoogle Scholar
  31. 31.
  32. 32.
    Steffen, B., Gossen, F., Naujokat, S., Margaria, T.: Language-driven engineering: from general-purpose to purpose-specific languages. In: Steffen, B., Woeginger, G. (eds.) Computing and Software Science: State of the Art and Perspectives. LNCS, vol. 10000. Springer (2018, to appear)Google Scholar
  33. 33.
    Steffen, B., Naujokat, S.: Archimedean points: the essence for mastering change. Trans. Found. Mastering Change (FoMaC) 1(1), 22–46 (2016)CrossRefGoogle Scholar
  34. 34.
    Ward, M.P.: Language oriented programming. Softw. Concepts Tools 15(4), 147–161 (1994)Google Scholar
  35. 35.
  36. 36.
    Zweihoff, P.: Cinco Products for the Web. Master thesis, TU Dortmund, November 2015Google Scholar

Copyright information

© Springer Nature Switzerland AG 2018

Authors and Affiliations

  • Michael Lybecait
    • 1
  • Dawid Kopetzki
    • 1
  • Philip Zweihoff
    • 1
  • Annika Fuhge
    • 1
  • Stefan Naujokat
    • 1
    Email author
  • Bernhard Steffen
    • 1
  1. 1.Chair for Programming SystemsTU Dortmund UniversityDortmundGermany

Personalised recommendations