Improving Modeling with UML by Stereotype-based Language Customization

Graphical modeling is becoming an increasingly important part of software engineering as it provides means of increasing productivity by raising the level of abstraction in software devel-opment. One of the most widely adopted modeling notations is the Unified Modeling Language (UML) which has gained popularity due to its generality and broad applicability. Despite its advantages, this general purpose notation is burdened with the lack of purpose specific model-ing abstractions. The modeling abstractions in the language lack specialized properties and thus models might not precisely express the intentions of the modeler. In consequence, this leads to ineffectiveness of using models in UML. This thesis presents research aimed at improving modeling with UML. By exploiting the language customization mechanisms inherent in UML – stereotypes and profiles – the research presented in the thesis explores such aspects of improving modeling as creating language cus-tomizations or using a customized modeling language. The context, in which the modeling is considered, is delineated by the principles of model driven software development (MDD). The principles recognize the usage of models as the primary artefacts in software development thus providing a solid foundation for considering the use of models in software development. One of the contributions in the thesis is the identification and definition of factors determin-ing the successful realization of MDD in industry. These factors provide means of positioning language customization in the forefront of MDD. Another contribution in the thesis is eliciting and prioritizing a set of criteria for choosing between language customization mechanisms, which is a result of another industrial case study. A series of experiments in academic and industrial environments showed the magnitude of improvements to be expected after replacing a standard modeling language with a customized modeling notation. This series of experiments provided a basis for experimenting with stereo-types and software inspections which indicated a considerable increase in effectiveness of the reading techniques used in software inspections after replacing a standard notation with a cus-tomized one. The results from all empirical studies affected the development of quality assessment crite-ria for stereotypes. The criteria and the exploration of several existing profiles led to the devel-opment of guidelines for creating “good” stereotypes by analyzing existing UML profiles. An additional contribution in the thesis is exploring the usage of an alternative mechanism to stereo-types – model libraries – for adaptation of a modeling language. The way in which model librar-ies can be created in an efficient way is studied by creating a method for extracting knowledge from ontologies into UML domain models. The results of the research presented in the thesis show how to improve modeling with UML by customizing the language with stereotypes. The main contribution is the exploration and evaluation of issues related to creating language customizations and using the customized language.