blob: 7546b843a24e25bae8c3bdd33e5880513fd5e872 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<description:Group xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:tool="http://www.eclipse.org/sirius/diagram/description/tool/1.1.0" xmlns:tool_1="http://www.eclipse.org/sirius/description/tool/1.1.0" name="ToolchainModel" version="12.0.0.2017041100">
<ownedViewpoints name="ToolchainViewpoint">
<ownedRepresentations xsi:type="description_1:DiagramDescription" dropDescriptions="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.DropDomainSpecification']" name="SpecificationDiagram" initialisation="true" domainClass="adaptorinterface.Specification" rootExpression="[if (self.eClass().name = 'Toolchain') then self.eGet('specification').oclAsType(Specification) else self endif/]" enablePopupBars="true">
<diagramInitialisation/>
<defaultLayer name="Default">
<edgeMappings name="Specification.ResourceToReferenceProperty" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.DeleteResourceToReferenceProperty']" semanticElements="[self.resourceProperties->select(p : ResourceProperty | Sequence{ResourcePropertyValueType::Resource}->includes(p.valueType))->select(p : ResourceProperty | p.range->includes(view.targetNode.oclAsType(DNodeList).target.oclAsType(Resource)))/]" sourceMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.Resource']" targetMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.Resource']" targetFinderExpression="[self.resourceProperties->select(p : ResourceProperty | Sequence{ResourcePropertyValueType::Resource}->includes(p.valueType)).range /]">
<style sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription labelSize="9" showIcon="false" labelExpression="[view.semanticElements.oclAsType(ResourceProperty).name/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
<endLabelStyleDescription labelSize="9" showIcon="false" labelExpression="[view.semanticElements.oclAsType(ResourceProperty).occurs->collect(occurs : ResourcePropertyOccurs | if (occurs = ResourcePropertyOccurs::exactlyOne) then '1' else if (occurs = ResourcePropertyOccurs::zeroOrOne) then '0..1' else if (occurs = ResourcePropertyOccurs::zeroOrMany) then '0..*' else if (occurs = ResourcePropertyOccurs::oneOrMany) then '1..*' else '???' endif endif endif endif)/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</endLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="Specification.ResourceToLocalReferenceProperty" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.DeleteResourceToReferenceProperty']" semanticElements="[self.resourceProperties->select(p : ResourceProperty | Sequence{ResourcePropertyValueType::LocalResource}->includes(p.valueType))->select(p : ResourceProperty | p.range->includes(view.targetNode.oclAsType(DNodeList).target.oclAsType(Resource)))/]" sourceMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.Resource']" targetMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.Resource']" targetFinderExpression="[self.resourceProperties->select(p : ResourceProperty | Sequence{ResourcePropertyValueType::LocalResource}->includes(p.valueType)).range /]">
<style lineStyle="dot" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription labelSize="9" showIcon="false" labelExpression="['Local: ' + view.semanticElements.oclAsType(ResourceProperty).name/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
<endLabelStyleDescription labelSize="9" showIcon="false" labelExpression="[view.semanticElements.oclAsType(ResourceProperty).occurs->collect(occurs : ResourcePropertyOccurs | if (occurs = ResourcePropertyOccurs::exactlyOne) then '1' else if (occurs = ResourcePropertyOccurs::zeroOrOne) then '0..1' else if (occurs = ResourcePropertyOccurs::zeroOrMany) then '0..*' else if (occurs = ResourcePropertyOccurs::oneOrMany) then '1..*' else '???' endif endif endif endif)/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</endLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="Specification.ResourceToParentResource" sourceMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.Resource']" targetMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.Resource']" targetFinderExpression="[self.extends /]">
<style targetArrow="InputClosedArrow" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<containerMappings name="Specification.DomainSpecification" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.DeleteDomainSpecification']" labelDirectEdit="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.DirectEditName']" createElements="false" semanticElements="[Set{self, self.generationSetting}/]" domainClass="adaptorinterface.DomainSpecification" dropDescriptions="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.MoveResource'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.MoveProperty']">
<subContainerMappings name="Specification.DomainSpecification.Resource" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.DeleteResource']" semanticCandidatesExpression="feature:eAllContents" domainClass="adaptorinterface.Resource" dropDescriptions="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.RelatePropertyToResource']" childrenPresentation="List">
<subNodeMappings name="Specification.DomainSpecification.Resource.LiteralProperty" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.DeleteResourceLiteralPropertySubnode']" semanticCandidatesExpression="[self.resourceProperties->select(p : ResourceProperty | (not Sequence{ResourcePropertyValueType::Resource, ResourcePropertyValueType::LocalResource}->includes(p.valueType))._or((Sequence{ResourcePropertyValueType::Resource, ResourcePropertyValueType::LocalResource}->includes(p.valueType))._and(p.range->size() = 0)))/]" domainClass="adaptorinterface.ResourceProperty">
<style xsi:type="style:SquareDescription" labelSize="9" showIcon="false" labelExpression="[(if (self.eContainer(DomainSpecification) = view.eContainer().oclAsType(DNodeList).target.oclAsType(Resource).eContainer(DomainSpecification)) then '' else self.eContainer(DomainSpecification).namespacePrefix.name + ':' endif) + name + ': ' + valueType + (if (Sequence{ResourcePropertyOccurs::oneOrMany, ResourcePropertyOccurs::zeroOrMany}->includes(occurs)) then ' []' else '' endif)/]" labelAlignment="LEFT" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</subNodeMappings>
<subNodeMappings name="Specification.DomainSpecification.Resource.ReferenceProperty" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.DeleteResourceReferencePropertySubnode']" semanticCandidatesExpression="[self.resourceProperties->select(p : ResourceProperty | Sequence{ResourcePropertyValueType::Resource, ResourcePropertyValueType::LocalResource}->includes(p.valueType))->select(p : ResourceProperty | (diagram.containers->select(c : DDiagramElementContainer | (c.actualMapping.name = 'Specification.DomainSpecification.Resource')._and(c.visible))).target->includesAll(p.range)._not())/]" domainClass="adaptorinterface.ResourceProperty">
<style xsi:type="style:SquareDescription" labelSize="9" showIcon="false" labelExpression="[(if (self.eContainer(DomainSpecification) = view.eContainer().oclAsType(DNodeList).target.oclAsType(Resource).eContainer(DomainSpecification)) then '' else self.eContainer(DomainSpecification).namespacePrefix.name + ':' endif) + name + ': ' + (if (range->size() = 0) then 'Resource' else range->first().name + (if (range->size() > 1) then '++' else '' endif) endif) + (if (Sequence{ResourcePropertyOccurs::oneOrMany, ResourcePropertyOccurs::zeroOrMany}->includes(occurs)) then ' []' else '' endif)/]" labelAlignment="LEFT" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_purple']"/>
<labelFormat>italic</labelFormat>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</subNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="15" arcHeight="15" borderSizeComputationExpression="1" showIcon="false" labelExpression="[let visibleResources : Sequence(Resource) = (diagram.containers->select(c : DDiagramElementContainer | (c.actualMapping.name = 'Specification.DomainSpecification.Resource')._and(c.visible))).target.oclAsType(Resource) in self.labelInDomainSpecification(visibleResources)/]" roundedCorner="true">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</subContainerMappings>
<subContainerMappings name="Specification.DomainSpecification.PropertiesList" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.DeletePropertiesList']" semanticCandidatesExpression="[self/]" domainClass="adaptorinterface.DomainSpecification" dropDescriptions="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Specification.MoveProperty']" childrenPresentation="List">
<subNodeMappings name="Specification.DomainSpecification.PropertiesList.Property" semanticCandidatesExpression="feature:eAllContents" domainClass="adaptorinterface.ResourceProperty">
<conditionnalStyles predicateExpression="[not Sequence{ResourcePropertyValueType::Resource, ResourcePropertyValueType::LocalResource}->includes(self.valueType)/]">
<style xsi:type="style:BundledImageDescription" showIcon="false" labelExpression="[name + ': ' + valueType/]" labelAlignment="LEFT" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</conditionnalStyles>
<conditionnalStyles predicateExpression="[Sequence{ResourcePropertyValueType::Resource}->includes(self.valueType)/]">
<style xsi:type="style:BundledImageDescription" showIcon="false" labelExpression="[name + ': ' + if (range->size() = 0) then 'Resource' else range->first().name + (if (range->size() > 1) then '++' else '' endif) endif/]" labelAlignment="LEFT" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</conditionnalStyles>
<conditionnalStyles predicateExpression="[Sequence{ResourcePropertyValueType::LocalResource}->includes(self.valueType)/]">
<style xsi:type="style:BundledImageDescription" showIcon="false" labelExpression="[name + ': ' + if (range->size() = 0) then 'Resource' else range->first().name + (if (range->size() > 1) then '++' else '' endif) endif/]" labelAlignment="LEFT" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</conditionnalStyles>
</subNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" showIcon="false" labelExpression="Properties">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelFormat>bold</labelFormat>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
</subContainerMappings>
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1" labelSize="9" labelExpression="[self.name + ' (' + self.namespacePrefix.name + ')'/]" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/IconAdaptor.png" widthComputationExpression="40" heightComputationExpression="30">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</containerMappings>
<toolSections name="Create">
<ownedTools xsi:type="tool:ContainerCreationDescription" name="Specification.CreateDomainSpecification" label="Domain Specification" containerMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/IconAdaptor.png">
<variable name="container">
<subVariables xsi:type="tool_1:AcceleoVariable" name="specs" computationExpression="[if (container.eClass().name = 'Toolchain') then container.eGet('specification') else self endif/]"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[specs.oclAsType(Specification)/]">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.NamespacePrefix" referenceName="domainPrefixes" variableName="newNamespacePrefix">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="['nsp' + specs.domainPrefixes->size() /]"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.DomainSpecification" referenceName="domainSpecifications">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="['Domain' + specs.domainSpecifications->size() /]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="namespaceURI" valueExpression="['http://your.organisation.domain/'+ newNamespacePrefix.name +'#'/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="namespacePrefix" valueExpression="[newNamespacePrefix /]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:ContainerCreationDescription" name="Specification.CreateResource" label="Resource Shape" containerMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.Resource']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/IconResource.png">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.Resource" referenceName="resources">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="['ResourceShape' + container.resources->size()/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="Specification.CreateLiteralProperty" label="Literal Property" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.PropertiesList']/@subNodeMappings[name='Specification.DomainSpecification.PropertiesList.Property']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/literalProperty_icon.png">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.ResourceProperty" referenceName="resourceProperties">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="['Property' + container.resourceProperties->size()/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="valueType" valueExpression="[ResourcePropertyValueType::String /]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="Specification.CreateReferenceProperty" label="Reference Property" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.PropertiesList']/@subNodeMappings[name='Specification.DomainSpecification.PropertiesList.Property']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/referenceProperty_icon.png">
<variable name="container">
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="propertyRange" candidatesExpression="[container.oclAsType(DomainSpecification).eContainer(Specification).domainSpecifications.resources/]" message="Select range of the reference property"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.ResourceProperty" referenceName="resourceProperties">
<subModelOperations xsi:type="tool_1:SetValue" featureName="valueType" valueExpression="[ResourcePropertyValueType::Resource /]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="range" valueExpression="[propertyRange/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="['relatesTo' + propertyRange.name.toUpperFirst()/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="Specification.CreateLocalReferenceProperty" label="Local Reference Property" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.PropertiesList']/@subNodeMappings[name='Specification.DomainSpecification.PropertiesList.Property']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/localReferenceProperty_icon.png">
<variable name="container">
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="propertyRange" candidatesExpression="[container.oclAsType(DomainSpecification).eContainer(Specification).domainSpecifications.resources/]" message="Select range of the reference property"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.ResourceProperty" referenceName="resourceProperties">
<subModelOperations xsi:type="tool_1:SetValue" featureName="valueType" valueExpression="[ResourcePropertyValueType::LocalResource /]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="range" valueExpression="[propertyRange/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="['relatesTo' + instance.range.name.toUpperFirst()/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Operations">
<ownedTools xsi:type="tool:ContainerDropDescription" name="Specification.DropDomainSpecification" mappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']" dragSource="BOTH">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool:CreateView" mapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']" containerViewExpression="var:newContainerView"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:ContainerDropDescription" name="Specification.MoveProperty" mappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.PropertiesList']/@subNodeMappings[name='Specification.DomainSpecification.PropertiesList.Property']" dragSource="BOTH">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="resourceProperties" valueExpression="[element /]"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:ContainerDropDescription" name="Specification.MoveResource" mappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.Resource']" dragSource="BOTH">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="resources" valueExpression="[element /]"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:ContainerDropDescription" name="Specification.RelatePropertyToResource" mappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.Resource']/@subNodeMappings[name='Specification.DomainSpecification.Resource.LiteralProperty'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.PropertiesList']/@subNodeMappings[name='Specification.DomainSpecification.PropertiesList.Property']">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="resourceProperties" valueExpression="[element/]"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DirectEditLabel" name="Specification.DirectEditName">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="var:arg0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Specification.DeleteDomainSpecification">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:Let" variableName="deleteFromModel" valueExpression="service:deleteFromModel()">
<subModelOperations xsi:type="tool_1:Switch">
<cases conditionExpression="[deleteFromModel.oclIsUndefined()/]"/>
<cases conditionExpression="[deleteFromModel/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[element.namespacePrefix/]">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[element/]">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
</cases>
<cases conditionExpression="[not deleteFromModel/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:elementView">
<subModelOperations xsi:type="tool_1:DeleteView"/>
</subModelOperations>
</cases>
<default/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Specification.DeleteResourceToLiteralProperty">
<element name="element"/>
<elementView name="elementView">
<subVariables xsi:type="tool_1:AcceleoVariable" name="aResourceProperty" computationExpression="[elementView.oclAsType(DEdge).targetNode.oclAsType(DNode).target/]"/>
<subVariables xsi:type="tool_1:AcceleoVariable" name="aResource" computationExpression="[element/]"/>
</elementView>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:Unset" featureName="resourceProperties" elementExpression="[aResourceProperty/]"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Specification.DeleteResourceToReferenceProperty">
<element name="element"/>
<elementView name="elementView">
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="aResourceProperty" candidatesExpression="[elementView.oclAsType(DEdge).semanticElements/]" message="Select the ResourceProperty to delete"/>
<subVariables xsi:type="tool_1:AcceleoVariable" name="aResource" computationExpression="[element/]"/>
</elementView>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:Unset" featureName="resourceProperties" elementExpression="[aResourceProperty/]"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Specification.DeleteResourceLiteralPropertySubnode">
<element name="element"/>
<elementView name="elementView">
<subVariables xsi:type="tool_1:AcceleoVariable" name="aResourceProperty" computationExpression="[element/]"/>
<subVariables xsi:type="tool_1:AcceleoVariable" name="aResource" computationExpression="[elementView.eContainer().oclAsType(DNodeList).target.oclAsType(Resource)/]"/>
</elementView>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[aResource/]">
<subModelOperations xsi:type="tool_1:Unset" featureName="resourceProperties" elementExpression="[aResourceProperty/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Specification.DeleteResourceReferencePropertySubnode">
<element name="element"/>
<elementView name="elementView">
<subVariables xsi:type="tool_1:AcceleoVariable" name="aResourceProperty" computationExpression="[element/]"/>
<subVariables xsi:type="tool_1:AcceleoVariable" name="aResource" computationExpression="[elementView.eContainer().oclAsType(DNodeList).target.oclAsType(Resource)/]"/>
</elementView>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[aResource/]">
<subModelOperations xsi:type="tool_1:Unset" featureName="resourceProperties" elementExpression="[aResourceProperty/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Specification.DeleteResource">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:RemoveElement"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Specification.DeletePropertiesList" precondition="false">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation/>
</ownedTools>
<ownedTools xsi:type="tool_1:PopupMenu" name="SpecificationDiagram.Menu" label="OSLC Lyo Designer">
<menuItemDescription xsi:type="tool_1:OperationAction" name="Specification.DomainSpecificationMenu.SetPrefix" label="Set Domain Prefix" precondition="[self.oclIsTypeOf(DomainSpecification)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[self.namespacePrefix/]">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[let userInput : String = self.promptForString('Enter the domain namespace prefix', 'Enter the domain namespace prefix', self.name) in (if (userInput = null) then name else userInput endif) /]"/>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool_1:OperationAction" name="Specification.DomainSpecificationMenu.SetJavaGenerationSettings" label="Set Java Generation Settings" precondition="[self.oclIsTypeOf(DomainSpecification)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[self/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[self.generationSetting.oclIsUndefined()/]">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="GenerationSetting" referenceName="generationSetting" variableName="generationSetting"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[self.generationSetting/]">
<subModelOperations xsi:type="tool_1:SetValue" featureName="javaFilesPath" valueExpression="[self.eContainer(DomainSpecification).oclAsType(DomainSpecification).promptForJavaFilesPath()/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="javaClassPackageName" valueExpression="[self.eContainer(DomainSpecification).oclAsType(DomainSpecification).promptForJavaClassPackageName()/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool_1:OperationAction" name="Specification.SpecificationMenu.SetJavaGenerationSettings" label="Set Java Generation Settings" precondition="[self.oclIsTypeOf(Specification)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[self/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[self.generationSetting.oclIsUndefined()/]">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="GenerationSetting" referenceName="generationSetting" variableName="generationSetting"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[self.generationSetting/]">
<subModelOperations xsi:type="tool_1:SetValue" featureName="javaFilesPath" valueExpression="[self.eContainer(Specification).oclAsType(Specification).promptForJavaFilesPath()/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="javaClassPackageName" valueExpression="[self.eContainer(Specification).oclAsType(Specification).promptForJavaClassPackageName()/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
<menuItemDescription xsi:type="tool_1:OperationAction" name="Specification.SpecificationMenu.GenerateSpecification" label="Generate Specification Java Code" precondition="[self.oclIsTypeOf(Specification)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[self/]">
<subModelOperations xsi:type="tool_1:Switch">
<cases conditionExpression="[self.generationSetting.oclIsUndefined() or self.generationSetting.javaFilesPath.oclIsUndefined() or self.generationSetting.javaClassPackageName.oclIsUndefined() or self.generationSetting.javaFilesPath.trim().equalsIgnoreCase('') or self.generationSetting.javaClassPackageName.trim().equalsIgnoreCase('')/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[self.showMessage('Generation Settings are missing', 'The specification generation settings are missing. Right click and select the &quot;Set Java Generation Settings&quot; command')/]"/>
</cases>
<default>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:generateSpecification()"/>
</default>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</menuItemDescription>
</ownedTools>
</toolSections>
</defaultLayer>
<additionalLayers name="Specification.CreateFromVocabulary" label="Create from Vocabulary - Operations">
<containerMappings documentation="Just an empty container to break the transient nature of this layer (for oxygen)."/>
<toolSections name="CreateFromVocabulary" label="Create from Vocabulary">
<ownedTools xsi:type="tool:ContainerCreationDescription" name="Specification.CreateResourceFromVocabulary" label="Resource Shape" containerMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.Resource']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/IconResource.png">
<variable name="container">
<subVariables xsi:type="tool_1:AcceleoVariable" name="loadedVocabularies" computationExpression="service:getLoadedVocabularies()"/>
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="classToBeDescribed" candidatesExpression="[loadedVocabularies->collect(v | Set{v}->union(v.oclAsType(vocabulary::Vocabulary).classes))->flatten()->asSet()/]" tree="true" rootExpression="[loadedVocabularies->select(v | v.oclAsType(vocabulary::Vocabulary).classes->notEmpty() ) /]" childrenExpression="[self.oclAsType(vocabulary::Vocabulary).classes/]" message="Select the rdfs:Class being described"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:If" conditionExpression="[classToBeDescribed.oclIsTypeOf(Class)/]">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.Resource" referenceName="resources">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[classToBeDescribed.name/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="describes" valueExpression="[classToBeDescribed/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="Specification.CreateLiteralPropertyFromVocabulary" label="Literal Property" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.PropertiesList']/@subNodeMappings[name='Specification.DomainSpecification.PropertiesList.Property']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/literalProperty_icon.png">
<variable name="container">
<subVariables xsi:type="tool_1:AcceleoVariable" name="loadedVocabularies" computationExpression="service:getLoadedVocabularies()"/>
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="propertyToBeReferenced" candidatesExpression="[loadedVocabularies->collect(v | Set{v}->union(v.oclAsType(vocabulary::Vocabulary).properties))->flatten()->asSet()/]" tree="true" rootExpression="[loadedVocabularies->select(v | v.oclAsType(vocabulary::Vocabulary).properties->notEmpty() ) /]" childrenExpression="[self.oclAsType(vocabulary::Vocabulary).properties/]" message="Select the rdf:Property being referenced"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:If" conditionExpression="[propertyToBeReferenced.oclIsTypeOf(Property)/]">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.ResourceProperty" referenceName="resourceProperties">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[propertyToBeReferenced.name/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="valueType" valueExpression="[ResourcePropertyValueType::String /]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="propertyDefinition" valueExpression="[propertyToBeReferenced/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="Specification.CreateReferencePropertyFromVocabulary" label="Reference Property" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.PropertiesList']/@subNodeMappings[name='Specification.DomainSpecification.PropertiesList.Property']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/referenceProperty_icon.png">
<variable name="container">
<subVariables xsi:type="tool_1:AcceleoVariable" name="loadedVocabularies" computationExpression="service:getLoadedVocabularies()"/>
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="propertyToBeReferenced" candidatesExpression="[loadedVocabularies->collect(v | Set{v}->union(v.oclAsType(vocabulary::Vocabulary).properties))->flatten()->asSet()/]" tree="true" rootExpression="[loadedVocabularies->select(v | v.oclAsType(vocabulary::Vocabulary).properties->notEmpty() ) /]" childrenExpression="[self.oclAsType(vocabulary::Vocabulary).properties/]" message="Select the rdf:Property being referenced"/>
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="propertyRange" candidatesExpression="[container.oclAsType(DomainSpecification).eContainer(Specification).domainSpecifications.resources/]" message="Select range of the reference property"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:If" conditionExpression="[propertyToBeReferenced.oclIsTypeOf(Property)/]">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.ResourceProperty" referenceName="resourceProperties">
<subModelOperations xsi:type="tool_1:SetValue" featureName="valueType" valueExpression="[ResourcePropertyValueType::Resource /]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="range" valueExpression="[propertyRange/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[propertyToBeReferenced.name/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="propertyDefinition" valueExpression="[propertyToBeReferenced/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="Specification.CreateLocalReferencePropertyFromVocabulary" label="Local Reference Property" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']/@subContainerMappings[name='Specification.DomainSpecification.PropertiesList']/@subNodeMappings[name='Specification.DomainSpecification.PropertiesList.Property']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/localReferenceProperty_icon.png">
<variable name="container">
<subVariables xsi:type="tool_1:AcceleoVariable" name="loadedVocabularies" computationExpression="service:getLoadedVocabularies()"/>
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="propertyToBeReferenced" candidatesExpression="[loadedVocabularies->collect(v | Set{v}->union(v.oclAsType(vocabulary::Vocabulary).properties))->flatten()->asSet()/]" tree="true" rootExpression="[loadedVocabularies->select(v | v.oclAsType(vocabulary::Vocabulary).properties->notEmpty() ) /]" childrenExpression="[self.oclAsType(vocabulary::Vocabulary).properties/]" message="Select the rdf:Property being referenced"/>
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="propertyRange" candidatesExpression="[container.oclAsType(DomainSpecification).eContainer(Specification).domainSpecifications.resources/]" message="Select range of the reference property"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:If" conditionExpression="[propertyToBeReferenced.oclIsTypeOf(Property)/]">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.ResourceProperty" referenceName="resourceProperties">
<subModelOperations xsi:type="tool_1:SetValue" featureName="valueType" valueExpression="[ResourcePropertyValueType::LocalResource /]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="range" valueExpression="[propertyRange/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="[propertyToBeReferenced.name/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="propertyDefinition" valueExpression="[propertyToBeReferenced/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
</additionalLayers>
</ownedRepresentations>
<ownedRepresentations xsi:type="description_1:DiagramDescription" name="ToolchainDiagram" initialisation="true" domainClass="toolchain.Toolchain">
<diagramInitialisation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[self/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[self.specification.oclIsUndefined()/]">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.Specification" referenceName="specification"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="[self.vocabularies.oclIsUndefined()/]">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="Vocabularies" referenceName="vocabularies"/>
</subModelOperations>
</firstModelOperations>
</diagramInitialisation>
<defaultLayer name="Default">
<edgeMappings name="Toolchain.ManagedResourceToConsumedResource" preconditionExpression="[not (sourceView.eContainer() = targetView.eContainer())/]" sourceMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@containerMappings[name='Toolchain.AdaptorInterface']/@borderedNodeMappings[name='Toolchain.AdaptorInterface.ManagedResource']" targetMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@containerMappings[name='Toolchain.AdaptorInterface']/@borderedNodeMappings[name='Toolchain.AdaptorInterface.ConsumedResource']" targetFinderExpression="[self/]">
<style targetArrow="NoDecoration" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<centerLabelStyleDescription labelSize="9" showIcon="false">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="Toolchain.ManagedResourceToManagedResource" preconditionExpression="[not (sourceView.eContainer() = targetView.eContainer())/]" semanticElements="[self.resourceProperties->select(p : ResourceProperty | Sequence{ResourcePropertyValueType::Resource, ResourcePropertyValueType::LocalResource}->includes(p.valueType))->select(p : ResourceProperty | p.range ->includes(view.targetNode.oclAsType(DNode).target.oclAsType(Resource))) /]" sourceMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@containerMappings[name='Toolchain.AdaptorInterface']/@borderedNodeMappings[name='Toolchain.AdaptorInterface.ManagedResource']" targetMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@containerMappings[name='Toolchain.AdaptorInterface']/@borderedNodeMappings[name='Toolchain.AdaptorInterface.ManagedResource']" targetFinderExpression="[self.resourceProperties->select(p : ResourceProperty | Sequence{ResourcePropertyValueType::Resource, ResourcePropertyValueType::LocalResource}->includes(p.valueType)).range /]">
<style lineStyle="dot" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<centerLabelStyleDescription labelSize="9" showIcon="false" labelExpression="[view.semanticElements.oclAsType(ResourceProperty).name/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<containerMappings name="Toolchain.AdaptorInterface" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Toolchain.DeleteAdaptorInterface']" labelDirectEdit="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Toolchain.EditAdaptorInterfaceName']" semanticCandidatesExpression="feature:adaptorInterfaces" doubleClickDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Toolchain.NavigateInsideAdaptorInterface']" domainClass="adaptorinterface.AdaptorInterface" dropDescriptions="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Toolchain.DropManagedResource']">
<borderedNodeMappings name="Toolchain.AdaptorInterface.ManagedResource" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Toolchain.DeleteManagedResource']" semanticCandidatesExpression="[self.serviceProviderCatalog.serviceProviders.services.creationFactories.resourceTypes->union(self.serviceProviderCatalog.serviceProviders.services.queryCapabilities.resourceTypes)->union(self.serviceProviderCatalog.serviceProviders.services.selectionDialogs.resourceTypes)->union(self.serviceProviderCatalog.serviceProviders.services.creationDialogs.resourceTypes)->union(self.serviceProviderCatalog.serviceProviders.services.basicCapabilities.resourceTypes)/]" domainClass="adaptorinterface.Resource">
<style xsi:type="style:WorkspaceImageDescription" labelSize="9" showIcon="false" sizeComputationExpression="0.1" resizeKind="NSEW" arcWidth="1" arcHeight="1" workspacePath="/org.eclipse.lyo.tools.toolchain.design/images/providedInterface.png">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</borderedNodeMappings>
<borderedNodeMappings name="Toolchain.AdaptorInterface.ConsumedResource" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@toolSections.0/@ownedTools[name='Toolchain.DeleteConsumedResource']" semanticCandidatesExpression="[self.requiredAdaptors.oclAsType(GenericRequiredAdaptor).servicedResources/]" domainClass="adaptorinterface.Resource">
<style xsi:type="style:WorkspaceImageDescription" labelSize="9" showIcon="false" sizeComputationExpression="0.1" resizeKind="NSEW" arcWidth="1" arcHeight="1" workspacePath="/org.eclipse.lyo.tools.toolchain.design/images/requiredInterface.png">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</borderedNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1" labelSize="9" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/IconNewAdaptor.png" widthComputationExpression="15" heightComputationExpression="15">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</containerMappings>
<toolSections name="Operations">
<ownedTools xsi:type="tool:ContainerCreationDescription" name="Toolchain.CreateAdaptorInterface" containerMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@containerMappings[name='Toolchain.AdaptorInterface']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/IconNewAdaptor.png">
<variable name="container">
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="domainSpecification" candidatesExpression="[container.oclAsType(Toolchain).specification.domainSpecifications/]" message="Select the domain that is implemented by the services of this adaptor. (If no domains are available, first define domains in the SpecificationDiagram view)"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.AdaptorInterface" referenceName="adaptorInterfaces" variableName="adaptorInterface">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="['AdaptorInterface' + container.oclAsType(Toolchain).adaptorInterfaces->size() /]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="javaClassBaseNamespace" valueExpression="['your.basepackage.name'/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="javaFilesBasePath" valueExpression="['../' + adaptorInterface.name.toLowerFirst() + '/src/main/java/'/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="jspFilesBasePath" valueExpression="['../' + adaptorInterface.name.toLowerFirst() + '/src/main/webapp/'/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="javascriptFilesBasePath" valueExpression="['../' + adaptorInterface.name.toLowerFirst() + '/src/main/webapp/'/]"/>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.Specification" referenceName="specification"/>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.ServiceProviderCatalog" referenceName="serviceProviderCatalog">
<subModelOperations xsi:type="tool_1:SetValue" featureName="title" valueExpression="['Service Provider Catalog'/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="description" valueExpression="['Service Provider Catalog'/]"/>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.ServiceProvider" referenceName="serviceProviders">
<subModelOperations xsi:type="tool_1:SetValue" featureName="title" valueExpression="['Service Provider'/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="description" valueExpression="['Service Provider'/]"/>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.Service" referenceName="services">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.BasicCapability" referenceName="basicCapabilities"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="domainSpecification" valueExpression="[domainSpecification/]"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.GenericRequiredAdaptor" referenceName="requiredAdaptors">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="['GenericRequiredAdaptor'/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="serviceProviderCatalogURI" valueExpression="['http://your.host.com/adaptor/services/catalog/singleton'/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="Toolchain.AddManagedResource" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@containerMappings[name='Toolchain.AdaptorInterface']/@borderedNodeMappings[name='Toolchain.AdaptorInterface.ManagedResource']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/providedInterface_icon.png">
<variable name="container">
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="managedResource" candidatesExpression="[container.oclAsType(AdaptorInterface).eContainer(Toolchain).specification.domainSpecifications.resources/]" multiple="true" message="Select the Resouce"/>
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="managingServiceCapability" candidatesExpression="[container.oclAsType(AdaptorInterface).serviceProviderCatalog.serviceProviders.services.creationFactories->union(container.oclAsType(AdaptorInterface).serviceProviderCatalog.serviceProviders.services.queryCapabilities)->union(container.oclAsType(AdaptorInterface).serviceProviderCatalog.serviceProviders.services.selectionDialogs)->union(container.oclAsType(AdaptorInterface).serviceProviderCatalog.serviceProviders.services.creationDialogs)->union(container.oclAsType(AdaptorInterface).serviceProviderCatalog.serviceProviders.services.basicCapabilities)/]" message="Select a Service Capability"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[managingServiceCapability/]">
<subModelOperations xsi:type="tool_1:SetValue" featureName="resourceTypes" valueExpression="[managedResource/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:ContainerDropDescription" name="Toolchain.DropManagedResource" forceRefresh="true" mappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@containerMappings[name='Toolchain.AdaptorInterface']/@borderedNodeMappings[name='Toolchain.AdaptorInterface.ManagedResource']" dragSource="BOTH">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer">
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="managingServiceCapability" candidatesExpression="[newSemanticContainer.oclAsType(AdaptorInterface).serviceProviderCatalog.serviceProviders.services.creationFactories->union(newSemanticContainer.oclAsType(AdaptorInterface).serviceProviderCatalog.serviceProviders.services.queryCapabilities)->union(newSemanticContainer.oclAsType(AdaptorInterface).serviceProviderCatalog.serviceProviders.services.selectionDialogs)->union(newSemanticContainer.oclAsType(AdaptorInterface).serviceProviderCatalog.serviceProviders.services.creationDialogs)->union(newSemanticContainer.oclAsType(AdaptorInterface).serviceProviderCatalog.serviceProviders.services.basicCapabilities)/]" message="Select a Service Capability"/>
</newContainer>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[managingServiceCapability/]">
<subModelOperations xsi:type="tool_1:SetValue" featureName="resourceTypes" valueExpression="[element/]"/>
<subModelOperations xsi:type="tool_1:For" expression="[oldSemanticContainer.serviceProviderCatalog.serviceProviders.services.creationFactories->union(oldSemanticContainer.serviceProviderCatalog.serviceProviders.services.queryCapabilities)->union(oldSemanticContainer.serviceProviderCatalog.serviceProviders.services.selectionDialogs)->union(oldSemanticContainer.serviceProviderCatalog.serviceProviders.services.creationDialogs)->union(oldSemanticContainer.serviceProviderCatalog.serviceProviders.services.basicCapabilities)/]" iteratorName="oldCapability">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[oldCapability/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[oldCapability.resourceTypes->includes(element)/]">
<subModelOperations xsi:type="tool_1:Unset" featureName="resourceTypes" elementExpression="[element/]"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="Toolchain.AddConsumedResource" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@containerMappings[name='Toolchain.AdaptorInterface']/@borderedNodeMappings[name='Toolchain.AdaptorInterface.ConsumedResource']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/requiredInterface_icon.png">
<variable name="container">
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="consumedResource" candidatesExpression="[container.oclAsType(AdaptorInterface).eContainer(Toolchain).specification.domainSpecifications.resources/]" multiple="true" message="Select the Resouce"/>
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="requiredAdaptor" candidatesExpression="[container.oclAsType(AdaptorInterface).requiredAdaptors/]" message="Select the RequiredAdaptor"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[requiredAdaptor/]">
<subModelOperations xsi:type="tool_1:SetValue" featureName="servicedResources" valueExpression="[consumedResource/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DirectEditLabel" name="Toolchain.EditAdaptorInterfaceName">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="var:arg0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DoubleClickDescription" name="Toolchain.NavigateInsideAdaptorInterface" mappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='ToolchainDiagram']/@defaultLayer/@containerMappings[name='Toolchain.AdaptorInterface']">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:Navigation" createIfNotExistent="true" diagramDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Toolchain.DeleteManagedResource">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView">
<subVariables xsi:type="tool_1:AcceleoVariable" name="containingAdaptorInterface" computationExpression="[containerView.oclAsType(DNodeContainer).target.oclAsType(AdaptorInterface)/]"/>
</containerView>
<initialOperation>
<firstModelOperations xsi:type="tool_1:For" expression="[containingAdaptorInterface.serviceProviderCatalog.serviceProviders.services.creationFactories->union(containingAdaptorInterface.serviceProviderCatalog.serviceProviders.services.queryCapabilities)->union(containingAdaptorInterface.serviceProviderCatalog.serviceProviders.services.selectionDialogs)->union(containingAdaptorInterface.serviceProviderCatalog.serviceProviders.services.creationDialogs)->union(containingAdaptorInterface.serviceProviderCatalog.serviceProviders.services.basicCapabilities)/]" iteratorName="capability">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[capability/]">
<subModelOperations xsi:type="tool_1:If" conditionExpression="[capability.resourceTypes->includes(element)/]">
<subModelOperations xsi:type="tool_1:Unset" featureName="resourceTypes" elementExpression="[element/]"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Toolchain.DeleteConsumedResource">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView">
<subVariables xsi:type="tool_1:AcceleoVariable" name="containingAdaptorInterface" computationExpression="[containerView.oclAsType(DNodeContainer).target.oclAsType(AdaptorInterface)/]"/>
</containerView>
<initialOperation>
<firstModelOperations xsi:type="tool_1:For" expression="[containingAdaptorInterface.requiredAdaptors.oclAsType(GenericRequiredAdaptor)/]" iteratorName="requiredAdaptor">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="requiredAdaptor">
<subModelOperations xsi:type="tool_1:Unset" featureName="servicedResources" elementExpression="[element/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Toolchain.DeleteAdaptorInterface">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:RemoveElement"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:PopupMenu" name="ToolchainDiagram.AdaptorInterface.Menu" label="OSLC Lyo Designer" precondition="[self.oclIsTypeOf(AdaptorInterface)/]">
<menuItemDescription xsi:type="tool_1:OperationAction" name="ToolchainDiagram.AdaptorInterface.Menu.Generate" label="Generate Java Code" precondition="[self.oclIsTypeOf(AdaptorInterface)/]">
<view name="views"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="service:generateAdaptorInterface()"/>
</initialOperation>
</menuItemDescription>
</ownedTools>
</toolSections>
</defaultLayer>
</ownedRepresentations>
<ownedRepresentations xsi:type="description_1:DiagramDescription" name="AdaptorInterfaceDiagram" domainClass="adaptorinterface.AdaptorInterface">
<defaultLayer name="Default">
<nodeMappings name="AdaptorInterface.ServiceProviderCatalog" semanticCandidatesExpression="feature:serviceProviderCatalog" domainClass="adaptorinterface.ServiceProviderCatalog">
<style xsi:type="style:LozengeNodeDescription" labelSize="9" showIcon="false" labelExpression="feature:title" labelPosition="node" resizeKind="NSEW" widthComputationExpression="12" heightComputationExpression="12">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</nodeMappings>
<nodeMappings name="AdaptorInterface.ServiceProvider" semanticCandidatesExpression="[serviceProviderCatalog.serviceProviders/]" domainClass="adaptorinterface.ServiceProvider">
<style xsi:type="style:SquareDescription" labelSize="9" showIcon="false" labelExpression="feature:title" sizeComputationExpression="10" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</nodeMappings>
<nodeMappings name="AdaptorInterface.Service" semanticCandidatesExpression="[serviceProviderCatalog.serviceProviders.services/]" domainClass="adaptorinterface.Service">
<style xsi:type="style:BundledImageDescription" labelSize="9" showIcon="false" labelExpression="['Service'/]" sizeComputationExpression="8" labelPosition="node" resizeKind="NSEW" shape="ring">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</nodeMappings>
<nodeMappings name="AdaptorInterface.CreationFactory" semanticCandidatesExpression="[serviceProviderCatalog.serviceProviders.services.creationFactories/]" domainClass="adaptorinterface.CreationFactory">
<style xsi:type="style:BundledImageDescription" labelSize="9" showIcon="false" labelExpression="feature:title" sizeComputationExpression="10" labelPosition="node" resizeKind="NSEW" shape="ring">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</nodeMappings>
<nodeMappings name="AdaptorInterface.QueryCapability" semanticCandidatesExpression="[serviceProviderCatalog.serviceProviders.services.queryCapabilities/]" domainClass="adaptorinterface.QueryCapability">
<style xsi:type="style:BundledImageDescription" labelSize="9" showIcon="false" labelExpression="feature:title" sizeComputationExpression="10" labelPosition="node" resizeKind="NSEW" shape="ring">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</nodeMappings>
<nodeMappings name="AdaptorInterface.SelectionDialog" semanticCandidatesExpression="[serviceProviderCatalog.serviceProviders.services.selectionDialogs/]" domainClass="adaptorinterface.Dialog">
<style xsi:type="style:BundledImageDescription" labelSize="9" showIcon="false" labelExpression="feature:title" sizeComputationExpression="10" labelPosition="node" resizeKind="NSEW" shape="ring">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</nodeMappings>
<nodeMappings name="AdaptorInterface.CreationDialog" semanticCandidatesExpression="[serviceProviderCatalog.serviceProviders.services.creationDialogs/]" domainClass="adaptorinterface.Dialog">
<style xsi:type="style:BundledImageDescription" labelSize="9" showIcon="false" labelExpression="feature:title" sizeComputationExpression="10" labelPosition="node" resizeKind="NSEW" shape="ring">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</nodeMappings>
<nodeMappings name="AdaptorInterface.BasicCapability" semanticCandidatesExpression="[serviceProviderCatalog.serviceProviders.services.basicCapabilities/]" domainClass="adaptorinterface.BasicCapability">
<style xsi:type="style:BundledImageDescription" labelSize="9" showIcon="false" labelExpression="['BasicCapability'/]" sizeComputationExpression="10" labelPosition="node" resizeKind="NSEW" shape="ring">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</nodeMappings>
<nodeMappings name="AdaptorInterface.ManagedResource" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@toolSections.0/@ownedTools[name='AdaptorInterface.DeleteManagedResource']" semanticCandidatesExpression="[self.serviceProviderCatalog.serviceProviders.services.creationFactories.resourceTypes->union(self.serviceProviderCatalog.serviceProviders.services.queryCapabilities.resourceTypes)->union(self.serviceProviderCatalog.serviceProviders.services.selectionDialogs.resourceTypes)->union(self.serviceProviderCatalog.serviceProviders.services.creationDialogs.resourceTypes)->union(self.serviceProviderCatalog.serviceProviders.services.basicCapabilities.resourceTypes)/]" domainClass="adaptorinterface.Resource">
<style xsi:type="style:EllipseNodeDescription" labelSize="9" showIcon="false" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/IconResource.png" labelPosition="node" resizeKind="NSEW" horizontalDiameterComputationExpression="10" verticalDiameterComputationExpression="5">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</nodeMappings>
<edgeMappings name="ServiceProviderCatalogToServiceProvider" sourceMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.ServiceProviderCatalog']" targetMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.ServiceProvider']" targetFinderExpression="feature:serviceProviders">
<style sizeComputationExpression="2" endsCentering="Both">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<centerLabelStyleDescription labelSize="9" showIcon="false" labelExpression="['serviceProviders'/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="ServiceProviderToService" sourceMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.ServiceProvider']" targetMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.Service']" targetFinderExpression="feature:services">
<style sizeComputationExpression="2" endsCentering="Both">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<centerLabelStyleDescription labelSize="9" showIcon="false" labelExpression="['services'/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="ServiceToCapability" sourceMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.Service']" targetMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.CreationFactory'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.QueryCapability'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.CreationDialog'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.SelectionDialog'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.BasicCapability']" targetFinderExpression="[self.creationFactories->union(self.queryCapabilities)->union(self.selectionDialogs)->union(self.creationDialogs)->union(self.basicCapabilities) /]">
<style sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<centerLabelStyleDescription labelSize="9" labelExpression="[''/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="ServiceCapabilityToManagedResource" sourceMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.CreationFactory'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.QueryCapability'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.SelectionDialog'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.CreationDialog'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.BasicCapability']" targetMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.ManagedResource']" targetFinderExpression="feature:resourceTypes">
<style sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<centerLabelStyleDescription labelSize="9">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="RequiredAdaptorToConsumedResource" targetFinderExpression="feature:servicedResources">
<style sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<centerLabelStyleDescription labelSize="9">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<containerMappings name="AdaptorInterface.GenericRequiredAdaptor" semanticCandidatesExpression="feature:requiredAdaptors" domainClass="adaptorinterface.GenericRequiredAdaptor">
<subNodeMappings name="AdaptorInterface.GenericRequiredAdaptor.ConsumedResource" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@toolSections.0/@ownedTools[name='AdaptorInterface.DeleteConsumedResource']" semanticCandidatesExpression="[self.servicedResources/]" domainClass="adaptorinterface.Resource">
<style xsi:type="style:EllipseNodeDescription" labelSize="9" showIcon="false" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/IconResource.png" labelPosition="node" resizeKind="NSEW" horizontalDiameterComputationExpression="10" verticalDiameterComputationExpression="5">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</subNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1" labelSize="9">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</containerMappings>
<toolSections name="Tool">
<ownedTools xsi:type="tool:NodeCreationDescription" name="AdaptorInterface.CreateServiceProvider" precondition="[not container.oclIsTypeOf(AdaptorInterface) /]" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.ServiceProvider']" extraMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.ServiceProviderCatalog']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.ServiceProvider" referenceName="serviceProviders">
<subModelOperations xsi:type="tool_1:SetValue" featureName="title" valueExpression="['Service Provider '+container.serviceProviders->size()/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="description" valueExpression="[instance.title/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="AdaptorInterface.CreateService" precondition="[not container.oclIsTypeOf(AdaptorInterface) /]" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.Service']" extraMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.ServiceProvider']">
<variable name="container">
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="domainSpecification" candidatesExpression="[container.oclAsType(ServiceProvider).eContainer(Toolchain).specification.domainSpecifications/]" message="Select the domain that is implemented by this service. (If no domains are available, first define domains in the SpecificationDiagram view)"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.Service" referenceName="services">
<subModelOperations xsi:type="tool_1:SetValue" featureName="domainSpecification" valueExpression="[domainSpecification/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="AdaptorInterface.CreateCreationFactory" precondition="[not container.oclIsTypeOf(AdaptorInterface) /]" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.CreationFactory']" extraMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.Service']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.CreationFactory" referenceName="creationFactories">
<subModelOperations xsi:type="tool_1:SetValue" featureName="title" valueExpression="['CreationFactory'+container.creationFactories->size()/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="[instance.title/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="creationURI" valueExpression="['create'/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="AdaptorInterface.CreateQueryCapability" precondition="[not container.oclIsTypeOf(AdaptorInterface) /]" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.QueryCapability']" extraMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.Service']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.QueryCapability" referenceName="queryCapabilities">
<subModelOperations xsi:type="tool_1:SetValue" featureName="title" valueExpression="['QueryCapability'+container.queryCapabilities->size()/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="[instance.title/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="queryBaseURI" valueExpression="['query'/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="AdaptorInterface.CreateSelectionDialog" precondition="[not container.oclIsTypeOf(AdaptorInterface) /]" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.SelectionDialog']" extraMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.Service']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.Dialog" referenceName="selectionDialogs">
<subModelOperations xsi:type="tool_1:SetValue" featureName="title" valueExpression="['SelectionDialog'+container.selectionDialogs->size()/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="[instance.title/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="dialogURI" valueExpression="['selector'/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="AdaptorInterface.CreateCreationDialog" precondition="[not container.oclIsTypeOf(AdaptorInterface) /]" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.CreationDialog']" extraMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.Service']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.Dialog" referenceName="creationDialogs">
<subModelOperations xsi:type="tool_1:SetValue" featureName="title" valueExpression="['CreationDialog'+container.creationDialogs->size()/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="[instance.title/]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="dialogURI" valueExpression="['creator'/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="AdaptorInterface.CreateBasicCapability" precondition="[not container.oclIsTypeOf(AdaptorInterface) /]" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.BasicCapability']" extraMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.Service']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="adaptorinterface.BasicCapability" referenceName="basicCapabilities">
<subModelOperations xsi:type="tool_1:SetValue" featureName="title" valueExpression="['BasicCapability'+container.basicCapabilities->size()/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="AdaptorInterface.AddManagedResource" precondition="[not container.oclIsTypeOf(AdaptorInterface) /]" forceRefresh="true" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.ManagedResource']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/providedInterface_icon.png" extraMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.CreationFactory'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.QueryCapability'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.SelectionDialog'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.CreationDialog'] //@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@nodeMappings[name='AdaptorInterface.BasicCapability']">
<variable name="container">
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="managedResource" candidatesExpression="[container.eContainer(Toolchain).specification.domainSpecifications.resources/]" childrenExpression="Select the Resouce"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool_1:SetValue" featureName="resourceTypes" valueExpression="[managedResource/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:NodeCreationDescription" name="AdaptorInterface.AddConsumedResource" nodeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='AdaptorInterfaceDiagram']/@defaultLayer/@containerMappings[name='AdaptorInterface.GenericRequiredAdaptor']/@subNodeMappings[name='AdaptorInterface.GenericRequiredAdaptor.ConsumedResource']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/requiredInterface_icon.png">
<variable name="container">
<subVariables xsi:type="tool_1:SelectModelElementVariable" name="consumedResource" candidatesExpression="[container.eContainer(Toolchain).specification.domainSpecifications.resources/]" childrenExpression="Select the Resouce"/>
</variable>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool_1:SetValue" featureName="servicedResources" valueExpression="[consumedResource/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="AdaptorInterface.DeleteManagedResource">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:For" expression="[elementView.oclAsType(DNode).incomingEdges.sourceNode.oclAsType(DNode).target/]" iteratorName="capability">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[capability/]">
<subModelOperations xsi:type="tool_1:Unset" featureName="resourceTypes" elementExpression="[element/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="AdaptorInterface.DeleteConsumedResource">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[containerView.oclAsType(DNodeContainer).target/]">
<subModelOperations xsi:type="tool_1:Unset" featureName="servicedResources" elementExpression="[element/]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
</defaultLayer>
</ownedRepresentations>
<ownedRepresentations xsi:type="description_1:DiagramDescription" dropDescriptions="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Vocabularies.DropVocabulary']" name="VocabularyDiagram" initialisation="true" domainClass="vocabulary.Vocabularies" enablePopupBars="true">
<diagramInitialisation/>
<defaultLayer name="Default">
<edgeMappings name="Vocabularies.Class.SubClassOf" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Vocabularies.DeleteSubClassOf']" sourceMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@containerMappings[name='Vocabularies.Vocabulary']/@subContainerMappings[name='Vocabularies.Vocabulary.Class']" targetMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@containerMappings[name='Vocabularies.Vocabulary']/@subContainerMappings[name='Vocabularies.Vocabulary.Class']" targetFinderExpression="feature:subClassOf">
<style targetArrow="InputClosedArrow" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="rdfs:subClassOf">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="Vocabularies.Property.SubPropertyOf" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Vocabularies.DeleteSubPropertyOf']" sourceMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@containerMappings[name='Vocabularies.Vocabulary']/@subContainerMappings[name='Vocabularies.Vocabulary.Property']" targetMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@containerMappings[name='Vocabularies.Vocabulary']/@subContainerMappings[name='Vocabularies.Vocabulary.Property']" targetFinderExpression="feature:subPropertyOf">
<style targetArrow="InputClosedArrow" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="rdfs:subPropertyOf">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="Vocabularies.Class.Type" label="Vocabularies.Class.Type" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Vocabularies.DeleteType']" sourceMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@containerMappings[name='Vocabularies.Vocabulary']/@subContainerMappings[name='Vocabularies.Vocabulary.Class']" targetMapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@containerMappings[name='Vocabularies.Vocabulary']/@subContainerMappings[name='Vocabularies.Vocabulary.Class']" targetFinderExpression="feature:type">
<style sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="rdf:type">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<containerMappings name="Vocabularies.Vocabulary" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Vocabulary.DeleteVocabulary']" labelDirectEdit="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Vocabularies.EditVocabularyLabel']" createElements="false" domainClass="vocabulary.Vocabulary">
<subContainerMappings name="Vocabularies.Vocabulary.Class" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Vocabulary.DeleteClass']" labelDirectEdit="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Vocabularies.EditClassLabel']" semanticCandidatesExpression="feature:eAllContents" domainClass="vocabulary.Class" childrenPresentation="List">
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelExpression="feature:label" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/IconClass.png" widthComputationExpression="9" heightComputationExpression="9">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</subContainerMappings>
<subContainerMappings name="Vocabularies.Vocabulary.Property" deletionDescription="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Vocabulary.DeleteProperty']" labelDirectEdit="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@toolSections.1/@ownedTools[name='Vocabularies.EditPropertyLabel']" semanticCandidatesExpression="feature:eAllContents" domainClass="vocabulary.Property" childrenPresentation="List">
<subNodeMappings name="Vocabularies.Vocabulary.Property.Domain" semanticCandidatesExpression="feature:domain" domainClass="vocabulary.Class">
<style xsi:type="style:BundledImageDescription" showIcon="false" labelExpression="['rdfs:domain ' + name/]" labelAlignment="LEFT" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</subNodeMappings>
<subNodeMappings name="Vocabularies.Vocabulary.Property.Range" semanticCandidatesExpression="feature:range" domainClass="vocabulary.Class">
<style xsi:type="style:BundledImageDescription" showIcon="false" labelExpression="['rdfs:range ' + name/]" labelAlignment="LEFT" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</subNodeMappings>
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelExpression="feature:label" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/IconProperty.png" widthComputationExpression="9" heightComputationExpression="9">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</subContainerMappings>
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelExpression="[label + ' (' + preferredNamespacePrefix + ')'/]" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/VocabularyIcon.png" widthComputationExpression="40" heightComputationExpression="30">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</containerMappings>
<toolSections name="Vocabularies.CreateVocabulary" label="Create">
<ownedTools xsi:type="tool:ContainerCreationDescription" name="Vocabularies.CreateVocabulary" label="Vocabulary" containerMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@containerMappings[name='Vocabularies.Vocabulary']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/VocabularyIcon.png">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="vocabulary.Vocabulary" referenceName="vocabularies">
<subModelOperations xsi:type="tool_1:SetValue" featureName="preferredNamespacePrefix" valueExpression="['vocab' + container.vocabularies->size() /]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="['Vocabulary' + container.vocabularies->size() /]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="namespaceURI" valueExpression="['http://your.organisation.domain/'+ preferredNamespacePrefix +'#'/]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Operations">
<ownedTools xsi:type="tool:DirectEditLabel" name="Vocabularies.EditVocabularyLabel">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="var:0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DirectEditLabel" name="Vocabularies.EditClassLabel">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="var:0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DirectEditLabel" name="Vocabularies.EditPropertyLabel">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="var:0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:EdgeCreationDescription" name="Vocabularies.CreateSubClassOf" label="rdfs:subClassOf" precondition="aql:preTarget->excludes(preSource) and preTarget.subClassOf->excludes(preSource)" edgeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@edgeMappings[name='Vocabularies.Class.SubClassOf']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:SetValue" featureName="subClassOf" valueExpression="var:target"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:EdgeCreationDescription" name="Vocabularies.CreateSubPropertyOf" label="rdfs:subPropertyOf" precondition="aql:preTarget->excludes(preSource) and preTarget.subPropertyOf->excludes(preSource)" edgeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@edgeMappings[name='Vocabularies.Property.SubPropertyOf']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:SetValue" featureName="subPropertyOf" valueExpression="var:target"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:EdgeCreationDescription" name="Vocabularies.CreateType" label="rdf:type" precondition="aql:preTarget->excludes(preSource) and preTarget.type->excludes(preSource)" edgeMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@edgeMappings[name='Vocabularies.Class.Type']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:source">
<subModelOperations xsi:type="tool_1:SetValue" featureName="type" valueExpression="var:target"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:ContainerDropDescription" name="Vocabularies.DropVocabulary" mappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@containerMappings[name='Vocabularies.Vocabulary']" dragSource="BOTH">
<oldContainer name="oldSemanticContainer"/>
<newContainer name="newSemanticContainer"/>
<element name="element"/>
<newViewContainer name="newContainerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool:CreateView" mapping="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='SpecificationDiagram']/@defaultLayer/@containerMappings[name='Specification.DomainSpecification']" containerViewExpression="var:newContainerView"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Vocabulary.DeleteClass">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:RemoveElement"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Vocabulary.DeleteProperty">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:RemoveElement"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Vocabulary.DeleteVocabulary">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:Let" variableName="deleteFromModel" valueExpression="service:deleteFromModel()">
<subModelOperations xsi:type="tool_1:Switch">
<cases conditionExpression="[deleteFromModel.oclIsUndefined()/]"/>
<cases conditionExpression="[deleteFromModel/]">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</cases>
<cases conditionExpression="[not deleteFromModel/]">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:elementView">
<subModelOperations xsi:type="tool_1:DeleteView"/>
</subModelOperations>
</cases>
<default/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Vocabularies.DeleteSubClassOf">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:Unset" featureName="subClassOf" elementExpression="aql:elementView.targetNode.target"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Vocabularies.DeleteSubPropertyOf">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:Unset" featureName="subPropertyOf" elementExpression="aql:elementView.targetNode.target"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:DeleteElementDescription" name="Vocabularies.DeleteType">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:Unset" featureName="type" elementExpression="aql:elementView.targetNode.target"/>
</initialOperation>
</ownedTools>
</toolSections>
</defaultLayer>
<additionalLayers name="Vocabulary.CreateDefault" label="Default Layer" activeByDefault="true">
<containerMappings documentation="Just an empty container to break the transient nature of this layer (for oxygen)."/>
<toolSections name="Vocabularies.CreateTerms" label="Create">
<ownedTools xsi:type="tool:ContainerCreationDescription" name="Vocabularies.CreateClass" label="Class" containerMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@containerMappings[name='Vocabularies.Vocabulary']/@subContainerMappings[name='Vocabularies.Vocabulary.Class']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/IconClass.png">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:CreateInstance" typeName="vocabulary.Class" referenceName="classes">
<subModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="['Class ' + container.classes->size() /]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="['Class' + container.classes->size() /]"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:ContainerCreationDescription" name="Vocabularies.CreateProperty" label="Property" containerMappings="//@ownedViewpoints[name='ToolchainViewpoint']/@ownedRepresentations[name='VocabularyDiagram']/@defaultLayer/@containerMappings[name='Vocabularies.Vocabulary']/@subContainerMappings[name='Vocabularies.Vocabulary.Property']" iconPath="/org.eclipse.lyo.tools.toolchain.design/images/IconProperty.png">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="vocabulary.Property" referenceName="properties">
<subModelOperations xsi:type="tool_1:SetValue" featureName="label" valueExpression="['Property ' + container.properties->size() /]"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="['Property' + container.properties->size() /]"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
</additionalLayers>
</ownedRepresentations>
<ownedJavaExtensions qualifiedClassName="org::eclipse::lyo::tools::toolchain::design::queries"/>
<ownedJavaExtensions qualifiedClassName="org::eclipse::lyo::tools::toolchain::design::DialogInputServices"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.lyo.tools.toolchain.design.EmfResourcesLoaderService"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.lyo.tools.codegenerator.ui.popupMenus.AcceleoGenerateCodegeneratorAction"/>
<ownedJavaExtensions qualifiedClassName="org.eclipse.lyo.tools.toolchain.design.ConfirmDeletionServices"/>
</ownedViewpoints>
</description:Group>