
The role meta-model extends the ecore meta-model and use the query meta-model.
A roleSet is a kind of ePackage. A roleSet contains roles through the eClassifier reference. A role is a kind of eClass.
For a role instance, the eSuperType reference must be set to specify which class the role virtually extends.
The role class has one specific reference: conditionQuery. The conditionQuery reference points the ModelQuery class. The model queries pointed by the conditionQuery reference must return a Boolean. Those queries are used to specify how to decide if an instance is conform to a role. If the conditionQuery is empty all the instances of the class referred by role instance trough the eSuperType reference, are conform to the role.
A role contains roleAttributes and roleReferences through the eStructuralFeature reference. The RoleAttribute and RoleReference classes have a common super class: RoleStructuralFeature. The RoleStructuralFeature has one reference named valueQuery and pointing to the ModelQuery class. The valueQuery is used to compute the role structural feature value. The roleAttribute and roleReference must have the same type than the query they refer.
Copyright (c) 2009 Mia-Software. All rights reserved. This document is made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
Contributors: