{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,8,24]],"date-time":"2025-08-24T01:44:42Z","timestamp":1755999882884,"version":"3.37.3"},"reference-count":50,"publisher":"Springer Science and Business Media LLC","issue":"5","license":[{"start":{"date-parts":[[2020,8,11]],"date-time":"2020-08-11T00:00:00Z","timestamp":1597104000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2020,8,11]],"date-time":"2020-08-11T00:00:00Z","timestamp":1597104000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100006041","name":"Innovate UK","doi-asserted-by":"publisher","award":["113099"],"award-info":[{"award-number":["113099"]}],"id":[{"id":"10.13039\/501100006041","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100010686","name":"H2020 European Institute of Innovation and Technology","doi-asserted-by":"publisher","award":["732242"],"award-info":[{"award-number":["732242"]}],"id":[{"id":"10.13039\/100010686","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Softw Syst Model"],"published-print":{"date-parts":[[2020,9]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>UML profiles offer an intuitive way for developers to build domain-specific modelling languages by reusing and extending UML concepts. Eclipse Papyrus is a powerful open-source UML modelling tool which supports UML profiling. However, with power comes complexity, implementing non-trivial UML profiles and their supporting editors in Papyrus typically requires the developers to handcraft and maintain a number of interconnected models through a loosely guided, labour-intensive and error-prone process. We demonstrate how metamodel annotations and model transformation techniques can help manage the complexity of Papyrus in the creation of UML profiles and their supporting editors. We present<jats:italic>Jorvik<\/jats:italic>, an open-source tool that implements the proposed approach. We illustrate its functionality with examples, and we evaluate our approach by comparing it against manual UML profile specification and editor implementation using a non-trivial enterprise modelling language (Archimate) as a case study. We also perform a user study in which developers are asked to produce identical editors using both Papyrus and<jats:italic>Jorvik<\/jats:italic>demonstrating the substantial productivity and maintainability benefits that<jats:italic>Jorvik<\/jats:italic>delivers.<\/jats:p>","DOI":"10.1007\/s10270-020-00813-6","type":"journal-article","created":{"date-parts":[[2020,8,11]],"date-time":"2020-08-11T09:23:06Z","timestamp":1597137786000},"page":"1083-1106","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["Automatic generation of UML profile graphical editors for Papyrus"],"prefix":"10.1007","volume":"19","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2191-1359","authenticated-orcid":false,"given":"Ran","family":"Wei","sequence":"first","affiliation":[]},{"given":"Athanasios","family":"Zolotas","sequence":"additional","affiliation":[]},{"given":"Horacio","family":"Hoyos\u00a0Rodriguez","sequence":"additional","affiliation":[]},{"given":"Simos","family":"Gerasimou","sequence":"additional","affiliation":[]},{"given":"Dimitrios S.","family":"Kolovos","sequence":"additional","affiliation":[]},{"given":"Richard F.","family":"Paige","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,8,11]]},"reference":[{"key":"813_CR1","unstructured":"The graphical modeling project (gmp). Online, http:\/\/www.eclipse.org\/modeling\/gmp\/"},{"key":"813_CR2","unstructured":"Abouzahra, A., B\u00e9zivin, J., Del\u00a0Fabro, M.D., Jouault, F.: A practical approach to bridging domain specific languages with UML profiles. In: Proceedings of the Best Practices for Model Driven Software Development at OOPSLA. vol.\u00a05 (2005)"},{"key":"813_CR3","unstructured":"Alanen, M., Porres, I.: Subset and union properties in modeling languages. Technical Report 731, TUCS (2005)"},{"key":"813_CR4","doi-asserted-by":"crossref","unstructured":"Bergmayr, A., Grossniklaus, M., Wimmer, M., Kappel, G.: JUMP\u2014from Java annotations to UML profiles, pp. 552\u2013568 (2014)","DOI":"10.1007\/978-3-319-11653-2_34"},{"key":"813_CR5","doi-asserted-by":"publisher","first-page":"112","DOI":"10.1016\/j.ress.2013.06.032","volume":"120","author":"S Bernardi","year":"2013","unstructured":"Bernardi, S., Flammini, F., Marrone, S., Mazzocca, N., Merseguer, J., Nardone, R., Vittorini, V.: Enabling the usage of UML in the verification of railway systems: the DAM-rail approach. Reliab. Eng. Syst. Saf. 120, 112\u2013126 (2013)","journal-title":"Reliab. Eng. Syst. Saf."},{"key":"813_CR6","doi-asserted-by":"crossref","unstructured":"Bouaziz, R., Coulette, B.: Applying security patterns for component based applications using UML profile. In: 15th International Conference on Computational Science and Engineering. pp. 186\u2013193 (2012)","DOI":"10.1109\/ICCSE.2012.104"},{"issue":"3","key":"813_CR7","first-page":"1","volume":"18","author":"F Ciccozzi","year":"2018","unstructured":"Ciccozzi, F., Malavolta, I., Selic, B.: Execution of uml models: a systematic review of research and practice. Softw. Syst. Model. 18(3), 1\u201348 (2018)","journal-title":"Softw. Syst. Model."},{"issue":"1","key":"813_CR8","doi-asserted-by":"publisher","first-page":"197","DOI":"10.1145\/974043.974076","volume":"29","author":"V Cortellessa","year":"2004","unstructured":"Cortellessa, V., Pompei, A.: Towards a UML profile for QOS: a contribution in the reliability domain. ACM SIGSOFT Softw. Eng. Notes 29(1), 197\u2013206 (2004)","journal-title":"ACM SIGSOFT Softw. Eng. Notes"},{"key":"813_CR9","doi-asserted-by":"crossref","unstructured":"Debnath, N.C., Garis, A.G., Riesco, D., Montejano, G.: Defining patterns using UML profiles. In: IEEE International Conference on Computer Systems and Applications. pp. 1147\u20131150 (2006)","DOI":"10.1109\/AICCSA.2006.205233"},{"issue":"7","key":"813_CR10","doi-asserted-by":"publisher","first-page":"433","DOI":"10.1109\/TSE.2007.1012","volume":"33","author":"J Dong","year":"2007","unstructured":"Dong, J., Yang, S., Zhang, K.: Visualizing design patterns in their applications and compositions. IEEE Trans. Softw. Eng. 33(7), 433\u2013453 (2007)","journal-title":"IEEE Trans. Softw. Eng."},{"issue":"8","key":"813_CR11","doi-asserted-by":"publisher","first-page":"46","DOI":"10.1145\/1278201.1278205","volume":"50","author":"J Erickson","year":"2007","unstructured":"Erickson, J., Siau, K.: Theoretical and practical complexity of modeling methods. Commun. ACM 50(8), 46\u201351 (2007)","journal-title":"Commun. ACM"},{"key":"813_CR12","unstructured":"Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: The Systems Modeling Language (2014)"},{"key":"813_CR13","unstructured":"Fuentes-Fern\u00e1ndez, L., Vallecillo-Moreno, A.: An introduction to UML profiles. UML Model Eng. 2, (2004)"},{"key":"813_CR14","doi-asserted-by":"crossref","unstructured":"Giachetti, G., Marin, B., Pastor, O.: Using UML profiles to interchange DSML and UML models. In: Third International Conference on Research Challenges in Information Science. pp. 385\u2013394 (2009)","DOI":"10.1109\/RCIS.2009.5089302"},{"key":"813_CR15","doi-asserted-by":"crossref","unstructured":"Giachetti, G., Mar\u00edn, B., Pastor, O.: Using UML as a domain-specific modeling language: a proposal for automatic generation of UML profiles, pp. 110\u2013124 (2009)","DOI":"10.1007\/978-3-642-02144-2_13"},{"key":"813_CR16","doi-asserted-by":"crossref","unstructured":"Giachetti, G., Valverde, F., Pastor, O.: Improving automatic UML2 profile generation for MDA industrial development, pp. 113\u2013122 (2008)","DOI":"10.1007\/978-3-540-87991-6_16"},{"key":"813_CR17","unstructured":"Object\u00a0Management Group: Modeling and analysis of real-time embedded systems. Online (2011), http:\/\/www.omg.org\/spec\/MARTE\/1.1\/"},{"key":"813_CR18","unstructured":"Object\u00a0Management Group: Meta object facility (MOF) core specification. Online (2014), http:\/\/www.omg.org\/mof\/"},{"key":"813_CR19","unstructured":"Object\u00a0Management Group: Unified modeling language. (2015) http:\/\/www.omg.org\/spec\/UML\/"},{"key":"813_CR20","unstructured":"Group, O.M.: Semantics of a foundational subset for executable UML models. In: Technical Report (2010)"},{"key":"813_CR21","unstructured":"Haren, V.: Archimate 2.0 specification (2012)"},{"key":"813_CR22","doi-asserted-by":"crossref","unstructured":"Hussein, M., Zulkernine, M.: Umlintr: a UML profile for specifying intrusions. In: 13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS\u201906). pp. 8\u2013pp. IEEE (2006)","DOI":"10.1109\/ECBS.2006.70"},{"key":"813_CR23","volume-title":"ArchiMate 1.0 Specification","author":"ME Iacob","year":"2009","unstructured":"Iacob, M.E., Jonkers, H., Lankhorst, M.M., Proper, H.A.: ArchiMate 1.0 Specification. Van Haren Publishing, Zaltbommel (2009)"},{"key":"813_CR24","unstructured":"Jouault, F., Allilaire, F., B\u00e9zivin, J., Kurtev, I., Valduriez, P.: Atl: a GVT-like transformation language. In: Companion to the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications. pp. 719\u2013720. ACM (2006)"},{"key":"813_CR25","unstructured":"Kehrer, T., Kelter, U.: Versioning of ordered model element sets. Softwaretechnik-Trends 34(2), (2014)"},{"key":"813_CR26","doi-asserted-by":"crossref","unstructured":"Kelter, U., Schmidt, M.: Comparing state machines. In: Proceedings of the 2008 International Workshop on Comparison and Versioning of Software Models. pp. 1\u20136. ACM (2008)","DOI":"10.1145\/1370152.1370154"},{"key":"813_CR27","doi-asserted-by":"crossref","unstructured":"Kolovos, D., Paige, R., Polack, F.: The Epsilon Transformation Language. Theory and Practice of Model Transformations pp. 46\u201360 (2008)","DOI":"10.1007\/978-3-540-69927-9_4"},{"issue":"1","key":"813_CR28","first-page":"1","volume":"16","author":"DS Kolovos","year":"2015","unstructured":"Kolovos, D.S., Garc\u00eda-Dom\u00ednguez, A., Rose, L.M., Paige, R.F.: Eugenia: towards disciplined and automated development of GMF-based graphical model editors. Softw. Syst. Model. 16(1), 1\u201327 (2015)","journal-title":"Softw. Syst. Model."},{"key":"813_CR29","unstructured":"Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Rigorous methods for software construction and analysis. chap. In: Abrial, J.-R., Gl\u00e4sser, U. (eds.) On the Evolution of OCL for Capturing Structural Constraints in Modelling Languages, pp. 204\u2013218. Springer-Verlag, Berlin, Heidelberg (2009), http:\/\/dl.acm.org\/citation.cfm?id=2172244.2172257"},{"key":"813_CR30","doi-asserted-by":"crossref","unstructured":"Kolovos, D.S., Paige, R.F., Polack, F.A.: The epsilon object language (EOL). In: Rensink, A., Warmer, J. (eds.) Model Driven Architecture\u2013Foundations and Applications. pp. 128\u2013142. Springer (2006)","DOI":"10.1007\/11787044_11"},{"key":"813_CR31","doi-asserted-by":"crossref","unstructured":"Kraas, A.: Automated tooling for the evolving SDL standard: From metamodels to UML profiles. In: SDL 2017: Model-Driven Engineering for Future Internet\u201418th International SDL Forum. pp. 136\u2013156 (2017)","DOI":"10.1007\/978-3-319-68015-6_9"},{"key":"813_CR32","doi-asserted-by":"crossref","unstructured":"Lagarde, F., Espinoza, H., Terrier, F., Andr\u00e9, C., G\u00e9rard, S.: Leveraging patterns on domain models to improve UML profile definition, vol. 4961, pp. 116\u2013130 (2008)","DOI":"10.1007\/978-3-540-78743-3_10"},{"key":"813_CR33","doi-asserted-by":"crossref","unstructured":"Langer, P., Wieland, K., Wimmer, M., Cabot, J.: From UML profiles to EMF profiles and beyond. In: International Conference on Modelling Techniques and Tools for Computer Performance Evaluation. pp. 52\u201367. Springer (2011)","DOI":"10.1007\/978-3-642-21952-8_6"},{"key":"813_CR34","unstructured":"Lanusse, A., Tanguy, Y., Espinoza, H., Mraidha, C., Gerard, S., Tessier, P., Schnekenburger, R., Dubois, H., Terrier, F.: Papyrus UML: an open source toolset for MDA. In: Fifth European Conference on Model-Driven Architecture Foundations and Applications (ECMDA-FA\u201909). pp. 1\u20134 (2009)"},{"key":"813_CR35","unstructured":"Mak, J.K.H., Choy, C.S.T., Lun, D.P.K.: Precise modeling of design patterns in UML. In: 26th International Conference on Software Engineering (ICSE\u201904). pp. 252\u2013261 (2004)"},{"issue":"3","key":"813_CR36","doi-asserted-by":"publisher","first-page":"67","DOI":"10.1049\/iet-sen:20060067","volume":"1","author":"N Moreno","year":"2007","unstructured":"Moreno, N., Fraternali, P., Vallecillo, A.: WebML modelling in UML. IET Softw. 1(3), 67\u201380 (2007)","journal-title":"IET Softw."},{"key":"813_CR37","doi-asserted-by":"crossref","unstructured":"Pardillo, J.: A systematic review on the definition of UML profiles, pp. 407\u2013422 (2010)","DOI":"10.1007\/978-3-642-16145-2_28"},{"key":"813_CR38","doi-asserted-by":"crossref","unstructured":"Rodr\u00edguez, R.J., Merseguer, J., Bernardi, S.: Modelling and analysing resilience as a security issue within UML. In: 2nd International Workshop on Software Engineering for Resilient Systems (SERENE\u201910). pp. 42\u201351 (2010)","DOI":"10.1145\/2401736.2401741"},{"key":"813_CR39","doi-asserted-by":"crossref","unstructured":"Rose, L.M., Paige, R.F., Kolovos, D.S., Polack, F.A.: The Epsilon generation language. In: Schieferdecker, I., Hartman, A. (eds.) Model Driven Architecture\u2014Foundations and Applications. pp. 1\u201316. Springer (2008)","DOI":"10.1007\/978-3-540-69100-6_1"},{"key":"813_CR40","doi-asserted-by":"crossref","unstructured":"Selic, B.: A systematic approach to domain-specific language design using UML. In: 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC\u201907). pp. 2\u20139 (2007)","DOI":"10.1109\/ISORC.2007.10"},{"issue":"4","key":"813_CR41","doi-asserted-by":"publisher","first-page":"420","DOI":"10.1016\/j.jvlc.2007.07.001","volume":"18","author":"C Simons","year":"2007","unstructured":"Simons, C., Wirtz, G.: Modeling context in mobile distributed systems with the UML. J. Vis. Lang. Comput. 18(4), 420\u2013439 (2007)","journal-title":"J. Vis. Lang. Comput."},{"key":"813_CR42","doi-asserted-by":"crossref","unstructured":"Tatibou\u00ebt, J., Cuccuru, A., G\u00e9rard, S., Terrier, F.: Formalizing execution semantics of UMl profiles with FUML models. In: International Conference on Model Driven Engineering Languages and Systems. pp. 133\u2013148. Springer (2014)","DOI":"10.1007\/978-3-319-11653-2_9"},{"key":"813_CR43","doi-asserted-by":"crossref","unstructured":"Viyovi\u0107, V., Maksimovi\u0107, M., Perisi\u0107, B.: Sirius: a rapid development of DSM graphical editor. In: IEEE 18th International Conference on Intelligent Engineering Systems INES 2014. pp. 233\u2013238. IEEE (2014)","DOI":"10.1109\/INES.2014.6909375"},{"key":"813_CR44","doi-asserted-by":"crossref","unstructured":"Walderhaug, S., Stav, E., Mikalsen, M.: Experiences from model-driven development of homecare services: UML profiles and domain models, pp. 199\u2013212 (2009)","DOI":"10.1007\/978-3-642-01648-6_22"},{"key":"813_CR45","doi-asserted-by":"publisher","first-page":"211","DOI":"10.1016\/j.jss.2019.05.013","volume":"154","author":"R Wei","year":"2019","unstructured":"Wei, R., Kelly, T.P., Dai, X., Zhao, S., Hawkins, R.: Model based system assurance using the structured assurance case metamodel. J. Syst. Softw. 154, 211\u2013233 (2019)","journal-title":"J. Syst. Softw."},{"key":"813_CR46","first-page":"55","volume":"1078","author":"JR Williams","year":"2013","unstructured":"Williams, J.R., Zolotas, A., Matragkas, N.D., Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.: What do metamodels really look like? EESSMOD@ MoDELS 1078, 55\u201360 (2013)","journal-title":"EESSMOD@ MoDELS"},{"issue":"3","key":"813_CR47","doi-asserted-by":"publisher","first-page":"372","DOI":"10.1108\/17440080910983592","volume":"5","author":"M Wimmer","year":"2009","unstructured":"Wimmer, M.: A semi-automatic approach for bridging DSMLS with UML. Int. J. Web Inf. Syst. 5(3), 372\u2013404 (2009)","journal-title":"Int. J. Web Inf. Syst."},{"key":"813_CR48","doi-asserted-by":"crossref","unstructured":"Xu, J., Woodside, M., Petriu, D.: Performance analysis of a software design using the UML profile for schedulability, performance, and time. In: International Conference on Modelling Techniques and Tools for Computer Performance Evaluation. pp. 291\u2013307. Springer (2003)","DOI":"10.1007\/978-3-540-45232-4_18"},{"key":"813_CR49","doi-asserted-by":"crossref","unstructured":"Zolotas, A., Wei, R., Gerasimou, S., Rodriguez, H.H., Kolovos, D.S., Paige, R.F.: Towards automatic generation of UML profile graphical editors for papyrus. In: European Conference on Modelling Foundations and Applications. pp. 12\u201327. Springer (2018)","DOI":"10.1007\/978-3-319-92997-2_2"},{"key":"813_CR50","doi-asserted-by":"crossref","unstructured":"Zoughbi, G., Briand, L., Labiche, Y.: A UML profile for developing airworthiness-compliant (RTCA DO-178B), safety-critical software. In: International Conference on Model Driven Engineering Languages and Systems. pp. 574\u2013588. Springer (2007)","DOI":"10.1007\/978-3-540-75209-7_39"}],"container-title":["Software and Systems Modeling"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-020-00813-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10270-020-00813-6\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-020-00813-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,11,6]],"date-time":"2022-11-06T14:03:38Z","timestamp":1667743418000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10270-020-00813-6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,8,11]]},"references-count":50,"journal-issue":{"issue":"5","published-print":{"date-parts":[[2020,9]]}},"alternative-id":["813"],"URL":"https:\/\/doi.org\/10.1007\/s10270-020-00813-6","relation":{},"ISSN":["1619-1366","1619-1374"],"issn-type":[{"type":"print","value":"1619-1366"},{"type":"electronic","value":"1619-1374"}],"subject":[],"published":{"date-parts":[[2020,8,11]]},"assertion":[{"value":"3 March 2019","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"8 May 2020","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"10 June 2020","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"11 August 2020","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}