public void removeAdditionalContextAttribute(String name, Type contextType) {
   List<String> contextName = Arrays.asList(contextType.getQualifiedName().split("\\."));
   MofOclModelElementTypeImpl contextOclModelElementType =
       (MofOclModelElementTypeImpl) oclEnvironment.getEnvironment().lookupPathName(contextName);
   if (contextOclModelElementType == null) {
     throw new SemanticException("Cannot resolve context of action " + this.toString());
   }
   contextOclModelElementType.removeAdditionalProperty(name);
 }
 public void checkOclConstraint(
     String expression,
     NamedElement context,
     Type requiredType,
     boolean isCollection,
     boolean isUnique,
     boolean isOrdered)
     throws SemanticException {
   try {
     oclEnvironment.analyseOclExpression(
         expression, context, requiredType, isCollection, isUnique, isOrdered);
   } catch (OclException ex) {
     throw new SemanticException("Ocl error: " + ex.getMessage());
   }
 }
 public Environment getOclEnvironment() {
   return oclEnvironment.getEnvironment();
 }