International Journal of Computer Applications (0975 - 8887) Volume 171 - No.3, August 2017 Validation of UML Artifacts in Model Driven Engineering using Description Logics based Ontology Reasoners Ali Hanzala Khan National University of Sciences and Technology NUST-PNEC Karsaz Karachi Pakistan Naeem Abbas National University of Sciences and Technology NUST-PNEC Karsaz Karachi Pakistan ABSTRACT This article presents an automatic approach to validate UML arti- facts created during Model Driven Engineering. This validation ap- proach may be used at both model and metamodel layer of Model Driven Architecture. This approach first automatically translates the UML artifacts into logical equivalent OWL 2 axioms and then use OWL 2 reasoners to validate the translations. Furthermore, the viability of the approach is demonstrated by validating 303 mod- els and metamodels available in an online repository and the re- sults show that half of the models and metamodels found erroneous. General Terms UML, Automatic Validation Keywords Reasoning, Metamodels, Models, MDE, Ontology 1. INTRODUCTION Model Driven Engineering (MDE) [1] advocates the use of models to represent the most relevant design decisions in a software devel- opment project. Each software model is described using a partic- ular modeling language, such as the Unified Modeling Language (UML) [2] or a domain-specific language. The definition of a mod- eling language is given using a so-called meta modeling language or a language to define modeling language. Creating a new metamodel is not a simple task since it requires a good knowledge of the problem domain and how to use model- ing languages to improve the development of new systems. Also, a metamodel can contain errors. A metamodel contains constraints on how concepts in a model can be related to each other, such as multiplicity, domain and range, composition and subset constraints. These constraints may lead to contradictions. Similarly, creating models can be a complicated task. Models are intended to conform to the metamodels after which they are spec- ified, but is is not always easy to ensure that they conform to all of the constraints that the metamodel imposes. Without tool-aided validation, the models can easily end up containing both obvious and less trivial errors with regard to their metamodel specification. Furthermore, it will be a help in the development process to have software tools that can aid in on one hand validating the internal consistency of metamodels and on the other hand validating mod- els against their metamodels. The idea presented here is to represent metamodels as ontologies based on Description Logics (DL) [3]. Later, the existing DL reasoners can be used to validate the meta- models. The advantage of this approach is that once encoding of the meta- models is obtained it can be used by the reasoners to solve both the validation problems. The reasoners’ capabilities to reason about in- dividuals belonging to a system of classes enable us to check mod- els against their metamodel specification. The reasoners’ capabil- ities to draw conclusions about the system of classes itself can be used to check the consistency of metamodels. 2. METHODOLOGY Validation Report Reasoner Ontology OWL 2 Transformation code in MFO Script UML / MOF-Like Metamodels Model Eclipse Modeling Framework EMF Fig. 1. Conceptual Model for Automatic Validation of Metamodel and Models The study of metamodeling languages has led to a number of practical tools such as model repositories, diagram editors, model transformation tools and code generation tools that simplify enor- mously the creation of new practical tool chains that use UML or domain-specific modeling languages in software development projects. There exist metamodel repositories such as the Atlantic Metamodeling Zoo [4] that contain hundreds of metamodels for many different problem domains. Two well-known metamodeling languages are MOF or the UML Infrastructure [5] that are used to define the UML as known by its practitioners. They can also be used to define new modeling lan- guages. Other popular metamodeling languages include the Ecore, used in the Eclipse Modeling Framework (EMF) [6, 7] or KM3 [8]. 9