Skip to main content

ATL Use Case - Verifying UML profiled models

ATL Logo Papyrus

This use case shows how to integrate a model transformation service in a UML Modeler to verify a UML profiled model.


UML Modeler, UML 2, UML Profile, Verification, Naming convention, Error reporting


Papyrus is a dedicated tool for UML2 graphical modelling mainly developed by CEA LIST. It integrates the ATL engine. This use case shows how the coupling of ATL and Papyrus may allow to verify UML profiled models.

In the context of this use case, a sample UML profile and a sample UML model applying this profile have been modeled with Papyrus. For this UML profiled model, we provide a service that will check if the UML model complies to some conventions. The conventions are defined by the ATL transformation "SampleUMLProfile to Problem". The figures below present the profile and the UML model used here:

Sample profile

Sample UML model using the Sample profile

For all the models using the sample profile, we want to check some properties (e.g. naming convention). To do this, we will define an ATL model transformation to check these conventions associated to the Sample profile. If an element of a UML model does not respect a convention, a problem element (e.g. warning, error) will be created. For example, if we want to forbid the value "value1" for the property "myProperty" this could be done by the following ATL code:

The following ATL rule will verify if all the classes with stereotype MyStereotype have a name starting by 'Sample_'. If not, a warning problem will be created with the following text "Class name should start with Sample_ to respect sample convention".

To see how to configure and run the "Verification UML Profiled Model" ATL service, please take a look to the User Guide.

This resulting model contains all the problems of the UML model. So, if this model is not empty (i.e. there are problems in the UML model) the problems will be displayed in the Eclipse Problems view.

Result of error reporting

Related Use Cases

None at the current time.


Papyrus, an open-source graphical modeler tool for UML2 and based on Eclipse.

ATL Service

Papyrus add-in containing the implementation of this use case.

User Guide

This user guide explains how to configure and launch the ATL service in Papyrus.

Sample Project

Sample project with a UML profile and a UML model applying this profile to test the implementation of this use case in Papyrus.


The present work is being supported by the Usine Logicielle project of the System@tic Paris Region Cluster.
General Information

Back to the top