/*
* StstoolPackageImpl.java
*
* This file is part of the STS-Tool project.
* Copyright (c) 2011-2012 "University of Trento - DISI" All rights reserved.
*
* Is strictly forbidden to remove this copyright notice from this source code.
*
* Disclaimer of Warranty:
* STS-Tool (this software) is provided "as-is" and without warranty of any kind,
* express, implied or otherwise, including without limitation, any warranty of
* merchantability or fitness for a particular purpose.
* In no event shall the copyright holder or contributors be liable for any direct,
* indirect, incidental, special, exemplary, or consequential damages
* including, but not limited to, procurement of substitute goods or services;
* loss of use, data, or profits; or business interruption) however caused and on
* any theory of liability, whether in contract, strict liability, or tort (including
* negligence or otherwise) arising in any way out of the use of this software, even
* if advised of the possibility of such damage.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License version 3
* as published by the Free Software Foundation with the addition of the
* following permission added to Section 15 as permitted in Section 7(a):
* FOR ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY
* "University of Trento - DISI","University of Trento - DISI" DISCLAIMS THE
* WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
*
* See the GNU Affero General Public License for more details.
* You should have received a copy of the GNU Affero General Public License
* along with this program; if not, see http://www.gnu.org/licenses or write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA, 02110-1301 USA, or download the license from the following URL:
* http://www.sts-tool.eu/License.php
*
* For more information, please contact STS-Tool group at this
* address: ststool@disi.unitn.it
*
*/
/**
* DISI - University of Trento
*
* $Id$
*/
package eu.aniketos.wp1.ststool.impl;
import static eu.aniketos.wp1.ststool.StstoolPackage.RESOURCE;
import java.util.Map;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import eu.aniketos.wp1.ststool.Actor;
import eu.aniketos.wp1.ststool.Agent;
import eu.aniketos.wp1.ststool.Authorisation;
import eu.aniketos.wp1.ststool.BindingOfDuties;
import eu.aniketos.wp1.ststool.CompatibleDuties;
import eu.aniketos.wp1.ststool.Delegation;
import eu.aniketos.wp1.ststool.Dependency;
import eu.aniketos.wp1.ststool.Event;
import eu.aniketos.wp1.ststool.Goal;
import eu.aniketos.wp1.ststool.GoalContribution;
import eu.aniketos.wp1.ststool.GoalDecomposition;
import eu.aniketos.wp1.ststool.GoalDecompositionAND;
import eu.aniketos.wp1.ststool.GoalDecompositionOR;
import eu.aniketos.wp1.ststool.IResource;
import eu.aniketos.wp1.ststool.IncompatibleDuties;
import eu.aniketos.wp1.ststool.Modify;
import eu.aniketos.wp1.ststool.Need;
import eu.aniketos.wp1.ststool.NegativeGoalContribution;
import eu.aniketos.wp1.ststool.NonTransferableAuthorisation;
import eu.aniketos.wp1.ststool.Own;
import eu.aniketos.wp1.ststool.PartOf;
import eu.aniketos.wp1.ststool.Play;
import eu.aniketos.wp1.ststool.PositiveGoalContribution;
import eu.aniketos.wp1.ststool.Produce;
import eu.aniketos.wp1.ststool.Provision;
import eu.aniketos.wp1.ststool.RedundancyType;
import eu.aniketos.wp1.ststool.RepudiationType;
import eu.aniketos.wp1.ststool.Resource;
import eu.aniketos.wp1.ststool.Role;
import eu.aniketos.wp1.ststool.SeparationOfDuties;
import eu.aniketos.wp1.ststool.StsElement;
import eu.aniketos.wp1.ststool.StsObject;
import eu.aniketos.wp1.ststool.StsRelation;
import eu.aniketos.wp1.ststool.StsToolDiagram;
import eu.aniketos.wp1.ststool.StstoolFactory;
import eu.aniketos.wp1.ststool.StstoolPackage;
import eu.aniketos.wp1.ststool.TResource;
import eu.aniketos.wp1.ststool.TangibleBy;
import eu.aniketos.wp1.ststool.Threat;
import eu.aniketos.wp1.ststool.Threatable;
import eu.aniketos.wp1.ststool.TransferableAuthorisation;
/**
* <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
* @generated
*/
public class StstoolPackageImpl extends EPackageImpl implements StstoolPackage {
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public static final String copyright = "DISI - University of Trento";
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass stsToolDiagramEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass actorEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass delegationEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass provisionEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass agentEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass roleEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass tResourceEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass goalEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass authorisationEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass resourceEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass iResourceEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass stsElementEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass nonTransferableAuthorisationEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass transferableAuthorisationEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass goalContributionEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass goalDecompositionEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass positiveGoalContributionEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass negativeGoalContributionEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass goalDecompositionANDEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass goalDecompositionOREClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass threatableEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass eventEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass ownEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass playEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass tangibleByEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass partOfEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass needEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass produceEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass modifyEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass threatEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass stsRelationEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass stsObjectEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass stringToStringMapEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass incompatibleDutiesEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass separationOfDutiesEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass bindingOfDutiesEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EClass compatibleDutiesEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass dependencyEClass = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EEnum redundancyTypeEEnum = null;
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private EEnum repudiationTypeEEnum = null;
/**
* Creates an instance of the model <b>Package</b>, registered with
* {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>Note: the correct way to create the package is via the static
* factory method {@link #init init()}, which also performs
* initialization of the package, or returns the registered package,
* if one already exists.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see eu.aniketos.wp1.ststool.StstoolPackage#eNS_URI
* @see #init()
* @generated
*/
private StstoolPackageImpl() {
super(eNS_URI, StstoolFactory.eINSTANCE);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private static boolean isInited = false;
/**
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>This method is used to initialize {@link StstoolPackage#eINSTANCE} when that field is accessed.
* Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @see #eNS_URI
* @see #createPackageContents()
* @see #initializePackageContents()
* @generated
*/
public static StstoolPackage init(){
if (isInited) return (StstoolPackage)EPackage.Registry.INSTANCE.getEPackage(StstoolPackage.eNS_URI);
// Obtain or create and register package
StstoolPackageImpl theStstoolPackage = (StstoolPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof StstoolPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new StstoolPackageImpl());
isInited = true;
// Create package meta-data objects
theStstoolPackage.createPackageContents();
// Initialize created meta-data
theStstoolPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theStstoolPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(StstoolPackage.eNS_URI, theStstoolPackage);
return theStstoolPackage;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getStsToolDiagram(){
return stsToolDiagramEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getStsToolDiagram_DiagActors(){
return (EReference)stsToolDiagramEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getStsToolDiagram_DiagIResources(){
return (EReference)stsToolDiagramEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getStsToolDiagram_DiagTResources(){
return (EReference)stsToolDiagramEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getStsToolDiagram_DiagGoals(){
return (EReference)stsToolDiagramEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getStsToolDiagram_DiagEvents(){
return (EReference)stsToolDiagramEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getStsToolDiagram_GraphicalConstraintMap(){
return (EReference)stsToolDiagramEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getActor(){
return actorEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getActor_IncomingDelegations(){
return (EReference)actorEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getActor_OutgoingDelegations(){
return (EReference)actorEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getActor_Goals(){
return (EReference)actorEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getActor_OutgoingProvisions(){
return (EReference)actorEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getActor_IncomingProvisions(){
return (EReference)actorEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getActor_OutgoingAuthorisations(){
return (EReference)actorEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getActor_IncomingAuthorisations(){
return (EReference)actorEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getActor_IResources(){
return (EReference)actorEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getActor_TResources(){
return (EReference)actorEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getDelegation(){
return delegationEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getDelegation_SourceGoal(){
return (EReference)delegationEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getDelegation_TargetGoal(){
return (EReference)delegationEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getDelegation_PreviousDelegation(){
return (EReference)delegationEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getDelegation_NextDelegations(){
return (EReference)delegationEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getDelegation_Target(){
return (EReference)delegationEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getDelegation_Source(){
return (EReference)delegationEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getDelegation_TimesTransferable(){
return (EAttribute)delegationEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getDelegation_PreConditions(){
return (EAttribute)delegationEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getDelegation_PostConditions(){
return (EAttribute)delegationEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getDelegation_ShowSecurityNeeds(){
return (EAttribute)delegationEClass.getEStructuralFeatures().get(9);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getDelegation_RedundancyType(){
return (EAttribute)delegationEClass.getEStructuralFeatures().get(10);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getDelegation_RepudiationType(){
return (EAttribute)delegationEClass.getEStructuralFeatures().get(11);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getDelegation_SecurityNeeds(){
return (EAttribute)delegationEClass.getEStructuralFeatures().get(12);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getDelegation_Availability(){
return (EAttribute)delegationEClass.getEStructuralFeatures().get(13);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getDelegation_AvailabilityValue(){
return (EAttribute)delegationEClass.getEStructuralFeatures().get(14);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getDelegation_Trustworthiness(){
return (EAttribute)delegationEClass.getEStructuralFeatures().get(15);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getDelegation_TrustworthinessValue(){
return (EAttribute)delegationEClass.getEStructuralFeatures().get(16);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getProvision(){
return provisionEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getProvision_PreviousProvision(){
return (EReference)provisionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getProvision_NextProvisions(){
return (EReference)provisionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getProvision_Target(){
return (EReference)provisionEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getProvision_Source(){
return (EReference)provisionEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getProvision_SourceResource(){
return (EReference)provisionEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getProvision_TargetResource(){
return (EReference)provisionEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getProvision_PreConditions(){
return (EAttribute)provisionEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getProvision_PostConditions(){
return (EAttribute)provisionEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getProvision_ShowSecurityNeeds(){
return (EAttribute)provisionEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getProvision_Integrity(){
return (EAttribute)provisionEClass.getEStructuralFeatures().get(9);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getProvision_SecurityNeeds(){
return (EAttribute)provisionEClass.getEStructuralFeatures().get(10);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getProvision_Availability(){
return (EAttribute)provisionEClass.getEStructuralFeatures().get(11);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getProvision_AvailabilityValue(){
return (EAttribute)provisionEClass.getEStructuralFeatures().get(12);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getProvision_Confidentiality() {
return (EAttribute)provisionEClass.getEStructuralFeatures().get(13);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getAgent(){
return agentEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getAgent_PlayedRoles(){
return (EReference)agentEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getAgent_TypeOfOrganisation(){
return (EAttribute)agentEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getAgent_Abilities(){
return (EAttribute)agentEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getAgent_PossessedCertificationsAndAccreditations(){
return (EAttribute)agentEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getAgent_OtherImportantFeatures(){
return (EAttribute)agentEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getRole(){
return roleEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getRole_PlayedBy(){
return (EReference)roleEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getRole_Purpose(){
return (EAttribute)roleEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getRole_Mission(){
return (EAttribute)roleEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRole_DependBy() {
return (EReference)roleEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRole_Dependent() {
return (EReference)roleEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getTResource(){
return tResourceEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getTResource_ProvidedTo(){
return (EReference)tResourceEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getTResource_ProvidedFrom(){
return (EReference)tResourceEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getTResource_ActorOwner(){
return (EReference)tResourceEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getTResource_GoalsModifing(){
return (EReference)tResourceEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getTResource_GoalsProducing(){
return (EReference)tResourceEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getTResource_GoalsNeeding(){
return (EReference)tResourceEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getTResource_IntangibleElements(){
return (EReference)tResourceEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getGoal(){
return goalEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoal_DelegatedTo(){
return (EReference)goalEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoal_DelegatedFrom(){
return (EReference)goalEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoal_Authorisations(){
return (EReference)goalEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoal_ActorOwner(){
return (EReference)goalEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoal_ResourceNeeded(){
return (EReference)goalEClass.getEStructuralFeatures().get(11);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoal_ResourcesProduced(){
return (EReference)goalEClass.getEStructuralFeatures().get(12);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoal_ResourcesModified(){
return (EReference)goalEClass.getEStructuralFeatures().get(13);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoal_OutgoingContributions(){
return (EReference)goalEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoal_IncomingContribution(){
return (EReference)goalEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoal_OutgoingDecompositions(){
return (EReference)goalEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoal_IncomingDecompositions(){
return (EReference)goalEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getGoal_Capability(){
return (EAttribute)goalEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getGoal_PreConditions(){
return (EAttribute)goalEClass.getEStructuralFeatures().get(9);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getGoal_PostConditions(){
return (EAttribute)goalEClass.getEStructuralFeatures().get(10);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getAuthorisation(){
return authorisationEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getAuthorisation_Source(){
return (EReference)authorisationEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getAuthorisation_Target(){
return (EReference)authorisationEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getAuthorisation_Goals(){
return (EReference)authorisationEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getAuthorisation_Resources(){
return (EReference)authorisationEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getAuthorisation_TimesTransferable(){
return (EAttribute)authorisationEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getAuthorisation_Usage(){
return (EAttribute)authorisationEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getAuthorisation_Modification(){
return (EAttribute)authorisationEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getAuthorisation_Produce(){
return (EAttribute)authorisationEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getAuthorisation_Distribution(){
return (EAttribute)authorisationEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getResource(){
return resourceEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getResource_PartsOf(){
return (EReference)resourceEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getResource_SubParts(){
return (EReference)resourceEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getIResource(){
return iResourceEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getIResource_Authorisations(){
return (EReference)iResourceEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getIResource_Owners(){
return (EReference)iResourceEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getIResource_TangibleElements(){
return (EReference)iResourceEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getStsElement(){
return stsElementEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getStsElement_Name(){
return (EAttribute)stsElementEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getNonTransferableAuthorisation(){
return nonTransferableAuthorisationEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getTransferableAuthorisation(){
return transferableAuthorisationEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getGoalContribution(){
return goalContributionEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoalContribution_Source(){
return (EReference)goalContributionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoalContribution_Target(){
return (EReference)goalContributionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getGoalDecomposition(){
return goalDecompositionEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoalDecomposition_Source(){
return (EReference)goalDecompositionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getGoalDecomposition_Target(){
return (EReference)goalDecompositionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getPositiveGoalContribution(){
return positiveGoalContributionEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getNegativeGoalContribution(){
return negativeGoalContributionEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getGoalDecompositionAND(){
return goalDecompositionANDEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getGoalDecompositionOR(){
return goalDecompositionOREClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getThreatable(){
return threatableEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getThreatable_ThreatedElements(){
return (EReference)threatableEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getEvent(){
return eventEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getEvent_ThreatedElements(){
return (EReference)eventEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getEvent_EventID() {
return (EAttribute)eventEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getEvent_Countermeasures(){
return (EAttribute)eventEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getOwn(){
return ownEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getOwn_Source(){
return (EReference)ownEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getOwn_Target(){
return (EReference)ownEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getPlay(){
return playEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getPlay_Source(){
return (EReference)playEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getPlay_Target(){
return (EReference)playEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getTangibleBy(){
return tangibleByEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getTangibleBy_Source(){
return (EReference)tangibleByEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getTangibleBy_Target(){
return (EReference)tangibleByEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getPartOf(){
return partOfEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getPartOf_Target(){
return (EReference)partOfEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getPartOf_Source(){
return (EReference)partOfEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getNeed(){
return needEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getNeed_Source(){
return (EReference)needEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getNeed_Target(){
return (EReference)needEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getProduce(){
return produceEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getProduce_Source(){
return (EReference)produceEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getProduce_Target(){
return (EReference)produceEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getModify(){
return modifyEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getModify_Source(){
return (EReference)modifyEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getModify_Target(){
return (EReference)modifyEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getThreat(){
return threatEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getThreat_Target(){
return (EReference)threatEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getThreat_Source(){
return (EReference)threatEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getStsRelation(){
return stsRelationEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getStsObject(){
return stsObjectEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getStsObject_StsUniqueID(){
return (EAttribute)stsObjectEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getStsObject_Description(){
return (EAttribute)stsObjectEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getStringToStringMap(){
return stringToStringMapEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getStringToStringMap_Key(){
return (EAttribute)stringToStringMapEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EAttribute getStringToStringMap_Value(){
return (EAttribute)stringToStringMapEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getIncompatibleDuties(){
return incompatibleDutiesEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getIncompatibleDuties_Source(){
return (EReference)incompatibleDutiesEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getIncompatibleDuties_Target(){
return (EReference)incompatibleDutiesEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getSeparationOfDuties(){
return separationOfDutiesEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getSeparationOfDuties_IncompatibleDutiesOut(){
return (EReference)separationOfDutiesEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getSeparationOfDuties_IncompatibleDutiesIn(){
return (EReference)separationOfDutiesEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getBindingOfDuties(){
return bindingOfDutiesEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getBindingOfDuties_CompatibleDutiesOut(){
return (EReference)bindingOfDutiesEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getBindingOfDuties_CompatibleDutiesIn(){
return (EReference)bindingOfDutiesEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EClass getCompatibleDuties(){
return compatibleDutiesEClass;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getCompatibleDuties_Target(){
return (EReference)compatibleDutiesEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EReference getCompatibleDuties_Source(){
return (EReference)compatibleDutiesEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getDependency() {
return dependencyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getDependency_Source() {
return (EReference)dependencyEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getDependency_Target() {
return (EReference)dependencyEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EEnum getRedundancyType(){
return redundancyTypeEEnum;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public EEnum getRepudiationType(){
return repudiationTypeEEnum;
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public StstoolFactory getStstoolFactory(){
return (StstoolFactory)getEFactoryInstance();
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private boolean isCreated = false;
/**
* Creates the meta-model objects for the package. This method is
* guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public void createPackageContents(){
if (isCreated) return;
isCreated = true;
// Create classes and their features
stsToolDiagramEClass = createEClass(STS_TOOL_DIAGRAM);
createEReference(stsToolDiagramEClass, STS_TOOL_DIAGRAM__DIAG_ACTORS);
createEReference(stsToolDiagramEClass, STS_TOOL_DIAGRAM__DIAG_IRESOURCES);
createEReference(stsToolDiagramEClass, STS_TOOL_DIAGRAM__DIAG_TRESOURCES);
createEReference(stsToolDiagramEClass, STS_TOOL_DIAGRAM__DIAG_GOALS);
createEReference(stsToolDiagramEClass, STS_TOOL_DIAGRAM__DIAG_EVENTS);
createEReference(stsToolDiagramEClass, STS_TOOL_DIAGRAM__GRAPHICAL_CONSTRAINT_MAP);
actorEClass = createEClass(ACTOR);
createEReference(actorEClass, ACTOR__INCOMING_DELEGATIONS);
createEReference(actorEClass, ACTOR__OUTGOING_DELEGATIONS);
createEReference(actorEClass, ACTOR__GOALS);
createEReference(actorEClass, ACTOR__OUTGOING_PROVISIONS);
createEReference(actorEClass, ACTOR__INCOMING_PROVISIONS);
createEReference(actorEClass, ACTOR__OUTGOING_AUTHORISATIONS);
createEReference(actorEClass, ACTOR__INCOMING_AUTHORISATIONS);
createEReference(actorEClass, ACTOR__TRESOURCES);
createEReference(actorEClass, ACTOR__IRESOURCES);
delegationEClass = createEClass(DELEGATION);
createEReference(delegationEClass, DELEGATION__SOURCE_GOAL);
createEReference(delegationEClass, DELEGATION__TARGET_GOAL);
createEReference(delegationEClass, DELEGATION__PREVIOUS_DELEGATION);
createEReference(delegationEClass, DELEGATION__NEXT_DELEGATIONS);
createEReference(delegationEClass, DELEGATION__TARGET);
createEReference(delegationEClass, DELEGATION__SOURCE);
createEAttribute(delegationEClass, DELEGATION__TIMES_TRANSFERABLE);
createEAttribute(delegationEClass, DELEGATION__PRE_CONDITIONS);
createEAttribute(delegationEClass, DELEGATION__POST_CONDITIONS);
createEAttribute(delegationEClass, DELEGATION__SHOW_SECURITY_NEEDS);
createEAttribute(delegationEClass, DELEGATION__REDUNDANCY_TYPE);
createEAttribute(delegationEClass, DELEGATION__REPUDIATION_TYPE);
createEAttribute(delegationEClass, DELEGATION__SECURITY_NEEDS);
createEAttribute(delegationEClass, DELEGATION__AVAILABILITY);
createEAttribute(delegationEClass, DELEGATION__AVAILABILITY_VALUE);
createEAttribute(delegationEClass, DELEGATION__TRUSTWORTHINESS);
createEAttribute(delegationEClass, DELEGATION__TRUSTWORTHINESS_VALUE);
provisionEClass = createEClass(PROVISION);
createEReference(provisionEClass, PROVISION__PREVIOUS_PROVISION);
createEReference(provisionEClass, PROVISION__NEXT_PROVISIONS);
createEReference(provisionEClass, PROVISION__TARGET);
createEReference(provisionEClass, PROVISION__SOURCE);
createEReference(provisionEClass, PROVISION__SOURCE_RESOURCE);
createEReference(provisionEClass, PROVISION__TARGET_RESOURCE);
createEAttribute(provisionEClass, PROVISION__PRE_CONDITIONS);
createEAttribute(provisionEClass, PROVISION__POST_CONDITIONS);
createEAttribute(provisionEClass, PROVISION__SHOW_SECURITY_NEEDS);
createEAttribute(provisionEClass, PROVISION__INTEGRITY);
createEAttribute(provisionEClass, PROVISION__SECURITY_NEEDS);
createEAttribute(provisionEClass, PROVISION__AVAILABILITY);
createEAttribute(provisionEClass, PROVISION__AVAILABILITY_VALUE);
createEAttribute(provisionEClass, PROVISION__CONFIDENTIALITY);
agentEClass = createEClass(AGENT);
createEReference(agentEClass, AGENT__PLAYED_ROLES);
createEAttribute(agentEClass, AGENT__TYPE_OF_ORGANISATION);
createEAttribute(agentEClass, AGENT__ABILITIES);
createEAttribute(agentEClass, AGENT__POSSESSED_CERTIFICATIONS_AND_ACCREDITATIONS);
createEAttribute(agentEClass, AGENT__OTHER_IMPORTANT_FEATURES);
roleEClass = createEClass(ROLE);
createEReference(roleEClass, ROLE__PLAYED_BY);
createEAttribute(roleEClass, ROLE__PURPOSE);
createEAttribute(roleEClass, ROLE__MISSION);
createEReference(roleEClass, ROLE__DEPEND_BY);
createEReference(roleEClass, ROLE__DEPENDENT);
tResourceEClass = createEClass(TRESOURCE);
createEReference(tResourceEClass, TRESOURCE__PROVIDED_TO);
createEReference(tResourceEClass, TRESOURCE__PROVIDED_FROM);
createEReference(tResourceEClass, TRESOURCE__ACTOR_OWNER);
createEReference(tResourceEClass, TRESOURCE__INTANGIBLE_ELEMENTS);
createEReference(tResourceEClass, TRESOURCE__GOALS_NEEDING);
createEReference(tResourceEClass, TRESOURCE__GOALS_PRODUCING);
createEReference(tResourceEClass, TRESOURCE__GOALS_MODIFING);
goalEClass = createEClass(GOAL);
createEReference(goalEClass, GOAL__DELEGATED_TO);
createEReference(goalEClass, GOAL__DELEGATED_FROM);
createEReference(goalEClass, GOAL__AUTHORISATIONS);
createEReference(goalEClass, GOAL__ACTOR_OWNER);
createEReference(goalEClass, GOAL__OUTGOING_CONTRIBUTIONS);
createEReference(goalEClass, GOAL__INCOMING_CONTRIBUTION);
createEReference(goalEClass, GOAL__OUTGOING_DECOMPOSITIONS);
createEReference(goalEClass, GOAL__INCOMING_DECOMPOSITIONS);
createEAttribute(goalEClass, GOAL__CAPABILITY);
createEAttribute(goalEClass, GOAL__PRE_CONDITIONS);
createEAttribute(goalEClass, GOAL__POST_CONDITIONS);
createEReference(goalEClass, GOAL__RESOURCE_NEEDED);
createEReference(goalEClass, GOAL__RESOURCES_PRODUCED);
createEReference(goalEClass, GOAL__RESOURCES_MODIFIED);
authorisationEClass = createEClass(AUTHORISATION);
createEReference(authorisationEClass, AUTHORISATION__SOURCE);
createEReference(authorisationEClass, AUTHORISATION__TARGET);
createEReference(authorisationEClass, AUTHORISATION__GOALS);
createEReference(authorisationEClass, AUTHORISATION__RESOURCES);
createEAttribute(authorisationEClass, AUTHORISATION__TIMES_TRANSFERABLE);
createEAttribute(authorisationEClass, AUTHORISATION__USAGE);
createEAttribute(authorisationEClass, AUTHORISATION__MODIFICATION);
createEAttribute(authorisationEClass, AUTHORISATION__PRODUCE);
createEAttribute(authorisationEClass, AUTHORISATION__DISTRIBUTION);
resourceEClass = createEClass(RESOURCE);
createEReference(resourceEClass, RESOURCE__PARTS_OF);
createEReference(resourceEClass, RESOURCE__SUB_PARTS);
iResourceEClass = createEClass(IRESOURCE);
createEReference(iResourceEClass, IRESOURCE__AUTHORISATIONS);
createEReference(iResourceEClass, IRESOURCE__OWNERS);
createEReference(iResourceEClass, IRESOURCE__TANGIBLE_ELEMENTS);
stsElementEClass = createEClass(STS_ELEMENT);
createEAttribute(stsElementEClass, STS_ELEMENT__NAME);
nonTransferableAuthorisationEClass = createEClass(NON_TRANSFERABLE_AUTHORISATION);
transferableAuthorisationEClass = createEClass(TRANSFERABLE_AUTHORISATION);
goalContributionEClass = createEClass(GOAL_CONTRIBUTION);
createEReference(goalContributionEClass, GOAL_CONTRIBUTION__SOURCE);
createEReference(goalContributionEClass, GOAL_CONTRIBUTION__TARGET);
goalDecompositionEClass = createEClass(GOAL_DECOMPOSITION);
createEReference(goalDecompositionEClass, GOAL_DECOMPOSITION__SOURCE);
createEReference(goalDecompositionEClass, GOAL_DECOMPOSITION__TARGET);
positiveGoalContributionEClass = createEClass(POSITIVE_GOAL_CONTRIBUTION);
negativeGoalContributionEClass = createEClass(NEGATIVE_GOAL_CONTRIBUTION);
goalDecompositionANDEClass = createEClass(GOAL_DECOMPOSITION_AND);
goalDecompositionOREClass = createEClass(GOAL_DECOMPOSITION_OR);
threatableEClass = createEClass(THREATABLE);
createEReference(threatableEClass, THREATABLE__THREATED_ELEMENTS);
eventEClass = createEClass(EVENT);
createEAttribute(eventEClass, EVENT__COUNTERMEASURES);
createEReference(eventEClass, EVENT__THREATED_ELEMENTS);
createEAttribute(eventEClass, EVENT__EVENT_ID);
ownEClass = createEClass(OWN);
createEReference(ownEClass, OWN__SOURCE);
createEReference(ownEClass, OWN__TARGET);
playEClass = createEClass(PLAY);
createEReference(playEClass, PLAY__SOURCE);
createEReference(playEClass, PLAY__TARGET);
tangibleByEClass = createEClass(TANGIBLE_BY);
createEReference(tangibleByEClass, TANGIBLE_BY__SOURCE);
createEReference(tangibleByEClass, TANGIBLE_BY__TARGET);
partOfEClass = createEClass(PART_OF);
createEReference(partOfEClass, PART_OF__TARGET);
createEReference(partOfEClass, PART_OF__SOURCE);
needEClass = createEClass(NEED);
createEReference(needEClass, NEED__SOURCE);
createEReference(needEClass, NEED__TARGET);
produceEClass = createEClass(PRODUCE);
createEReference(produceEClass, PRODUCE__SOURCE);
createEReference(produceEClass, PRODUCE__TARGET);
modifyEClass = createEClass(MODIFY);
createEReference(modifyEClass, MODIFY__SOURCE);
createEReference(modifyEClass, MODIFY__TARGET);
threatEClass = createEClass(THREAT);
createEReference(threatEClass, THREAT__TARGET);
createEReference(threatEClass, THREAT__SOURCE);
stsRelationEClass = createEClass(STS_RELATION);
stsObjectEClass = createEClass(STS_OBJECT);
createEAttribute(stsObjectEClass, STS_OBJECT__STS_UNIQUE_ID);
createEAttribute(stsObjectEClass, STS_OBJECT__DESCRIPTION);
stringToStringMapEClass = createEClass(STRING_TO_STRING_MAP);
createEAttribute(stringToStringMapEClass, STRING_TO_STRING_MAP__KEY);
createEAttribute(stringToStringMapEClass, STRING_TO_STRING_MAP__VALUE);
incompatibleDutiesEClass = createEClass(INCOMPATIBLE_DUTIES);
createEReference(incompatibleDutiesEClass, INCOMPATIBLE_DUTIES__SOURCE);
createEReference(incompatibleDutiesEClass, INCOMPATIBLE_DUTIES__TARGET);
separationOfDutiesEClass = createEClass(SEPARATION_OF_DUTIES);
createEReference(separationOfDutiesEClass, SEPARATION_OF_DUTIES__INCOMPATIBLE_DUTIES_OUT);
createEReference(separationOfDutiesEClass, SEPARATION_OF_DUTIES__INCOMPATIBLE_DUTIES_IN);
bindingOfDutiesEClass = createEClass(BINDING_OF_DUTIES);
createEReference(bindingOfDutiesEClass, BINDING_OF_DUTIES__COMPATIBLE_DUTIES_OUT);
createEReference(bindingOfDutiesEClass, BINDING_OF_DUTIES__COMPATIBLE_DUTIES_IN);
compatibleDutiesEClass = createEClass(COMPATIBLE_DUTIES);
createEReference(compatibleDutiesEClass, COMPATIBLE_DUTIES__TARGET);
createEReference(compatibleDutiesEClass, COMPATIBLE_DUTIES__SOURCE);
dependencyEClass = createEClass(DEPENDENCY);
createEReference(dependencyEClass, DEPENDENCY__SOURCE);
createEReference(dependencyEClass, DEPENDENCY__TARGET);
// Create enums
redundancyTypeEEnum = createEEnum(REDUNDANCY_TYPE);
repudiationTypeEEnum = createEEnum(REPUDIATION_TYPE);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
private boolean isInitialized = false;
/**
* Complete the initialization of the package and its meta-model. This
* method is guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
public void initializePackageContents(){
if (isInitialized) return;
isInitialized = true;
// Initialize package
setName(eNAME);
setNsPrefix(eNS_PREFIX);
setNsURI(eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
actorEClass.getESuperTypes().add(this.getStsElement());
actorEClass.getESuperTypes().add(this.getThreatable());
delegationEClass.getESuperTypes().add(this.getStsRelation());
delegationEClass.getESuperTypes().add(this.getThreatable());
provisionEClass.getESuperTypes().add(this.getStsRelation());
agentEClass.getESuperTypes().add(this.getActor());
roleEClass.getESuperTypes().add(this.getActor());
roleEClass.getESuperTypes().add(this.getSeparationOfDuties());
roleEClass.getESuperTypes().add(this.getBindingOfDuties());
tResourceEClass.getESuperTypes().add(this.getResource());
tResourceEClass.getESuperTypes().add(this.getThreatable());
goalEClass.getESuperTypes().add(this.getStsElement());
goalEClass.getESuperTypes().add(this.getThreatable());
goalEClass.getESuperTypes().add(this.getSeparationOfDuties());
goalEClass.getESuperTypes().add(this.getBindingOfDuties());
authorisationEClass.getESuperTypes().add(this.getStsRelation());
resourceEClass.getESuperTypes().add(this.getStsElement());
iResourceEClass.getESuperTypes().add(this.getResource());
stsElementEClass.getESuperTypes().add(this.getStsObject());
nonTransferableAuthorisationEClass.getESuperTypes().add(this.getAuthorisation());
transferableAuthorisationEClass.getESuperTypes().add(this.getAuthorisation());
goalContributionEClass.getESuperTypes().add(this.getStsRelation());
goalDecompositionEClass.getESuperTypes().add(this.getStsRelation());
positiveGoalContributionEClass.getESuperTypes().add(this.getGoalContribution());
negativeGoalContributionEClass.getESuperTypes().add(this.getGoalContribution());
goalDecompositionANDEClass.getESuperTypes().add(this.getGoalDecomposition());
goalDecompositionOREClass.getESuperTypes().add(this.getGoalDecomposition());
eventEClass.getESuperTypes().add(this.getStsElement());
ownEClass.getESuperTypes().add(this.getStsRelation());
playEClass.getESuperTypes().add(this.getStsRelation());
tangibleByEClass.getESuperTypes().add(this.getStsRelation());
partOfEClass.getESuperTypes().add(this.getStsRelation());
needEClass.getESuperTypes().add(this.getStsRelation());
produceEClass.getESuperTypes().add(this.getStsRelation());
modifyEClass.getESuperTypes().add(this.getStsRelation());
threatEClass.getESuperTypes().add(this.getStsRelation());
stsRelationEClass.getESuperTypes().add(this.getStsObject());
incompatibleDutiesEClass.getESuperTypes().add(this.getStsRelation());
compatibleDutiesEClass.getESuperTypes().add(this.getStsRelation());
// Initialize classes and features; add operations and parameters
initEClass(stsToolDiagramEClass, StsToolDiagram.class, "StsToolDiagram", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getStsToolDiagram_DiagActors(), this.getActor(), null, "diagActors", null, 0, -1, StsToolDiagram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getStsToolDiagram_DiagIResources(), this.getIResource(), null, "diagIResources", null, 0, -1, StsToolDiagram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getStsToolDiagram_DiagTResources(), this.getTResource(), null, "diagTResources", null, 0, -1, StsToolDiagram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getStsToolDiagram_DiagGoals(), this.getGoal(), null, "diagGoals", null, 0, -1, StsToolDiagram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getStsToolDiagram_DiagEvents(), this.getEvent(), null, "diagEvents", null, 0, -1, StsToolDiagram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getStsToolDiagram_GraphicalConstraintMap(), this.getStringToStringMap(), null, "graphicalConstraintMap", null, 1, -1, StsToolDiagram.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(actorEClass, Actor.class, "Actor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getActor_IncomingDelegations(), this.getDelegation(), this.getDelegation_Target(), "incomingDelegations", null, 0, -1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getActor_OutgoingDelegations(), this.getDelegation(), this.getDelegation_Source(), "outgoingDelegations", null, 0, -1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getActor_Goals(), this.getGoal(), this.getGoal_ActorOwner(), "goals", null, 0, -1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getActor_OutgoingProvisions(), this.getProvision(), this.getProvision_Source(), "outgoingProvisions", null, 0, -1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getActor_IncomingProvisions(), this.getProvision(), this.getProvision_Target(), "incomingProvisions", null, 0, -1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getActor_OutgoingAuthorisations(), this.getAuthorisation(), this.getAuthorisation_Source(), "outgoingAuthorisations", null, 0, -1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getActor_IncomingAuthorisations(), this.getAuthorisation(), this.getAuthorisation_Target(), "incomingAuthorisations", null, 0, -1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getActor_TResources(), this.getTResource(), this.getTResource_ActorOwner(), "tResources", null, 0, -1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getActor_IResources(), this.getOwn(), this.getOwn_Source(), "iResources", null, 0, -1, Actor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
addEOperation(actorEClass, ecorePackage.getEBoolean(), "isDeletable", 0, 1, IS_UNIQUE, IS_ORDERED);
initEClass(delegationEClass, Delegation.class, "Delegation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDelegation_SourceGoal(), this.getGoal(), null, "sourceGoal", null, 1, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getDelegation_TargetGoal(), this.getGoal(), this.getGoal_DelegatedFrom(), "targetGoal", null, 1, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getDelegation_PreviousDelegation(), this.getDelegation(), null, "previousDelegation", null, 0, -1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getDelegation_NextDelegations(), this.getDelegation(), null, "nextDelegations", null, 0, -1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getDelegation_Target(), this.getActor(), this.getActor_IncomingDelegations(), "target", null, 1, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getDelegation_Source(), this.getActor(), this.getActor_OutgoingDelegations(), "source", null, 1, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDelegation_TimesTransferable(), ecorePackage.getEInt(), "timesTransferable", "-1", 0, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDelegation_PreConditions(), ecorePackage.getEString(), "preConditions", null, 0, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDelegation_PostConditions(), ecorePackage.getEString(), "postConditions", null, 0, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDelegation_ShowSecurityNeeds(), ecorePackage.getEBoolean(), "showSecurityNeeds", null, 0, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDelegation_RedundancyType(), this.getRedundancyType(), "redundancyType", "RedundancyType.NO_REDUNDANCY", 0, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDelegation_RepudiationType(), this.getRepudiationType(), "repudiationType", "RepudiationType.NO_REPUDIATION", 0, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDelegation_SecurityNeeds(), ecorePackage.getEString(), "securityNeeds", "", 0, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEAttribute(getDelegation_Availability(), ecorePackage.getEBoolean(), "availability", null, 0, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDelegation_AvailabilityValue(), ecorePackage.getEInt(), "availabilityValue", null, 0, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDelegation_Trustworthiness(), ecorePackage.getEBoolean(), "trustworthiness", null, 0, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getDelegation_TrustworthinessValue(), ecorePackage.getEInt(), "trustworthinessValue", null, 0, 1, Delegation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
addEOperation(delegationEClass, ecorePackage.getEBoolean(), "isDeletable", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(delegationEClass, ecorePackage.getEBoolean(), "canBeTransferred", 0, 1, IS_UNIQUE, IS_ORDERED);
initEClass(provisionEClass, Provision.class, "Provision", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProvision_PreviousProvision(), this.getProvision(), null, "previousProvision", null, 0, -1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getProvision_NextProvisions(), this.getProvision(), null, "nextProvisions", null, 0, -1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getProvision_Target(), this.getActor(), this.getActor_IncomingProvisions(), "target", null, 1, 1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getProvision_Source(), this.getActor(), this.getActor_OutgoingProvisions(), "source", null, 1, 1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getProvision_SourceResource(), this.getTResource(), null, "sourceResource", null, 1, 1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getProvision_TargetResource(), this.getTResource(), this.getTResource_ProvidedFrom(), "targetResource", null, 1, 1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getProvision_PreConditions(), ecorePackage.getEString(), "preConditions", null, 0, 1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getProvision_PostConditions(), ecorePackage.getEString(), "postConditions", null, 0, 1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getProvision_ShowSecurityNeeds(), ecorePackage.getEBoolean(), "showSecurityNeeds", null, 0, 1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getProvision_Integrity(), ecorePackage.getEBoolean(), "integrity", null, 0, 1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getProvision_SecurityNeeds(), ecorePackage.getEString(), "securityNeeds", null, 0, 1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEAttribute(getProvision_Availability(), ecorePackage.getEBoolean(), "availability", null, 0, 1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getProvision_AvailabilityValue(), ecorePackage.getEInt(), "availabilityValue", null, 0, 1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getProvision_Confidentiality(), ecorePackage.getEBoolean(), "confidentiality", null, 0, 1, Provision.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
addEOperation(provisionEClass, ecorePackage.getEBoolean(), "isDeletable", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(provisionEClass, ecorePackage.getEBoolean(), "canBeTransferred", 0, 1, IS_UNIQUE, IS_ORDERED);
initEClass(agentEClass, Agent.class, "Agent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAgent_PlayedRoles(), this.getPlay(), this.getPlay_Source(), "playedRoles", null, 0, -1, Agent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAgent_TypeOfOrganisation(), ecorePackage.getEString(), "typeOfOrganisation", null, 0, 1, Agent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAgent_Abilities(), ecorePackage.getEString(), "abilities", null, 0, 1, Agent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAgent_PossessedCertificationsAndAccreditations(), ecorePackage.getEString(), "possessedCertificationsAndAccreditations", null, 0, 1, Agent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAgent_OtherImportantFeatures(), ecorePackage.getEString(), "otherImportantFeatures", null, 0, 1, Agent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(roleEClass, Role.class, "Role", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRole_PlayedBy(), this.getPlay(), this.getPlay_Target(), "playedBy", null, 0, -1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRole_Purpose(), ecorePackage.getEString(), "purpose", null, 0, 1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRole_Mission(), ecorePackage.getEString(), "mission", null, 0, 1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRole_DependBy(), this.getDependency(), this.getDependency_Source(), "dependBy", null, 1, -1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRole_Dependent(), this.getDependency(), this.getDependency_Target(), "dependent", null, 0, -1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(tResourceEClass, TResource.class, "TResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getTResource_ProvidedTo(), this.getProvision(), null, "providedTo", null, 0, -1, TResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getTResource_ProvidedFrom(), this.getProvision(), this.getProvision_TargetResource(), "providedFrom", null, 0, -1, TResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getTResource_ActorOwner(), this.getActor(), this.getActor_TResources(), "actorOwner", null, 0, 1, TResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getTResource_IntangibleElements(), this.getTangibleBy(), this.getTangibleBy_Target(), "intangibleElements", null, 0, -1, TResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getTResource_GoalsNeeding(), this.getNeed(), this.getNeed_Target(), "goalsNeeding", null, 0, -1, TResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getTResource_GoalsProducing(), this.getProduce(), this.getProduce_Target(), "goalsProducing", null, 0, -1, TResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getTResource_GoalsModifing(), this.getModify(), this.getModify_Target(), "goalsModifing", null, 0, -1, TResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
addEOperation(tResourceEClass, ecorePackage.getEBoolean(), "isDeletable", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(tResourceEClass, ecorePackage.getEBoolean(), "canBeProvided", 0, 1, IS_UNIQUE, IS_ORDERED);
initEClass(goalEClass, Goal.class, "Goal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getGoal_DelegatedTo(), this.getDelegation(), null, "delegatedTo", null, 0, -1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGoal_DelegatedFrom(), this.getDelegation(), this.getDelegation_TargetGoal(), "delegatedFrom", null, 0, -1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGoal_Authorisations(), this.getAuthorisation(), this.getAuthorisation_Goals(), "authorisations", null, 0, -1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGoal_ActorOwner(), this.getActor(), this.getActor_Goals(), "actorOwner", null, 0, 1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGoal_OutgoingContributions(), this.getGoalContribution(), this.getGoalContribution_Source(), "outgoingContributions", null, 0, -1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGoal_IncomingContribution(), this.getGoalContribution(), this.getGoalContribution_Target(), "incomingContribution", null, 0, -1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGoal_OutgoingDecompositions(), this.getGoalDecomposition(), this.getGoalDecomposition_Source(), "outgoingDecompositions", null, 0, -1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGoal_IncomingDecompositions(), this.getGoalDecomposition(), this.getGoalDecomposition_Target(), "incomingDecompositions", null, 0, 1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getGoal_Capability(), ecorePackage.getEBoolean(), "capability", null, 0, 1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getGoal_PreConditions(), ecorePackage.getEString(), "preConditions", null, 0, 1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getGoal_PostConditions(), ecorePackage.getEString(), "postConditions", null, 0, 1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGoal_ResourceNeeded(), this.getNeed(), this.getNeed_Source(), "resourceNeeded", null, 0, -1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGoal_ResourcesProduced(), this.getProduce(), this.getProduce_Source(), "resourcesProduced", null, 0, -1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGoal_ResourcesModified(), this.getModify(), this.getModify_Source(), "resourcesModified", null, 0, -1, Goal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
addEOperation(goalEClass, ecorePackage.getEBoolean(), "isDeletable", 0, 1, IS_UNIQUE, IS_ORDERED);
addEOperation(goalEClass, ecorePackage.getEBoolean(), "canBeDelegated", 0, 1, IS_UNIQUE, IS_ORDERED);
initEClass(authorisationEClass, Authorisation.class, "Authorisation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAuthorisation_Source(), this.getActor(), this.getActor_OutgoingAuthorisations(), "source", null, 1, 1, Authorisation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getAuthorisation_Target(), this.getActor(), this.getActor_IncomingAuthorisations(), "target", null, 1, 1, Authorisation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getAuthorisation_Goals(), this.getGoal(), this.getGoal_Authorisations(), "goals", null, 0, -1, Authorisation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getAuthorisation_Resources(), this.getIResource(), this.getIResource_Authorisations(), "resources", null, 0, -1, Authorisation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAuthorisation_TimesTransferable(), ecorePackage.getEInt(), "timesTransferable", "-1", 0, 1, Authorisation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAuthorisation_Usage(), ecorePackage.getEBoolean(), "usage", null, 0, 1, Authorisation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAuthorisation_Modification(), ecorePackage.getEBoolean(), "modification", null, 0, 1, Authorisation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAuthorisation_Produce(), ecorePackage.getEBoolean(), "produce", null, 0, 1, Authorisation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getAuthorisation_Distribution(), ecorePackage.getEBoolean(), "distribution", null, 0, 1, Authorisation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getResource_PartsOf(), this.getPartOf(), this.getPartOf_Source(), "partsOf", null, 0, -1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getResource_SubParts(), this.getPartOf(), this.getPartOf_Target(), "subParts", null, 0, -1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(iResourceEClass, IResource.class, "IResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getIResource_Authorisations(), this.getAuthorisation(), this.getAuthorisation_Resources(), "authorisations", null, 0, -1, IResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getIResource_Owners(), this.getOwn(), this.getOwn_Target(), "owners", null, 0, -1, IResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getIResource_TangibleElements(), this.getTangibleBy(), this.getTangibleBy_Source(), "tangibleElements", null, 0, -1, IResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(stsElementEClass, StsElement.class, "StsElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getStsElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, StsElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(nonTransferableAuthorisationEClass, NonTransferableAuthorisation.class, "NonTransferableAuthorisation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(transferableAuthorisationEClass, TransferableAuthorisation.class, "TransferableAuthorisation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(goalContributionEClass, GoalContribution.class, "GoalContribution", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getGoalContribution_Source(), this.getGoal(), this.getGoal_OutgoingContributions(), "source", null, 1, 1, GoalContribution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGoalContribution_Target(), this.getGoal(), this.getGoal_IncomingContribution(), "target", null, 1, 1, GoalContribution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(goalDecompositionEClass, GoalDecomposition.class, "GoalDecomposition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getGoalDecomposition_Source(), this.getGoal(), this.getGoal_OutgoingDecompositions(), "source", null, 0, 1, GoalDecomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGoalDecomposition_Target(), this.getGoal(), this.getGoal_IncomingDecompositions(), "target", null, 0, 1, GoalDecomposition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(positiveGoalContributionEClass, PositiveGoalContribution.class, "PositiveGoalContribution", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(negativeGoalContributionEClass, NegativeGoalContribution.class, "NegativeGoalContribution", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(goalDecompositionANDEClass, GoalDecompositionAND.class, "GoalDecompositionAND", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(goalDecompositionOREClass, GoalDecompositionOR.class, "GoalDecompositionOR", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(threatableEClass, Threatable.class, "Threatable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getThreatable_ThreatedElements(), this.getThreat(), this.getThreat_Target(), "threatedElements", null, 0, -1, Threatable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(eventEClass, Event.class, "Event", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getEvent_Countermeasures(), ecorePackage.getEString(), "countermeasures", null, 0, 1, Event.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getEvent_ThreatedElements(), this.getThreat(), this.getThreat_Source(), "threatedElements", null, 0, -1, Event.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getEvent_EventID(), ecorePackage.getEString(), "eventID", null, 0, 1, Event.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(ownEClass, Own.class, "Own", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getOwn_Source(), this.getActor(), this.getActor_IResources(), "source", null, 1, 1, Own.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getOwn_Target(), this.getIResource(), this.getIResource_Owners(), "target", null, 1, 1, Own.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(playEClass, Play.class, "Play", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPlay_Source(), this.getAgent(), this.getAgent_PlayedRoles(), "source", null, 1, 1, Play.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPlay_Target(), this.getRole(), this.getRole_PlayedBy(), "target", null, 1, 1, Play.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(tangibleByEClass, TangibleBy.class, "TangibleBy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getTangibleBy_Source(), this.getIResource(), this.getIResource_TangibleElements(), "source", null, 1, 1, TangibleBy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getTangibleBy_Target(), this.getTResource(), this.getTResource_IntangibleElements(), "target", null, 1, 1, TangibleBy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(partOfEClass, PartOf.class, "PartOf", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPartOf_Target(), this.getResource(), this.getResource_SubParts(), "target", null, 1, 1, PartOf.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPartOf_Source(), this.getResource(), this.getResource_PartsOf(), "source", null, 1, 1, PartOf.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(needEClass, Need.class, "Need", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getNeed_Source(), this.getGoal(), this.getGoal_ResourceNeeded(), "source", null, 1, 1, Need.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getNeed_Target(), this.getTResource(), this.getTResource_GoalsNeeding(), "target", null, 1, 1, Need.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(produceEClass, Produce.class, "Produce", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProduce_Source(), this.getGoal(), this.getGoal_ResourcesProduced(), "source", null, 1, 1, Produce.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getProduce_Target(), this.getTResource(), this.getTResource_GoalsProducing(), "target", null, 1, 1, Produce.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(modifyEClass, Modify.class, "Modify", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getModify_Source(), this.getGoal(), this.getGoal_ResourcesModified(), "source", null, 1, 1, Modify.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModify_Target(), this.getTResource(), this.getTResource_GoalsModifing(), "target", null, 1, 1, Modify.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(threatEClass, Threat.class, "Threat", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getThreat_Target(), this.getThreatable(), this.getThreatable_ThreatedElements(), "target", null, 1, 1, Threat.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getThreat_Source(), this.getEvent(), this.getEvent_ThreatedElements(), "source", null, 1, 1, Threat.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(stsRelationEClass, StsRelation.class, "StsRelation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(stsObjectEClass, StsObject.class, "StsObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getStsObject_StsUniqueID(), ecorePackage.getEString(), "stsUniqueID", null, 0, 1, StsObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getStsObject_Description(), ecorePackage.getEString(), "description", null, 0, 1, StsObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(stringToStringMapEClass, Map.Entry.class, "StringToStringMap", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getStringToStringMap_Key(), ecorePackage.getEString(), "key", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getStringToStringMap_Value(), ecorePackage.getEString(), "value", null, 0, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(incompatibleDutiesEClass, IncompatibleDuties.class, "IncompatibleDuties", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getIncompatibleDuties_Source(), this.getSeparationOfDuties(), this.getSeparationOfDuties_IncompatibleDutiesOut(), "source", null, 1, 1, IncompatibleDuties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getIncompatibleDuties_Target(), this.getSeparationOfDuties(), this.getSeparationOfDuties_IncompatibleDutiesIn(), "target", null, 1, 1, IncompatibleDuties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(separationOfDutiesEClass, SeparationOfDuties.class, "SeparationOfDuties", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSeparationOfDuties_IncompatibleDutiesOut(), this.getIncompatibleDuties(), this.getIncompatibleDuties_Source(), "incompatibleDutiesOut", null, 0, -1, SeparationOfDuties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getSeparationOfDuties_IncompatibleDutiesIn(), this.getIncompatibleDuties(), this.getIncompatibleDuties_Target(), "incompatibleDutiesIn", null, 0, -1, SeparationOfDuties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(bindingOfDutiesEClass, BindingOfDuties.class, "BindingOfDuties", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBindingOfDuties_CompatibleDutiesOut(), this.getCompatibleDuties(), this.getCompatibleDuties_Source(), "compatibleDutiesOut", null, 1, -1, BindingOfDuties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBindingOfDuties_CompatibleDutiesIn(), this.getCompatibleDuties(), this.getCompatibleDuties_Target(), "compatibleDutiesIn", null, 1, -1, BindingOfDuties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(compatibleDutiesEClass, CompatibleDuties.class, "CompatibleDuties", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getCompatibleDuties_Target(), this.getBindingOfDuties(), this.getBindingOfDuties_CompatibleDutiesIn(), "target", null, 1, 1, CompatibleDuties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getCompatibleDuties_Source(), this.getBindingOfDuties(), this.getBindingOfDuties_CompatibleDutiesOut(), "source", null, 1, 1, CompatibleDuties.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(dependencyEClass, Dependency.class, "Dependency", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDependency_Source(), this.getRole(), this.getRole_DependBy(), "source", null, 1, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getDependency_Target(), this.getRole(), this.getRole_Dependent(), "target", null, 1, 1, Dependency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Initialize enums and add enum literals
initEEnum(redundancyTypeEEnum, RedundancyType.class, "RedundancyType");
addEEnumLiteral(redundancyTypeEEnum, RedundancyType.NO_REDUNDANCY);
addEEnumLiteral(redundancyTypeEEnum, RedundancyType.TRUE_SINGLE);
addEEnumLiteral(redundancyTypeEEnum, RedundancyType.TRUE_MULTI);
addEEnumLiteral(redundancyTypeEEnum, RedundancyType.FALLBACK_SINGLE);
addEEnumLiteral(redundancyTypeEEnum, RedundancyType.FALLBACK_MULTI);
initEEnum(repudiationTypeEEnum, RepudiationType.class, "RepudiationType");
addEEnumLiteral(repudiationTypeEEnum, RepudiationType.NO_REPUDIATION);
addEEnumLiteral(repudiationTypeEEnum, RepudiationType.DELEGATOR_REPUDIATION);
addEEnumLiteral(repudiationTypeEEnum, RepudiationType.DUAL_REPUDIATION);
addEEnumLiteral(repudiationTypeEEnum, RepudiationType.DELEGATEEE_REPUDIATION);
// Create resource
createResource(eNS_URI);
}
} //StstoolPackageImpl