Havacılık ve Uzay Teknolojileri Dergisi (Jul 2018)
ANALYSING UML-BASED SOFTWARE MODELLING LANGUAGES
Abstract
UML is considered as the top popular software modelling language among practitioners. Expectedly, UML has been extended by many other languages, which tailor UML for particular domains (e.g., distributed systems, mobile systems, and embedded systems). In this paper, the existing 20 different UML-based software modelling languages have been analysed for a number of requirements that are believed to be highly important for practitioners who perform software modelling in different industries. These requirements are formal semantics, multiple viewpoints modelling, model analysis, code-generation, and modelling toolset. According to the analysis results, none of the existing UML-based languages support all those requirements – except UWE proposed for web applications. The model analysis is essentially enabled by those languages whose formal semantics are defined in terms of the translations into some formal verification languages that are supported with exhaustive model checkers. Moreover, code-generation for automatically transforming models into executable software is ignored by most of the languages. Lastly, the modelling tool support is ignored too, which is essentially because many languages offer UML profiles that can be used with the existing UML modelling tools.