-- $Id$ query ModelUsageGenerator = ('-- Generated by: $Id$\n' + 'query ModelUsage = (\n' + ' \'helper context INMODEL!Class def : inclusionCondition() : Boolean = false\\n\' +\n' + thisModule.concreteClassQueries() + ' ).writeTo(\'ModelUsage.txt\'.path());\n\n' + 'uses Config;\n\n'). writeTo('ModelUsage.atl'.path()); uses Config; helper context INMODEL!Class def : exclusionCondition() : Boolean = self.container.name='Diagram_Interchange'; -- adapt the above exclusion condition for your specific model helper def : concreteClasses : Sequence(INMODEL!Class) = INMODEL!Class.allInstances()->select(c|not (c.isAbstract or c.exclusionCondition())); helper def : concreteClassQueries() : String = thisModule.concreteClasses->iterate(e; acc : String = ''| acc + e.queryString()) + ' \'\'\n'; helper context INMODEL!Class def : queryString() : String = ' if INMODEL!' + self.name + '.allInstances()->select(e|e.oclIsTypeOf(INMODEL!' + self.name + '))->notEmpty()\n' + ' then \' or self.name = \\\'' + self.name + '\\\'\\n\'\n' + ' else \'\' endif +\n';