Automatic generation of UML profile graphical editors for Papyrus

  • PDF / 1,473,976 Bytes
  • 24 Pages / 595.276 x 790.866 pts Page_size
  • 72 Downloads / 189 Views

DOWNLOAD

REPORT


SPECIAL SECTION PAPER

Automatic generation of UML profile graphical editors for Papyrus Ran Wei1 · Athanasios Zolotas2 · Horacio Hoyos Rodriguez2 · Simos Gerasimou2 · Dimitrios S. Kolovos2 · Richard F. Paige2,3 Received: 3 March 2019 / Revised: 8 May 2020 / Accepted: 10 June 2020 © The Author(s) 2020

Abstract 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 Jorvik, 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 Jorvik demonstrating the substantial productivity and maintainability benefits that Jorvik delivers. Keywords Model-driven engineering · UML profiling · Papyrus

1 Introduction

Communicated by A. Pierantonio, A. Anjorin, S. Trujillo, and H. Espinoza.

B B

Athanasios Zolotas [email protected] Richard F. Paige [email protected]; [email protected] Ran Wei [email protected] Horacio Hoyos Rodriguez [email protected] Simos Gerasimou [email protected] Dimitrios S. Kolovos [email protected]

1

School of Artificial Intelligence, Dalian University of Technology, Dalian, China

2

Department of Computer Science, University of York, York, UK

3

Department of Computer Science, McMaster University, Hamilton, Canada

The unified modelling language (UML) [19] is the de facto standard for object-oriented software and systems modelling. It offers a broad range of abstractions that can be used to express different views of a system, including Class, Use Case, State, Collaboration and Sequence diagrams. Since version 2.0, UML offers an extension and customisation mechanism named UML Profiling [13]. UML profiling enables the users to derive domain-specific languages (DSL) from UML’s set of general language concepts. The flexibility and open-ended boundaries of UML profiles facilitated the development of profiles in applications such as performance analysis [48], quality-of-service investigation [8] in component-based systems, as well as context modelling in mobile distributed systems [41], Web applications [36] and smart homecare services [44]. An important advantage of UML profiling for des