blob: 37ba126f66151e357bb88f20296d8287d351abff [file] [log] [blame]
/**
* Copyright (c) 2018 CEA LIST.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr
* - Initial API and Implementation
*/
package org.eclipse.efm.ecore.formalml.infrastructure.impl;
import org.eclipse.efm.ecore.formalml.FormalmlPackage;
import org.eclipse.efm.ecore.formalml.common.CommonPackage;
import org.eclipse.efm.ecore.formalml.common.impl.CommonPackageImpl;
import org.eclipse.efm.ecore.formalml.datatype.DatatypePackage;
import org.eclipse.efm.ecore.formalml.datatype.impl.DatatypePackageImpl;
import org.eclipse.efm.ecore.formalml.expression.ExpressionPackage;
import org.eclipse.efm.ecore.formalml.expression.impl.ExpressionPackageImpl;
import org.eclipse.efm.ecore.formalml.impl.FormalmlPackageImpl;
import org.eclipse.efm.ecore.formalml.infrastructure.Behavior;
import org.eclipse.efm.ecore.formalml.infrastructure.BehaviorPart;
import org.eclipse.efm.ecore.formalml.infrastructure.Buffer;
import org.eclipse.efm.ecore.formalml.infrastructure.Channel;
import org.eclipse.efm.ecore.formalml.infrastructure.ChannelDirection;
import org.eclipse.efm.ecore.formalml.infrastructure.ComCastKind;
import org.eclipse.efm.ecore.formalml.infrastructure.ComPoint;
import org.eclipse.efm.ecore.formalml.infrastructure.ComProtocol;
import org.eclipse.efm.ecore.formalml.infrastructure.ComProtocolKind;
import org.eclipse.efm.ecore.formalml.infrastructure.CompositePart;
import org.eclipse.efm.ecore.formalml.infrastructure.Connector;
import org.eclipse.efm.ecore.formalml.infrastructure.ConnectorEnd;
import org.eclipse.efm.ecore.formalml.infrastructure.DesignKind;
import org.eclipse.efm.ecore.formalml.infrastructure.Function;
import org.eclipse.efm.ecore.formalml.infrastructure.InfrastructureFactory;
import org.eclipse.efm.ecore.formalml.infrastructure.InfrastructurePackage;
import org.eclipse.efm.ecore.formalml.infrastructure.InstanceMachine;
import org.eclipse.efm.ecore.formalml.infrastructure.Machine;
import org.eclipse.efm.ecore.formalml.infrastructure.ModelOfComputation;
import org.eclipse.efm.ecore.formalml.infrastructure.ModelOfExecution;
import org.eclipse.efm.ecore.formalml.infrastructure.ModelOfInteraction;
import org.eclipse.efm.ecore.formalml.infrastructure.Modifier;
import org.eclipse.efm.ecore.formalml.infrastructure.Parameter;
import org.eclipse.efm.ecore.formalml.infrastructure.ParameterDirectionKind;
import org.eclipse.efm.ecore.formalml.infrastructure.ParameterSet;
import org.eclipse.efm.ecore.formalml.infrastructure.Port;
import org.eclipse.efm.ecore.formalml.infrastructure.Procedure;
import org.eclipse.efm.ecore.formalml.infrastructure.PropertyDefinition;
import org.eclipse.efm.ecore.formalml.infrastructure.PropertyPart;
import org.eclipse.efm.ecore.formalml.infrastructure.Route;
import org.eclipse.efm.ecore.formalml.infrastructure.Routine;
import org.eclipse.efm.ecore.formalml.infrastructure.Signal;
import org.eclipse.efm.ecore.formalml.infrastructure.SlotProperty;
import org.eclipse.efm.ecore.formalml.infrastructure.Variable;
import org.eclipse.efm.ecore.formalml.infrastructure.XliaSystem;
import org.eclipse.efm.ecore.formalml.statemachine.StatemachinePackage;
import org.eclipse.efm.ecore.formalml.statemachine.impl.StatemachinePackageImpl;
import org.eclipse.efm.ecore.formalml.statement.StatementPackage;
import org.eclipse.efm.ecore.formalml.statement.impl.StatementPackageImpl;
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;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class InfrastructurePackageImpl extends EPackageImpl implements InfrastructurePackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass machineEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass propertyPartEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass compositePartEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass behaviorPartEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass xliaSystemEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass modifierEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass propertyDefinitionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass variableEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass bufferEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass portEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass channelEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass signalEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass functionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass procedureEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass routineEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass instanceMachineEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass slotPropertyEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass parameterEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass parameterSetEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass behaviorEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass modelOfComputationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass modelOfExecutionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass modelOfInteractionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass comProtocolEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass routeEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass connectorEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass connectorEndEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass comPointEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum designKindEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum channelDirectionEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum parameterDirectionKindEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum comProtocolKindEEnum = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum comCastKindEEnum = 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 org.eclipse.efm.ecore.formalml.infrastructure.InfrastructurePackage#eNS_URI
* @see #init()
* @generated
*/
private InfrastructurePackageImpl() {
super(eNS_URI, InfrastructureFactory.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 InfrastructurePackage#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 InfrastructurePackage init() {
if (isInited) return (InfrastructurePackage)EPackage.Registry.INSTANCE.getEPackage(InfrastructurePackage.eNS_URI);
// Obtain or create and register package
Object registeredInfrastructurePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
InfrastructurePackageImpl theInfrastructurePackage = registeredInfrastructurePackage instanceof InfrastructurePackageImpl ? (InfrastructurePackageImpl)registeredInfrastructurePackage : new InfrastructurePackageImpl();
isInited = true;
// Obtain or create and register interdependencies
Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(FormalmlPackage.eNS_URI);
FormalmlPackageImpl theFormalmlPackage = (FormalmlPackageImpl)(registeredPackage instanceof FormalmlPackageImpl ? registeredPackage : FormalmlPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI);
CommonPackageImpl theCommonPackage = (CommonPackageImpl)(registeredPackage instanceof CommonPackageImpl ? registeredPackage : CommonPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DatatypePackage.eNS_URI);
DatatypePackageImpl theDatatypePackage = (DatatypePackageImpl)(registeredPackage instanceof DatatypePackageImpl ? registeredPackage : DatatypePackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ExpressionPackage.eNS_URI);
ExpressionPackageImpl theExpressionPackage = (ExpressionPackageImpl)(registeredPackage instanceof ExpressionPackageImpl ? registeredPackage : ExpressionPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(StatementPackage.eNS_URI);
StatementPackageImpl theStatementPackage = (StatementPackageImpl)(registeredPackage instanceof StatementPackageImpl ? registeredPackage : StatementPackage.eINSTANCE);
registeredPackage = EPackage.Registry.INSTANCE.getEPackage(StatemachinePackage.eNS_URI);
StatemachinePackageImpl theStatemachinePackage = (StatemachinePackageImpl)(registeredPackage instanceof StatemachinePackageImpl ? registeredPackage : StatemachinePackage.eINSTANCE);
// Create package meta-data objects
theInfrastructurePackage.createPackageContents();
theFormalmlPackage.createPackageContents();
theCommonPackage.createPackageContents();
theDatatypePackage.createPackageContents();
theExpressionPackage.createPackageContents();
theStatementPackage.createPackageContents();
theStatemachinePackage.createPackageContents();
// Initialize created meta-data
theInfrastructurePackage.initializePackageContents();
theFormalmlPackage.initializePackageContents();
theCommonPackage.initializePackageContents();
theDatatypePackage.initializePackageContents();
theExpressionPackage.initializePackageContents();
theStatementPackage.initializePackageContents();
theStatemachinePackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theInfrastructurePackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(InfrastructurePackage.eNS_URI, theInfrastructurePackage);
return theInfrastructurePackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getMachine() {
return machineEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getMachine_Input_enabled() {
return (EAttribute)machineEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getMachine_Timed() {
return (EAttribute)machineEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getMachine_Dense_timed() {
return (EAttribute)machineEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getMachine_Discrete_timed() {
return (EAttribute)machineEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getMachine_Unsafe() {
return (EAttribute)machineEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getMachine_Design() {
return (EAttribute)machineEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getMachine_Lifeline() {
return (EAttribute)machineEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Typedef() {
return (EReference)machineEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Variable() {
return (EReference)machineEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Channel() {
return (EReference)machineEClass.getEStructuralFeatures().get(9);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Port() {
return (EReference)machineEClass.getEStructuralFeatures().get(10);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Signal() {
return (EReference)machineEClass.getEStructuralFeatures().get(11);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Buffer() {
return (EReference)machineEClass.getEStructuralFeatures().get(12);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Function() {
return (EReference)machineEClass.getEStructuralFeatures().get(13);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Routine() {
return (EReference)machineEClass.getEStructuralFeatures().get(14);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Procedure() {
return (EReference)machineEClass.getEStructuralFeatures().get(15);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Machine() {
return (EReference)machineEClass.getEStructuralFeatures().get(16);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Instance() {
return (EReference)machineEClass.getEStructuralFeatures().get(17);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Behavior() {
return (EReference)machineEClass.getEStructuralFeatures().get(18);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getMachine_Main() {
return (EReference)machineEClass.getEStructuralFeatures().get(19);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getPropertyPart() {
return propertyPartEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPropertyPart_Parameter() {
return (EReference)propertyPartEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPropertyPart_Typedef() {
return (EReference)propertyPartEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPropertyPart_Variable() {
return (EReference)propertyPartEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPropertyPart_Channel() {
return (EReference)propertyPartEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPropertyPart_Port() {
return (EReference)propertyPartEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPropertyPart_Signal() {
return (EReference)propertyPartEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPropertyPart_Buffer() {
return (EReference)propertyPartEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPropertyPart_Function() {
return (EReference)propertyPartEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getCompositePart() {
return compositePartEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getCompositePart_Routine() {
return (EReference)compositePartEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getCompositePart_Procedure() {
return (EReference)compositePartEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getCompositePart_Machine() {
return (EReference)compositePartEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getCompositePart_Instance() {
return (EReference)compositePartEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getCompositePart_Behavior() {
return (EReference)compositePartEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getBehaviorPart() {
return behaviorPartEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getBehaviorPart_Behavior() {
return (EReference)behaviorPartEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getBehaviorPart_Main() {
return (EReference)behaviorPartEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getXliaSystem() {
return xliaSystemEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getModifier() {
return modifierEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getModifier_Static() {
return (EAttribute)modifierEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getModifier_Final() {
return (EAttribute)modifierEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getModifier_Reference() {
return (EAttribute)modifierEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getModifier_Volatile() {
return (EAttribute)modifierEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getModifier_Transient() {
return (EAttribute)modifierEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getModifier_Optional() {
return (EAttribute)modifierEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getPropertyDefinition() {
return propertyDefinitionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPropertyDefinition_Modifier() {
return (EReference)propertyDefinitionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPropertyDefinition_DefaultValue() {
return (EReference)propertyDefinitionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getVariable() {
return variableEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getVariable_Const() {
return (EAttribute)variableEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getVariable_Reference() {
return (EAttribute)variableEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getVariable_Macro() {
return (EAttribute)variableEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getVariable_OnWriteAction() {
return (EReference)variableEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getBuffer() {
return bufferEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getPort() {
return portEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getPort_Direction() {
return (EAttribute)portEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPort_Signal() {
return (EReference)portEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getPort_ParameterSet() {
return (EReference)portEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getChannel() {
return channelEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getChannel_Direction() {
return (EAttribute)channelEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getChannel_Machine() {
return (EReference)channelEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getChannel_Port() {
return (EReference)channelEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getChannel_Signal() {
return (EReference)channelEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getSignal() {
return signalEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getSignal_Direction() {
return (EAttribute)signalEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getSignal_ParameterSet() {
return (EReference)signalEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getFunction() {
return functionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getFunction_ParameterSet() {
return (EReference)functionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getFunction_ResultSet() {
return (EReference)functionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getProcedure() {
return procedureEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getRoutine() {
return routineEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getRoutine_Macro() {
return (EAttribute)routineEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getRoutine_ParameterSet() {
return (EReference)routineEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getRoutine_ResultSet() {
return (EReference)routineEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getRoutine_BodyBlock() {
return (EReference)routineEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getInstanceMachine() {
return instanceMachineEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getInstanceMachine_Modifier() {
return (EReference)instanceMachineEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getInstanceMachine_Model() {
return (EReference)instanceMachineEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getInstanceMachine_Slot() {
return (EReference)instanceMachineEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getSlotProperty() {
return slotPropertyEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getSlotProperty_XliaProperty() {
return (EReference)slotPropertyEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getSlotProperty_Value() {
return (EReference)slotPropertyEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getParameter() {
return parameterEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getParameter_Direction() {
return (EAttribute)parameterEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getParameterSet() {
return parameterSetEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getParameterSet_Parameter() {
return (EReference)parameterSetEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getBehavior() {
return behaviorEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getBehavior_Parameter() {
return (EReference)behaviorEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getBehavior_Computation() {
return (EReference)behaviorEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getBehavior_Execution() {
return (EReference)behaviorEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getBehavior_Interaction() {
return (EReference)behaviorEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getModelOfComputation() {
return modelOfComputationEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getModelOfExecution() {
return modelOfExecutionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getModelOfExecution_CreateRoutine() {
return (EReference)modelOfExecutionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getModelOfExecution_InitRoutine() {
return (EReference)modelOfExecutionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getModelOfExecution_FinalRoutine() {
return (EReference)modelOfExecutionEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getModelOfExecution_EnableRoutine() {
return (EReference)modelOfExecutionEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getModelOfExecution_DisableRoutine() {
return (EReference)modelOfExecutionEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getModelOfExecution_ConcurrencyRoutine() {
return (EReference)modelOfExecutionEClass.getEStructuralFeatures().get(5);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getModelOfExecution_ScheduleRoutine() {
return (EReference)modelOfExecutionEClass.getEStructuralFeatures().get(6);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getModelOfExecution_IrunRoutine() {
return (EReference)modelOfExecutionEClass.getEStructuralFeatures().get(7);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getModelOfExecution_RunRoutine() {
return (EReference)modelOfExecutionEClass.getEStructuralFeatures().get(8);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getModelOfExecution_Routine() {
return (EReference)modelOfExecutionEClass.getEStructuralFeatures().get(9);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getModelOfInteraction() {
return modelOfInteractionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getModelOfInteraction_Routes() {
return (EReference)modelOfInteractionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getModelOfInteraction_Connectors() {
return (EReference)modelOfInteractionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getComProtocol() {
return comProtocolEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getComProtocol_Protocol() {
return (EAttribute)comProtocolEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getComProtocol_Cast() {
return (EAttribute)comProtocolEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getComProtocol_Inner_buffer() {
return (EReference)comProtocolEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getComProtocol_Buffer() {
return (EReference)comProtocolEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getComProtocol_BufferRef() {
return (EReference)comProtocolEClass.getEStructuralFeatures().get(4);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getRoute() {
return routeEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getRoute_Signals() {
return (EReference)routeEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getRoute_Protocol() {
return (EReference)routeEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getConnector() {
return connectorEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getConnector_Protocol() {
return (EReference)connectorEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getConnector_ConnectorEnd() {
return (EReference)connectorEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getConnectorEnd() {
return connectorEndEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EAttribute getConnectorEnd_Direction() {
return (EAttribute)connectorEndEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getConnectorEnd_Protocol() {
return (EReference)connectorEndEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getConnectorEnd_Points() {
return (EReference)connectorEndEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EClass getComPoint() {
return comPointEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getComPoint_Machine() {
return (EReference)comPointEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EReference getComPoint_Port() {
return (EReference)comPointEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EEnum getDesignKind() {
return designKindEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EEnum getChannelDirection() {
return channelDirectionEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EEnum getParameterDirectionKind() {
return parameterDirectionKindEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EEnum getComProtocolKind() {
return comProtocolKindEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EEnum getComCastKind() {
return comCastKindEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public InfrastructureFactory getInfrastructureFactory() {
return (InfrastructureFactory)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
machineEClass = createEClass(MACHINE);
createEAttribute(machineEClass, MACHINE__INPUT_ENABLED);
createEAttribute(machineEClass, MACHINE__TIMED);
createEAttribute(machineEClass, MACHINE__DENSE_TIMED);
createEAttribute(machineEClass, MACHINE__DISCRETE_TIMED);
createEAttribute(machineEClass, MACHINE__UNSAFE);
createEAttribute(machineEClass, MACHINE__DESIGN);
createEAttribute(machineEClass, MACHINE__LIFELINE);
createEReference(machineEClass, MACHINE__TYPEDEF);
createEReference(machineEClass, MACHINE__VARIABLE);
createEReference(machineEClass, MACHINE__CHANNEL);
createEReference(machineEClass, MACHINE__PORT);
createEReference(machineEClass, MACHINE__SIGNAL);
createEReference(machineEClass, MACHINE__BUFFER);
createEReference(machineEClass, MACHINE__FUNCTION);
createEReference(machineEClass, MACHINE__ROUTINE);
createEReference(machineEClass, MACHINE__PROCEDURE);
createEReference(machineEClass, MACHINE__MACHINE);
createEReference(machineEClass, MACHINE__INSTANCE);
createEReference(machineEClass, MACHINE__BEHAVIOR);
createEReference(machineEClass, MACHINE__MAIN);
propertyPartEClass = createEClass(PROPERTY_PART);
createEReference(propertyPartEClass, PROPERTY_PART__PARAMETER);
createEReference(propertyPartEClass, PROPERTY_PART__TYPEDEF);
createEReference(propertyPartEClass, PROPERTY_PART__VARIABLE);
createEReference(propertyPartEClass, PROPERTY_PART__CHANNEL);
createEReference(propertyPartEClass, PROPERTY_PART__PORT);
createEReference(propertyPartEClass, PROPERTY_PART__SIGNAL);
createEReference(propertyPartEClass, PROPERTY_PART__BUFFER);
createEReference(propertyPartEClass, PROPERTY_PART__FUNCTION);
compositePartEClass = createEClass(COMPOSITE_PART);
createEReference(compositePartEClass, COMPOSITE_PART__ROUTINE);
createEReference(compositePartEClass, COMPOSITE_PART__PROCEDURE);
createEReference(compositePartEClass, COMPOSITE_PART__MACHINE);
createEReference(compositePartEClass, COMPOSITE_PART__INSTANCE);
createEReference(compositePartEClass, COMPOSITE_PART__BEHAVIOR);
behaviorPartEClass = createEClass(BEHAVIOR_PART);
createEReference(behaviorPartEClass, BEHAVIOR_PART__BEHAVIOR);
createEReference(behaviorPartEClass, BEHAVIOR_PART__MAIN);
xliaSystemEClass = createEClass(XLIA_SYSTEM);
modifierEClass = createEClass(MODIFIER);
createEAttribute(modifierEClass, MODIFIER__STATIC);
createEAttribute(modifierEClass, MODIFIER__FINAL);
createEAttribute(modifierEClass, MODIFIER__REFERENCE);
createEAttribute(modifierEClass, MODIFIER__VOLATILE);
createEAttribute(modifierEClass, MODIFIER__TRANSIENT);
createEAttribute(modifierEClass, MODIFIER__OPTIONAL);
propertyDefinitionEClass = createEClass(PROPERTY_DEFINITION);
createEReference(propertyDefinitionEClass, PROPERTY_DEFINITION__MODIFIER);
createEReference(propertyDefinitionEClass, PROPERTY_DEFINITION__DEFAULT_VALUE);
variableEClass = createEClass(VARIABLE);
createEAttribute(variableEClass, VARIABLE__CONST);
createEAttribute(variableEClass, VARIABLE__REFERENCE);
createEAttribute(variableEClass, VARIABLE__MACRO);
createEReference(variableEClass, VARIABLE__ON_WRITE_ACTION);
bufferEClass = createEClass(BUFFER);
portEClass = createEClass(PORT);
createEAttribute(portEClass, PORT__DIRECTION);
createEReference(portEClass, PORT__SIGNAL);
createEReference(portEClass, PORT__PARAMETER_SET);
channelEClass = createEClass(CHANNEL);
createEAttribute(channelEClass, CHANNEL__DIRECTION);
createEReference(channelEClass, CHANNEL__MACHINE);
createEReference(channelEClass, CHANNEL__PORT);
createEReference(channelEClass, CHANNEL__SIGNAL);
signalEClass = createEClass(SIGNAL);
createEAttribute(signalEClass, SIGNAL__DIRECTION);
createEReference(signalEClass, SIGNAL__PARAMETER_SET);
functionEClass = createEClass(FUNCTION);
createEReference(functionEClass, FUNCTION__PARAMETER_SET);
createEReference(functionEClass, FUNCTION__RESULT_SET);
procedureEClass = createEClass(PROCEDURE);
routineEClass = createEClass(ROUTINE);
createEAttribute(routineEClass, ROUTINE__MACRO);
createEReference(routineEClass, ROUTINE__PARAMETER_SET);
createEReference(routineEClass, ROUTINE__RESULT_SET);
createEReference(routineEClass, ROUTINE__BODY_BLOCK);
instanceMachineEClass = createEClass(INSTANCE_MACHINE);
createEReference(instanceMachineEClass, INSTANCE_MACHINE__MODIFIER);
createEReference(instanceMachineEClass, INSTANCE_MACHINE__MODEL);
createEReference(instanceMachineEClass, INSTANCE_MACHINE__SLOT);
slotPropertyEClass = createEClass(SLOT_PROPERTY);
createEReference(slotPropertyEClass, SLOT_PROPERTY__XLIA_PROPERTY);
createEReference(slotPropertyEClass, SLOT_PROPERTY__VALUE);
parameterEClass = createEClass(PARAMETER);
createEAttribute(parameterEClass, PARAMETER__DIRECTION);
parameterSetEClass = createEClass(PARAMETER_SET);
createEReference(parameterSetEClass, PARAMETER_SET__PARAMETER);
behaviorEClass = createEClass(BEHAVIOR);
createEReference(behaviorEClass, BEHAVIOR__PARAMETER);
createEReference(behaviorEClass, BEHAVIOR__COMPUTATION);
createEReference(behaviorEClass, BEHAVIOR__EXECUTION);
createEReference(behaviorEClass, BEHAVIOR__INTERACTION);
modelOfComputationEClass = createEClass(MODEL_OF_COMPUTATION);
modelOfExecutionEClass = createEClass(MODEL_OF_EXECUTION);
createEReference(modelOfExecutionEClass, MODEL_OF_EXECUTION__CREATE_ROUTINE);
createEReference(modelOfExecutionEClass, MODEL_OF_EXECUTION__INIT_ROUTINE);
createEReference(modelOfExecutionEClass, MODEL_OF_EXECUTION__FINAL_ROUTINE);
createEReference(modelOfExecutionEClass, MODEL_OF_EXECUTION__ENABLE_ROUTINE);
createEReference(modelOfExecutionEClass, MODEL_OF_EXECUTION__DISABLE_ROUTINE);
createEReference(modelOfExecutionEClass, MODEL_OF_EXECUTION__CONCURRENCY_ROUTINE);
createEReference(modelOfExecutionEClass, MODEL_OF_EXECUTION__SCHEDULE_ROUTINE);
createEReference(modelOfExecutionEClass, MODEL_OF_EXECUTION__IRUN_ROUTINE);
createEReference(modelOfExecutionEClass, MODEL_OF_EXECUTION__RUN_ROUTINE);
createEReference(modelOfExecutionEClass, MODEL_OF_EXECUTION__ROUTINE);
modelOfInteractionEClass = createEClass(MODEL_OF_INTERACTION);
createEReference(modelOfInteractionEClass, MODEL_OF_INTERACTION__ROUTES);
createEReference(modelOfInteractionEClass, MODEL_OF_INTERACTION__CONNECTORS);
comProtocolEClass = createEClass(COM_PROTOCOL);
createEAttribute(comProtocolEClass, COM_PROTOCOL__PROTOCOL);
createEAttribute(comProtocolEClass, COM_PROTOCOL__CAST);
createEReference(comProtocolEClass, COM_PROTOCOL__INNER_BUFFER);
createEReference(comProtocolEClass, COM_PROTOCOL__BUFFER);
createEReference(comProtocolEClass, COM_PROTOCOL__BUFFER_REF);
routeEClass = createEClass(ROUTE);
createEReference(routeEClass, ROUTE__SIGNALS);
createEReference(routeEClass, ROUTE__PROTOCOL);
connectorEClass = createEClass(CONNECTOR);
createEReference(connectorEClass, CONNECTOR__PROTOCOL);
createEReference(connectorEClass, CONNECTOR__CONNECTOR_END);
connectorEndEClass = createEClass(CONNECTOR_END);
createEAttribute(connectorEndEClass, CONNECTOR_END__DIRECTION);
createEReference(connectorEndEClass, CONNECTOR_END__PROTOCOL);
createEReference(connectorEndEClass, CONNECTOR_END__POINTS);
comPointEClass = createEClass(COM_POINT);
createEReference(comPointEClass, COM_POINT__MACHINE);
createEReference(comPointEClass, COM_POINT__PORT);
// Create enums
designKindEEnum = createEEnum(DESIGN_KIND);
channelDirectionEEnum = createEEnum(CHANNEL_DIRECTION);
parameterDirectionKindEEnum = createEEnum(PARAMETER_DIRECTION_KIND);
comProtocolKindEEnum = createEEnum(COM_PROTOCOL_KIND);
comCastKindEEnum = createEEnum(COM_CAST_KIND);
}
/**
* <!-- 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);
// Obtain other dependent packages
CommonPackage theCommonPackage = (CommonPackage)EPackage.Registry.INSTANCE.getEPackage(CommonPackage.eNS_URI);
DatatypePackage theDatatypePackage = (DatatypePackage)EPackage.Registry.INSTANCE.getEPackage(DatatypePackage.eNS_URI);
ExpressionPackage theExpressionPackage = (ExpressionPackage)EPackage.Registry.INSTANCE.getEPackage(ExpressionPackage.eNS_URI);
StatemachinePackage theStatemachinePackage = (StatemachinePackage)EPackage.Registry.INSTANCE.getEPackage(StatemachinePackage.eNS_URI);
StatementPackage theStatementPackage = (StatementPackage)EPackage.Registry.INSTANCE.getEPackage(StatementPackage.eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
machineEClass.getESuperTypes().add(theCommonPackage.getClassifierDefinition());
xliaSystemEClass.getESuperTypes().add(this.getMachine());
propertyDefinitionEClass.getESuperTypes().add(theCommonPackage.getTypedElement());
variableEClass.getESuperTypes().add(this.getPropertyDefinition());
bufferEClass.getESuperTypes().add(this.getPropertyDefinition());
bufferEClass.getESuperTypes().add(this.getComProtocol());
portEClass.getESuperTypes().add(this.getPropertyDefinition());
channelEClass.getESuperTypes().add(this.getPropertyDefinition());
signalEClass.getESuperTypes().add(theCommonPackage.getClassifierDefinition());
functionEClass.getESuperTypes().add(this.getPropertyDefinition());
procedureEClass.getESuperTypes().add(theStatemachinePackage.getStatemachine());
routineEClass.getESuperTypes().add(theCommonPackage.getNamedElement());
instanceMachineEClass.getESuperTypes().add(theCommonPackage.getTypedElement());
parameterEClass.getESuperTypes().add(this.getPropertyDefinition());
behaviorEClass.getESuperTypes().add(this.getMachine());
comProtocolEClass.getESuperTypes().add(theCommonPackage.getAbstractElement());
routeEClass.getESuperTypes().add(theCommonPackage.getNamedElement());
connectorEClass.getESuperTypes().add(theCommonPackage.getNamedElement());
connectorEndEClass.getESuperTypes().add(theCommonPackage.getAbstractElement());
comPointEClass.getESuperTypes().add(theCommonPackage.getAbstractElement());
// Initialize classes, features, and operations; add parameters
initEClass(machineEClass, Machine.class, "Machine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getMachine_Input_enabled(), ecorePackage.getEBoolean(), "input_enabled", "false", 1, 1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getMachine_Timed(), ecorePackage.getEBoolean(), "timed", "false", 1, 1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getMachine_Dense_timed(), ecorePackage.getEBoolean(), "dense_timed", "false", 1, 1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getMachine_Discrete_timed(), ecorePackage.getEBoolean(), "discrete_timed", "false", 1, 1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getMachine_Unsafe(), ecorePackage.getEBoolean(), "unsafe", "false", 1, 1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getMachine_Design(), this.getDesignKind(), "design", "prototype", 1, 1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getMachine_Lifeline(), ecorePackage.getEBoolean(), "lifeline", "false", 1, 1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Typedef(), theDatatypePackage.getDataType(), null, "typedef", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Variable(), this.getVariable(), null, "variable", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Channel(), this.getChannel(), null, "channel", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Port(), this.getPort(), null, "port", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Signal(), this.getSignal(), null, "signal", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Buffer(), this.getBuffer(), null, "buffer", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Function(), this.getFunction(), null, "function", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Routine(), this.getRoutine(), null, "routine", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Procedure(), this.getProcedure(), null, "procedure", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Machine(), this.getMachine(), null, "machine", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Instance(), this.getInstanceMachine(), null, "instance", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Behavior(), this.getBehavior(), null, "behavior", null, 0, -1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getMachine_Main(), this.getBehavior(), null, "main", null, 0, 1, Machine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(propertyPartEClass, PropertyPart.class, "PropertyPart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPropertyPart_Parameter(), this.getParameter(), null, "parameter", null, 0, -1, PropertyPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPropertyPart_Typedef(), theDatatypePackage.getDataType(), null, "typedef", null, 0, -1, PropertyPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPropertyPart_Variable(), this.getVariable(), null, "variable", null, 0, -1, PropertyPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPropertyPart_Channel(), this.getChannel(), null, "channel", null, 0, -1, PropertyPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPropertyPart_Port(), this.getPort(), null, "port", null, 0, -1, PropertyPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPropertyPart_Signal(), this.getSignal(), null, "signal", null, 0, -1, PropertyPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPropertyPart_Buffer(), this.getBuffer(), null, "buffer", null, 0, -1, PropertyPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPropertyPart_Function(), this.getFunction(), null, "function", null, 0, -1, PropertyPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(compositePartEClass, CompositePart.class, "CompositePart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getCompositePart_Routine(), this.getRoutine(), null, "routine", null, 0, -1, CompositePart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getCompositePart_Procedure(), this.getProcedure(), null, "procedure", null, 0, -1, CompositePart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getCompositePart_Machine(), this.getMachine(), null, "machine", null, 0, -1, CompositePart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getCompositePart_Instance(), this.getInstanceMachine(), null, "instance", null, 0, -1, CompositePart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getCompositePart_Behavior(), this.getBehavior(), null, "behavior", null, 0, -1, CompositePart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(behaviorPartEClass, BehaviorPart.class, "BehaviorPart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBehaviorPart_Behavior(), this.getBehavior(), null, "behavior", null, 0, -1, BehaviorPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBehaviorPart_Main(), this.getBehavior(), null, "main", null, 0, 1, BehaviorPart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(xliaSystemEClass, XliaSystem.class, "XliaSystem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(modifierEClass, Modifier.class, "Modifier", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getModifier_Static(), ecorePackage.getEBoolean(), "static", "false", 1, 1, Modifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getModifier_Final(), ecorePackage.getEBoolean(), "final", "false", 1, 1, Modifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getModifier_Reference(), ecorePackage.getEBoolean(), "reference", "false", 1, 1, Modifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getModifier_Volatile(), ecorePackage.getEBoolean(), "volatile", "false", 1, 1, Modifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getModifier_Transient(), ecorePackage.getEBoolean(), "transient", "false", 1, 1, Modifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getModifier_Optional(), ecorePackage.getEBoolean(), "optional", "false", 1, 1, Modifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(propertyDefinitionEClass, PropertyDefinition.class, "PropertyDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPropertyDefinition_Modifier(), this.getModifier(), null, "modifier", null, 0, 1, PropertyDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPropertyDefinition_DefaultValue(), theExpressionPackage.getExpression(), null, "defaultValue", null, 0, 1, PropertyDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(variableEClass, Variable.class, "Variable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getVariable_Const(), ecorePackage.getEBoolean(), "const", null, 1, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getVariable_Reference(), ecorePackage.getEBoolean(), "reference", null, 1, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getVariable_Macro(), ecorePackage.getEBoolean(), "macro", null, 1, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getVariable_OnWriteAction(), this.getRoutine(), null, "onWriteAction", null, 0, 1, Variable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(bufferEClass, Buffer.class, "Buffer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(portEClass, Port.class, "Port", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getPort_Direction(), this.getChannelDirection(), "direction", "inout", 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPort_Signal(), this.getSignal(), null, "signal", null, 0, -1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getPort_ParameterSet(), this.getParameterSet(), null, "parameterSet", null, 0, 1, Port.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(channelEClass, Channel.class, "Channel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getChannel_Direction(), this.getChannelDirection(), "direction", "inout", 0, 1, Channel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getChannel_Machine(), this.getMachine(), null, "machine", null, 0, 1, Channel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getChannel_Port(), this.getPort(), null, "port", null, 0, -1, Channel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getChannel_Signal(), this.getSignal(), null, "signal", null, 0, -1, Channel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(signalEClass, Signal.class, "Signal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getSignal_Direction(), this.getChannelDirection(), "direction", "inout", 0, 1, Signal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getSignal_ParameterSet(), this.getParameterSet(), null, "parameterSet", null, 0, 1, Signal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(functionEClass, Function.class, "Function", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFunction_ParameterSet(), this.getParameterSet(), null, "parameterSet", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getFunction_ResultSet(), this.getParameterSet(), null, "resultSet", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(procedureEClass, Procedure.class, "Procedure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(routineEClass, Routine.class, "Routine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getRoutine_Macro(), ecorePackage.getEBoolean(), "macro", null, 1, 1, Routine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRoutine_ParameterSet(), this.getParameterSet(), null, "parameterSet", null, 0, 1, Routine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRoutine_ResultSet(), this.getParameterSet(), null, "resultSet", null, 0, 1, Routine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRoutine_BodyBlock(), theStatementPackage.getBlockStatement(), null, "bodyBlock", null, 1, 1, Routine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(instanceMachineEClass, InstanceMachine.class, "InstanceMachine", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getInstanceMachine_Modifier(), this.getModifier(), null, "modifier", null, 0, 1, InstanceMachine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getInstanceMachine_Model(), this.getMachine(), null, "model", null, 0, 1, InstanceMachine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getInstanceMachine_Slot(), this.getSlotProperty(), null, "slot", null, 0, -1, InstanceMachine.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(slotPropertyEClass, SlotProperty.class, "SlotProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSlotProperty_XliaProperty(), this.getPropertyDefinition(), null, "xliaProperty", null, 0, 1, SlotProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getSlotProperty_Value(), theExpressionPackage.getExpression(), null, "value", null, 0, 1, SlotProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getParameter_Direction(), this.getParameterDirectionKind(), "direction", "in", 1, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(parameterSetEClass, ParameterSet.class, "ParameterSet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getParameterSet_Parameter(), this.getParameter(), null, "parameter", null, 0, -1, ParameterSet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(behaviorEClass, Behavior.class, "Behavior", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBehavior_Parameter(), this.getParameter(), null, "parameter", null, 0, -1, Behavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBehavior_Computation(), this.getModelOfComputation(), null, "computation", null, 0, 1, Behavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBehavior_Execution(), this.getModelOfExecution(), null, "execution", null, 0, 1, Behavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getBehavior_Interaction(), this.getModelOfInteraction(), null, "interaction", null, 0, 1, Behavior.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(modelOfComputationEClass, ModelOfComputation.class, "ModelOfComputation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(modelOfExecutionEClass, ModelOfExecution.class, "ModelOfExecution", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getModelOfExecution_CreateRoutine(), this.getRoutine(), null, "createRoutine", null, 0, 1, ModelOfExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModelOfExecution_InitRoutine(), this.getRoutine(), null, "initRoutine", null, 0, 1, ModelOfExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModelOfExecution_FinalRoutine(), this.getRoutine(), null, "finalRoutine", null, 0, 1, ModelOfExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModelOfExecution_EnableRoutine(), this.getRoutine(), null, "enableRoutine", null, 0, 1, ModelOfExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModelOfExecution_DisableRoutine(), this.getRoutine(), null, "disableRoutine", null, 0, 1, ModelOfExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModelOfExecution_ConcurrencyRoutine(), this.getRoutine(), null, "concurrencyRoutine", null, 0, 1, ModelOfExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModelOfExecution_ScheduleRoutine(), this.getRoutine(), null, "scheduleRoutine", null, 0, 1, ModelOfExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModelOfExecution_IrunRoutine(), this.getRoutine(), null, "irunRoutine", null, 0, 1, ModelOfExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModelOfExecution_RunRoutine(), this.getRoutine(), null, "runRoutine", null, 0, 1, ModelOfExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModelOfExecution_Routine(), this.getRoutine(), null, "routine", null, 0, -1, ModelOfExecution.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(modelOfInteractionEClass, ModelOfInteraction.class, "ModelOfInteraction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getModelOfInteraction_Routes(), this.getRoute(), null, "routes", null, 0, -1, ModelOfInteraction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getModelOfInteraction_Connectors(), this.getConnector(), null, "connectors", null, 0, -1, ModelOfInteraction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(comProtocolEClass, ComProtocol.class, "ComProtocol", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getComProtocol_Protocol(), this.getComProtocolKind(), "protocol", null, 0, 1, ComProtocol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getComProtocol_Cast(), this.getComCastKind(), "cast", null, 0, 1, ComProtocol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComProtocol_Inner_buffer(), theDatatypePackage.getCollectionType(), null, "inner_buffer", null, 0, 1, ComProtocol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComProtocol_Buffer(), theExpressionPackage.getValueElementSpecification(), null, "buffer", null, 0, 1, ComProtocol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComProtocol_BufferRef(), theExpressionPackage.getLiteralReferenceSpecification(), null, "bufferRef", null, 0, 1, ComProtocol.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(routeEClass, Route.class, "Route", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRoute_Signals(), this.getSignal(), null, "signals", null, 0, -1, Route.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRoute_Protocol(), this.getComProtocol(), null, "protocol", null, 0, 1, Route.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(connectorEClass, Connector.class, "Connector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getConnector_Protocol(), this.getComProtocol(), null, "protocol", null, 0, 1, Connector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getConnector_ConnectorEnd(), this.getConnectorEnd(), null, "connectorEnd", null, 1, -1, Connector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(connectorEndEClass, ConnectorEnd.class, "ConnectorEnd", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getConnectorEnd_Direction(), this.getChannelDirection(), "direction", "inout", 0, 1, ConnectorEnd.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getConnectorEnd_Protocol(), this.getComProtocol(), null, "protocol", null, 0, 1, ConnectorEnd.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getConnectorEnd_Points(), this.getComPoint(), null, "points", null, 1, -1, ConnectorEnd.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(comPointEClass, ComPoint.class, "ComPoint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getComPoint_Machine(), theCommonPackage.getNamedElement(), null, "machine", null, 0, 1, ComPoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComPoint_Port(), this.getPort(), null, "port", null, 0, 1, ComPoint.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(designKindEEnum, DesignKind.class, "DesignKind");
addEEnumLiteral(designKindEEnum, DesignKind.MODEL);
addEEnumLiteral(designKindEEnum, DesignKind.INSTANCE);
addEEnumLiteral(designKindEEnum, DesignKind.PROTOTYPE);
initEEnum(channelDirectionEEnum, ChannelDirection.class, "ChannelDirection");
addEEnumLiteral(channelDirectionEEnum, ChannelDirection.INPUT);
addEEnumLiteral(channelDirectionEEnum, ChannelDirection.INOUT);
addEEnumLiteral(channelDirectionEEnum, ChannelDirection.OUTPUT);
initEEnum(parameterDirectionKindEEnum, ParameterDirectionKind.class, "ParameterDirectionKind");
addEEnumLiteral(parameterDirectionKindEEnum, ParameterDirectionKind.IN);
addEEnumLiteral(parameterDirectionKindEEnum, ParameterDirectionKind.INOUT);
addEEnumLiteral(parameterDirectionKindEEnum, ParameterDirectionKind.OUT);
addEEnumLiteral(parameterDirectionKindEEnum, ParameterDirectionKind.RETURN);
initEEnum(comProtocolKindEEnum, ComProtocolKind.class, "ComProtocolKind");
addEEnumLiteral(comProtocolKindEEnum, ComProtocolKind.NONE);
addEEnumLiteral(comProtocolKindEEnum, ComProtocolKind.ENV);
addEEnumLiteral(comProtocolKindEEnum, ComProtocolKind.BUFFER);
addEEnumLiteral(comProtocolKindEEnum, ComProtocolKind.RDV);
addEEnumLiteral(comProtocolKindEEnum, ComProtocolKind.MULTI_RDV);
initEEnum(comCastKindEEnum, ComCastKind.class, "ComCastKind");
addEEnumLiteral(comCastKindEEnum, ComCastKind.NONE);
addEEnumLiteral(comCastKindEEnum, ComCastKind.UNICAST);
addEEnumLiteral(comCastKindEEnum, ComCastKind.ANYCAST);
addEEnumLiteral(comCastKindEEnum, ComCastKind.MULTICAST);
addEEnumLiteral(comCastKindEEnum, ComCastKind.BROADCAST);
}
} //InfrastructurePackageImpl