ABSTRACT
Domain Specific Languages (DSLs) are an established means of reducing the gap between problem and solution domains. DSLs increase productivity and improve quality as they can be tailored to exactly fit the needs of the problem to be solved. A DSL can have multiple notations including textual and graphical notations. In some cases, one of these notations for a DSL is enough but there are many cases where a single notation does not suffice and there is a demand to support multiple notations for the same DSL. UML profile is one of several approaches used to define a DSL, however most UML tools only come with graphical editors. In this paper, we present our approach and industrial experience on integrating textual and graphical editors for a UML profile-based DSL. This work was conducted as part of an explorative study at Ericsson. The main aim of the study was to investigate how to introduce a textual editor to an already existing UML profile-based DSL in an Eclipse environment. We report on the challenges of integrating textual and graphical editors for UML profile-based DSLs in practice, our chosen approach, specific constraints and requirements of the study.
- A. Abouzahra, J. Bézivin, M. D. Del Fabro, and F. Jouault. A practical approach to bridging domain specific languages with UML profiles. In Proceedings of the Best Practices for Model Driven Software Development at OOPSLA, volume 5. Citeseer, 2005.Google Scholar
- J. H. Bae, K. Lee, and H. S. Chae. Modularization of the UML metamodel using model slicing. In Information Technology: New Generations, 2008. ITNG 2008. Fifth International Conference on, pages 1253–1254. IEEE, 2008. Google ScholarDigital Library
- A. Bergmayr, M. Wimmer, W. Retschitzegger, and U. Zdun. Taking the pick out of the bunch-type-safe shrinking of metamodels. Fachtagung des GI-Fachbereichs Softwaretechnik, page 85, 2013.Google Scholar
- Eclipse.org. Emf compare - compare and merge your emf models, 2014. URL http://www.eclipse.org/emf/ compare/overview.html. Accessed : 2014-06-30.Google Scholar
- Eclipse.org. File:ATL EMFTVM trace.png, 2015. URL https://wiki.eclipse.org/File:ATL_EMFTVM_ Trace.png. Accessed : 2015-05-18.Google Scholar
- S. Efftinge. Xtext - language development made easy!, 2014. URL http://www.eclipse.org/Xtext/. Accessed: 2014-06-13.Google Scholar
- L. Engelen and M. van den Brand. Integrating textual and graphical modelling languages. Electronic Notes in Theoretical Computer Science, 253(7):105–120, 2010. Google ScholarDigital Library
- Gentleware.com. UML-to-ecore plug-in, 2014. URL http://www.gentleware.com/fileadmin/media/ archives/userguides/poseidon_users_guide/ ecoreguide.html. Accessed : 2014-06-30.Google Scholar
- G. Giachetti, B. Marín, and O. Pastor. Using UML as a domain-specific modeling language: A proposal for automatic generation of UML profiles. In Advanced Information Systems Engineering, pages 110–124. Springer, 2009. Google ScholarDigital Library
- G. Giachetti, B. Marín, and O. Pastor. Using UML profiles to interchange DSML and UML models. In Research Challenges in Information Science, 2009. RCIS 2009. Third International Conference on, pages 385–394. IEEE, 2009.Google Scholar
- G. Giachetti, M. Albert, B. Marín, and O. Pastor. Linking UML and MDD through UML profiles: a practical approach based on the UML association. J. UCS, 16(17):2353–2373, 2010.Google Scholar
- git scm.com. Git, 2014. URL http://git-scm.com/. Accessed : 2014-06-25.Google Scholar
- Github.io. Textuml toolkit, 2015. URL http://abstratt. github.io/textuml/readme.html. Accessed : 2015-06- 01.Google Scholar
- R. C. Gronback. Eclipse modeling project: a domain-specific language (DSL) toolkit. Pearson Education, 2009. Google ScholarDigital Library
- H. Grönniger, H. Krahn, B. Rumpe, M. Schindler, and S. Völkel. Textbased modeling. In 4th International Workshop on Software Language Engineering, 2007.Google Scholar
- P. Hudak. Domain-specific languages. Handbook of Programming Languages, 3:39–60, 1997.Google Scholar
- JetBrains. Jetbrains :: Meta programming system - language oriented programming environment and dsl creation tool, 2014. URL http://www.jetbrains.com/mps/. Accessed : 2014-06-15.Google Scholar
- F. Jouault and J. Delatour. Towards fixing sketchy uml models by leveraging textual notations: Application to realtime embedded systems. In 14th International Workshop on OCL and Textual Modeling: Applications and Case Studies, pages 73–82. CEUR-WS, 2014.Google Scholar
- C.-L. Lazăr. Integrating alf editor with eclipse uml editors. Studia Universitatis Babes-Bolyai, Informatica, 56(3), 2011.Google Scholar
- Plaintext.com. Planttext, 2015. URL http://www. planttext.com. Accessed : 2015-06-01.Google Scholar
- Plantuml.sourceforge.net. Plantuml, 2015. URL http:// plantuml.sourceforge.net. Accessed : 2015-06-01.Google Scholar
- D. S Wile. Supporting the DSL spectrum. CIT. Journal of computing and information technology, 9(4):263–287, 2001.Google Scholar
- M. Scheidgen. Textual modelling embedded into graphical modelling. In Model Driven Architecture–Foundations and Applications, pages 153–168. Springer, 2008. Google ScholarDigital Library
- C. Seybold, M. Glinz, S. Meier, and N. Merlo-Schett. An effective layout adaptation technique for a graphical modeling tool. In Proceedings of the 25th International Conference on Software Engineering, ICSE ’03, pages 826–827, Washington, DC, USA, 2003. IEEE Computer Society. ISBN 0-7695- 1877-X. URL http://dl.acm.org/citation.cfm?id= 776816.776971. Google ScholarDigital Library
- D. Steinberg, F. Budinsky, E. Merks, and M. Paternostro. EMF: Eclipse Modeling Framework. Pearson Education, 2008. Google ScholarDigital Library
- P. Stevens. Bidirectionally tolerating inconsistency: partial transformations. In Fundamental Approaches to Software Engineering, pages 32–46. Springer, 2014. Google ScholarDigital Library
- M. Voelter, D. Ratiu, B. Schaetz, and B. Kolb. mbeddr: an extensible c-based programming language and ide for embedded systems. In Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity, pages 121–140. ACM, 2012. Google ScholarDigital Library
- M. Voelter, J. Siegmund, T. Berger, and B. Kolb. Towards user-friendly projectional editors. In Software Language Engineering, pages 41–61. Springer, 2014.Google Scholar
- S. Walderhaug, E. Stav, and M. Mikalsen. Experiences from model-driven development of homecare services: UML profiles and domain models. In Models in Software Engineering, pages 199–212. Springer, 2009. Google ScholarDigital Library
- M. Wimmer. A semi-automatic approach for bridging DSMLs with UML. International Journal of Web Information Systems, 5(3):372–404, 2009.Google ScholarCross Ref
- www.uml diagrams.org. Activity diagrams, 2014. URL http: //www.uml-diagrams.org/activity-diagrams.html. Accessed: 2015-04-13. Introduction Industrial Case Challenges Storage and Versioning of Models in Repositories Synchronization of Models Graphical Layout of the Model and Pretty Printing Model References Minimal DSL Names in Model Elements Inconsistent Models Approach Obtaining the Text Editor Switching between Graphical and Textual Views Evaluation Discussion Addressed Challenges Proposed Solutions for Non-Addressed Challenges Related Work Graphical and Textual Editing for UML Bridging UML Profiles and Ecore DSLs Conclusion and Future WorkGoogle Scholar
Index Terms
- On integrating graphical and textual editors for a UML profile based domain specific language: an industrial experience
Recommendations
Using UML as a Domain-Specific Modeling Language: A Proposal for Automatic Generation of UML Profiles
CAiSE '09: Proceedings of the 21st International Conference on Advanced Information Systems EngineeringNowadays, there are several MDD approaches that have defined Domain-Specific Modeling Languages (DSML) that are oriented to representing their particular semantics. However, since UML is the standard language for software modeling, many of these MDD ...
Papyrus: a UML2 tool for domain-specific language modeling
MBEERTS'07: Proceedings of the 2007 International Dagstuhl conference on Model-based engineering of embedded real-time systemsThis chapter outlines Papyrus, a tool for graphical modeling of UML2 applications. It is an open-source project, designed as an Eclipse component, and based on the existing EMF-based realization of the UML2 meta-model. The goal of this open-source ...
A Textual Domain Specific Language for Task Models: Generating Code for CoTaL, CTTE, and HAMSTERS
EICS '18: Proceedings of the ACM SIGCHI Symposium on Engineering Interactive Computing SystemsTask modeling is a fundamental activity in the model-based design of user interfaces (MB-UID). It is supported by various task notations and tools which allow users, for example, to edit and to animate task models. Most of the tools offer graphical ...
Comments