Abstract
Domain-Specific Languages (DSLs) present numerous benefits like powerful domain-specific primitives, an intuitive syntax for domain experts, and the possibility of advanced code generation for narrow domains. While a graphical syntax is sometimes desired for a DSL, constructing graphical modelling environments is a costly and highly technical task. This relegates domain experts to play a passive role in their development and hinders a wider adoption of graphical DSLs.
Targeting a simpler DSL construction process, we propose an example-based technique for the automatic generation of modelling environments for graphical DSLs. This way, starting from examples of the DSL likely provided by domain experts using drawing tools like yED, our system is able to synthesize a graphical modelling environment that mimics the syntax of the provided examples. This includes a meta-model for the abstract syntax of the DSL, and a graphical concrete syntax supporting spatial relationships like containment or attachment. The system is implemented as an Eclipse plugin, and we demonstrate its usage on a running example in the home networking domain.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
We call these examples sketches to distinguish them from models conformant to a meta-model, though they are not hand-drawn but made with diagramming tools.
References
Bak, K., Zayan, D., Czarnecki, K., Antkiewicz, M., Diskin, Z., Wasowski, A., Rayside, D.: Example-driven modeling: model = abstractions + examples. In: ICSE, pp. 1273–1276. IEEE/ACM (2013)
Cho, H., Gray, J.G., Syriani, E.: Creating visual domain-specific modeling languages from end-user demonstration. In: MiSE@ICSE, pp. 22–28 (2012)
de Lara, J., Vangheluwe, H.: AToM\(^{3}\): a tool for multi-formalism and meta-modelling. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, pp. 174–188. Springer, Heidelberg (2002)
Garmendia, A., Pescador, A., Guerra, E., de Lara, J.: Towards the generation of graphical modelling environments aided by patterns. In: Sierra-Rodríguez, J.-L., Leal, J.-P., Simões, A. (eds.) SLATE 2015. CCIS, vol. 563, pp. 160–168. Springer, Heidelberg (2015). doi:10.1007/978-3-319-27653-3_16
Graphiti. https://eclipse.org/graphiti/
Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley Professional, Reading (2009)
Hutchinson, J., Whittle, J., Rouncefield, M.: Model-driven engineering practices in industry: social, organizational and managerial factors that lead to success or failure. Sci. Comput. Program. 89, 144–161 (2014)
Kappel, G., Langer, P., Retschitzegger, W., Schwinger, W., Wimmer, M.: Model transformation by-example: a survey of the first wave. In: Düsterhöft, A., Klettke, M., Schewe, K.-D. (eds.) Conceptual Modelling and Its Theoretical Foundations. LNCS, vol. 7260, pp. 197–215. Springer, Heidelberg (2012)
Kelly, S., Pohjonen, R.: Worst practices for domain-specific modeling. IEEE Softw. 26(4), 22–29 (2009)
Kelly, S., Tolvanen, J.: Domain-Specific Modeling - Enabling Full Code Generation. Wiley, New Jersey (2008)
Kolovos, D.S., Rose, L.M., Abid, S.B., Paige, R.F., Polack, F.A.C., Botterweck, G.: Taming EMF and GMF using model transformation. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 211–225. Springer, Heidelberg (2010)
López-Fernández, J.J., Cuadrado, J.S., Guerra, E., de Lara, J.: Example-driven meta-model development. Softw. Syst. Model. 14(4), 1323–1347 (2015)
López-Fernández, J.J., Guerra, E., de Lara, J.: Example-based validation of domain-specific visual languages. In: SLE, pp. 101–112. ACM (2015)
Mangano, N., Baker, A., Dempsey, M., Navarro, E.O., van der Hoek, A.: Software design sketching with calico. In: ASE, pp. 23–32. ACM (2010)
Rose, L.M., Kolovos, D.S., Paige, R.F.: Eugenia live: a flexible graphical modelling tool. In: XM, pp. 15–20. ACM (2012)
Sangiorgi, U.B., Barbosa, S.D.: SKETCH: modeling using freehand drawing in eclipse graphical editors. In: FlexiTools @ ICSE (2010)
Sirius. https://eclipse.org/sirius/
Wuest, D., Seyff, N., Glinz, M.: Flexisketch team: collaborative sketching and notation creation on the fly. In: ICSE, vol. 2, pp. 685–688 (2015)
Zolotas, A., Kolovos, D.S., Matragkas, N.D., Paige, R.F.: Assigning semantics to graphical concrete syntaxes. In: XM@MoDELS. CEUR Workshop Proceedings, vol. 1239, pp. 12–21. CEUR-WS.org (2014)
Acknowledgements
Work supported by the Spanish Ministry of Economy and Competitivity (TIN2014-52129-R), the Madrid Region (S2013/ICE-3006), and the EU Commission (FP7-ICT-2013-10, #611125).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
López-Fernández, J.J., Garmendia, A., Guerra, E., de Lara, J. (2016). Example-Based Generation of Graphical Modelling Environments. In: Wąsowski, A., Lönn, H. (eds) Modelling Foundations and Applications. ECMFA 2016. Lecture Notes in Computer Science(), vol 9764. Springer, Cham. https://doi.org/10.1007/978-3-319-42061-5_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-42061-5_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-42060-8
Online ISBN: 978-3-319-42061-5
eBook Packages: Computer ScienceComputer Science (R0)