<div id="maincontent">
<div id="midcolumn">
<h1>Operations</h1>

<p>
The right hand side provides a list of operations which we found useful in our examples. 
These operations are organized in groups. This list is by no means complete.
 We pretty much developed these operations in a demand-driven way. 
 If you have an idea for a new operation, do not hesitate to contact us. 
 In addition, there may still be problems in the operations which are not used very often. 
 Please let us know about problems when applying the operations so that we can fix them.
</p>

<p>
Each of the operations is documented. 
The documentation consists of a description of the operation itself, a description of each of its parameters and a description of each of its constraints. 
This information is also directly available in the operation browser by pressing F1 while selecting one of the elements.
</p>

</div>

<div id="rightcolumn">
<div class="sideitem">
<h6>Contents</h6>
	<ul>
		  <li><a href="org.eclipse.emf.edapt.declaration.creation.StructuralPrimitives.php">Structural Primitives</a></li>
				
				
						
		  <li><a href="org.eclipse.emf.edapt.declaration.simple.NonStructuralPrimitives.php">Non-structural Primitives</a></li>
				
				
						
		  <li><a href="org.eclipse.emf.edapt.declaration.generalization.GeneralizationOperations.php">Generalization / Specialization Operations</a></li>
				
				
						
		  <li><a href="org.eclipse.emf.edapt.declaration.inheritance.InheritanceOperations.php">Inheritance Operations</a></li>
				
				
						
		  <li><a href="org.eclipse.emf.edapt.declaration.delegation.DelegationOperations.php">Delegation Operations</a></li>
				
				
						
		  <li><a href="org.eclipse.emf.edapt.declaration.replacement.ReplacementOperations.php">Replacement Operations</a></li>
				
				
						
		  <li><a href="org.eclipse.emf.edapt.declaration.merge.MergeOperations.php">Merge Operations</a></li>
				
				
						
	</ul>
</div>
</div>

</div>
