Guide to Domain Specific Language Graphical Editor Prototyping

  • Anass Rabii Mohammed V University in Rabat
  • Saliha Assoul Mohammed V University in Rabat
  • Ounsa Roudiès Mohammed V University in Rabat

Abstract

Model-based systems engineering (MBSE) is a methodology that supports the use of models to better analyze and understand complex systems and create quality and costefficient products. The analysis is facilitated by platforms that support formal graphical modeling and provide complementary modules for testing, validation, code or documentation generation. Thus in specialized fields, researchers create domain-specific languages (DSLs) for their niche purposes. In systems engineering, these DSLs can be created through the extension of the standard modeling language SysML. However, these DSLs do not possess modelers unless they are renowned. Therefore, they cannot benefit from advances in the MBSE tools. Our study aims to provide a graphical editor prototype for all DSLs to allow access to the MBSE tools. Using the analytic hierarchy process (AHP) method we establish that Eclipse Papyrus is the best plugin to use due to its extensibility, the richness of the Eclipse modeling platform and ease of use. Next, we provide a step-by-step guide to incorporate any profile in SysML Papyrus as an extension allowing to model any DSL. This guide is illustrated by an example taken from the domain of urban planning.

Keywords

DSL, SysML Profile, AHP, graphical editor, Eclipse Papyrus, MBSE,

References

1. NDIA Systems Engineering Division, Final Report of the Model Based Engineering (MBE) Subcommittee, February, pp. 60, 2011, http://www.ndia.org/-/media/sites/ndia/meetingsand-events/divisions/systems-engineering/modeling-and-simulation/reports/model-basedengineering.ashx.
2. P. Micouin, Model-Based Systems Engineering, John Wiley & Sons, Inc., Hoboken, NJ, USA, 2014.
3. M. Fowler, R. Parsons, Domain Specific Languages, Addison-Wesley Professional, 2010.
4. N. Shevchenko, An Introduction to Model-Based Systems Engineering (MBSE), 2021, https://insights.sei.cmu.edu/blog/introduction-model-based-systems-engineering-mbse/.
5. ISO, Unified modeling language specification version 1.4.2, ISO/IEC 19501:2005(E), vol. 4, no. 1, pp. 25–59, 2005, https://www.iso.org/standard/32620.html.
6. O. Casse, SysML Action with Cameo System Modeler, Chapter 1: SysML: Object Management Group (OMG) Systems Modeling Language, pp. 1–63, ISTE Press Ltd and Elsevier Ltd, 2017, doi: 10.1016/B978-1-78548-171-0.50001-3.
7. Autodesk, ECAD and MCAD software, https://www.autodesk.com/solutions/ecad-andmcad-software.
8. MEGA, Hopex Platform, https://www.mega.com/en/hopex-platform.
9. SparxSystems, Full Lifecycle Modeling for business, software and systems, https://sparxsystems.com/products/ea/index.html.
10. Eclipse, Sirius, https://www.eclipse.org/sirius/.
11. Eclipse, Papyrus, https://www.eclipse.org/papyrus/.
12. O. Badreddin, K. Rahad, The impact of design and UML dodeling on codebase quality and sustainability, [in:] CASCON ’18: Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering, October 2018, pp. 236–244, 2018.
13. A. Nugroho, M.R.V. Chaudron, Evaluating the impact of UML modeling on software quality: an industrial case study, [in:] A. Schürr, B. Selic [Eds], Model Driven Engineering Languages and Systems. MODELS 2009. Lecture Notes in Computer Science, vol 5795, pp. 181–195, Springer, Berlin, Heidelberg, 2009, doi: 10.1007/978-3-642-04425-0_14.
14. Object Management Group, D. Number, M.C. Files, Object Constraint Language, February, 2014, http://www.omg.org/spec/OCL/2.4.
15. Sun Microsystems, JavaDoc – The Java API documentation Generator, 2011, https://docs.oracle.com/javase/1.5.0/docs/tooldocs/solaris/javadoc.html.
16. Sphinx Python documentation generator overview, https://www.sphinx-doc.org/en/master/.
17. D.R. Price, Concurrent Versions System – Overview, 2012, https://savannah.nongnu.org/projects/cvs.
18. L. Torvalds, Git – About, https://git-scm.com/about.
19. Eclipse Foundation, Graphical Modeling Framework/Tutorial/Part 1, http://wiki.eclipse.org/Graphical_Modeling_Framework/Tutorial/Part_1.
20. Eclipse, Acceleo – Home, https://www.eclipse.org/acceleo/.
21. Eclipse, Xtext – Language Engineering Made Easy, https://www.eclipse.org/Xtext/.
22. D.S. Kolovos, A. Garcıa-Domınguez, L.M. Rose, R.F. Paige, Eugenia: towards disciplined and automated development of GMF-based graphical model editors, Software & Systems Modeling, 16: 229–255, 2015, doi: 10.1007/s10270-015-0455-3.
23. A. Zolotas, R. Wei, S. Gerasimou, H. Hoyos Rodriguez, D.S. Kolovos, R.F. Paige, Towards automatic generation of UML profile graphical editors for Papyrus, [in:] A. Pierantonio, S. Trujillo [Eds], Modelling Foundations and Applications. ECMFA 2018, Lecture Notes in Computer Science, vol. 10890, Springer, Cham, 2018, doi: 10.1007/978-3-319-92997-2_2.
24. N. Taylor, Urban Planning Theory Since 1945, Sage Publications, London, Thousand Oaks, New Delhi, 1998.
25. C. Loisel, F. Le Roux, Yona Friedman: Architecture mobile =Architecture vivante, Press Release, Cité de l’Architecture & du Patrimoine, Paris, France, 11 May 2016.
26. A. Petruccioli, After Amnesia: Learning from the Islamic Mediterranean Urban Fabric, ICAR, University of Virginia, 2007.
27. Le Corbusier, The Athens Charter, Grossman Publishers, New York, 1973.
28. R. Berardi, The spatial organization of Tunis Medina and other Arab-Muslim cities in North Africa and the Near East, [in:] The City in the Islamic World (2 vols.), pp. 269–293, 2008, doi: 10.1163/ej.9789004162402.i-1500.70.
29. Object Management Group, UML for Systems Engineering Request for Proposal, pp. 49–68, https://sysml.org/.res/docs/refs/UML-for-SE-RFP.pdf.
30. Object Management Group, OMG Meta Object Facility (MOF) Core Specification, pp. 76, 2003, https://www.omg.org/spec/MOF/2.5.1/PDF.
31. T. Saaty, The Analytic Hierarchy Process: Planning, Priority Setting, Resource Allocation, McGraw-Hill, 1980.
32. Catia No Magic – Dassault Systèmes, MagicDraw, https://www.nomagic.com/products/magicdraw.
33. IBM, IBM Engineering Systems Design Rhapsody, https://www.ibm.com/products/systems-design-rhapsody.
34. Eclipse, Eclipse IDE Mars 2 Packages, https://www.eclipse.org/downloads/packages/release/mars/2/eclipse-modeling-tools.
35. E.F.J. De Mulder, B.C. De Pater, J.C. Droogleever Fortuijn, The Netherlands and the Dutch: A Physical and Human Geography, Springer International Publishing, 2018.
36. Droogmakerij de Beemster (Beemster Polder), UNESCO World Heritage Center, https://whc.unesco.org/en/list/899/.
Published
Jan 26, 2022
How to Cite
RABII, Anass; ASSOUL, Saliha; ROUDIÈS, Ounsa. Guide to Domain Specific Language Graphical Editor Prototyping. Computer Assisted Methods in Engineering and Science, [S.l.], v. 28, n. 3, p. 243–261, jan. 2022. ISSN 2299-3649. Available at: <https://cames.ippt.pan.pl/index.php/cames/article/view/345>. Date accessed: 28 june 2022. doi: http://dx.doi.org/10.24423/cames.345.
Section
Articles