blob: 5b15ecf648fd67798b08b3a29d97ffb7b74ccde1 [file] [log] [blame]
/*
* Copyright (c) 2011 CEA and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* CEA - initial API and implementation
*
*/
package org.eclipse.uml2.uml.profile.l2;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.uml2.uml.Abstraction;
import org.eclipse.uml2.uml.ValueSpecification;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Derive</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* Specifies a derivation relationship among model elements that are usually, but not necessarily, of the same type. A derived dependency specifies that the client may be computed from the supplier. The mapping specifies the computation. The client may be implemented for design reasons, such as efficiency, even though it is logically redundant.
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.uml2.uml.profile.l2.Derive#getBase_Abstraction <em>Base Abstraction</em>}</li>
* <li>{@link org.eclipse.uml2.uml.profile.l2.Derive#getComputation <em>Computation</em>}</li>
* </ul>
* </p>
*
* @see org.eclipse.uml2.uml.profile.l2.L2Package#getDerive()
* @model
* @generated
*/
public interface Derive
extends EObject {
/**
* Returns the value of the '<em><b>Base Abstraction</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Base Abstraction</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Base Abstraction</em>' reference.
* @see #setBase_Abstraction(Abstraction)
* @see org.eclipse.uml2.uml.profile.l2.L2Package#getDerive_Base_Abstraction()
* @model required="true" ordered="false"
* @generated
*/
Abstraction getBase_Abstraction();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.profile.l2.Derive#getBase_Abstraction <em>Base Abstraction</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Base Abstraction</em>' reference.
* @see #getBase_Abstraction()
* @generated
*/
void setBase_Abstraction(Abstraction value);
/**
* Returns the value of the '<em><b>Computation</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The specification for computing the derived client element from the derivation supplier element.
* <!-- end-model-doc -->
* @return the value of the '<em>Computation</em>' containment reference.
* @see #setComputation(ValueSpecification)
* @see org.eclipse.uml2.uml.profile.l2.L2Package#getDerive_Computation()
* @model containment="true" resolveProxies="true" required="true" ordered="false"
* @generated
*/
ValueSpecification getComputation();
/**
* Sets the value of the '{@link org.eclipse.uml2.uml.profile.l2.Derive#getComputation <em>Computation</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Computation</em>' containment reference.
* @see #getComputation()
* @generated
*/
void setComputation(ValueSpecification value);
} // Derive