Commit fab71463 authored by Yuanting Liu's avatar Yuanting Liu

Hardware Metamodel for Multicore

date: 01.09.2010
author: Chuanxin Liu
version: 1.0
Copy right owner: fortiss GmbH
parent 338f6c52
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="generated-src"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.fortiss.af3.multicore</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.fortiss.af3.multicore;singleton:=true
Bundle-Version: 1.0.0
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.ui;bundle-version="3.6.0",
edu.tum.cs.ccts.common.architecture;bundle-version="0.3.0"
Bundle-ActivationPolicy: lazy
# <copyright>
# </copyright>
#
# $Id$
bin.includes = .,\
model/,\
META-INF/,\
plugin.xml,\
plugin.properties
jars.compile.order = .
source.. = src/,\
generated-src/
output.. = bin/
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Arbitration Scheme</b></em>'.
* <!-- end-user-doc -->
*
*
* @see multicoreModel.MulticoreModelPackage#getArbitrationScheme()
* @model
* @generated
*/
public interface ArbitrationScheme extends Component {
} // ArbitrationScheme
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Avalon Interface</b></em>'.
* <!-- end-user-doc -->
*
*
* @see multicoreModel.MulticoreModelPackage#getAvalonInterface()
* @model
* @generated
*/
public interface AvalonInterface extends Interface {
} // AvalonInterface
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Avalon Master Interface</b></em>'.
* <!-- end-user-doc -->
*
*
* @see multicoreModel.MulticoreModelPackage#getAvalonMasterInterface()
* @model
* @generated
*/
public interface AvalonMasterInterface extends AvalonInterface {
} // AvalonMasterInterface
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Avalon Port</b></em>'.
* <!-- end-user-doc -->
*
*
* @see multicoreModel.MulticoreModelPackage#getAvalonPort()
* @model
* @generated
*/
public interface AvalonPort extends Port {
} // AvalonPort
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Avalon Slave Interface</b></em>'.
* <!-- end-user-doc -->
*
*
* @see multicoreModel.MulticoreModelPackage#getAvalonSlaveInterface()
* @model
* @generated
*/
public interface AvalonSlaveInterface extends AvalonInterface {
} // AvalonSlaveInterface
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Avalon Slave Port</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link multicoreModel.AvalonSlavePort#getConnectedTo <em>Connected To</em>}</li>
* </ul>
* </p>
*
* @see multicoreModel.MulticoreModelPackage#getAvalonSlavePort()
* @model
* @generated
*/
public interface AvalonSlavePort extends AvalonPort {
/**
* Returns the value of the '<em><b>Connected To</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Connected To</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Connected To</em>' reference.
* @see #setConnectedTo(AvalonSlaveInterface)
* @see multicoreModel.MulticoreModelPackage#getAvalonSlavePort_ConnectedTo()
* @model required="true"
* @generated
*/
AvalonSlaveInterface getConnectedTo();
/**
* Sets the value of the '{@link multicoreModel.AvalonSlavePort#getConnectedTo <em>Connected To</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Connected To</em>' reference.
* @see #getConnectedTo()
* @generated
*/
void setConnectedTo(AvalonSlaveInterface value);
} // AvalonSlavePort
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Avalone Master Port</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link multicoreModel.AvaloneMasterPort#getConnectedTo <em>Connected To</em>}</li>
* </ul>
* </p>
*
* @see multicoreModel.MulticoreModelPackage#getAvaloneMasterPort()
* @model
* @generated
*/
public interface AvaloneMasterPort extends AvalonPort {
/**
* Returns the value of the '<em><b>Connected To</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Connected To</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Connected To</em>' reference.
* @see #setConnectedTo(AvalonMasterInterface)
* @see multicoreModel.MulticoreModelPackage#getAvaloneMasterPort_ConnectedTo()
* @model required="true"
* @generated
*/
AvalonMasterInterface getConnectedTo();
/**
* Sets the value of the '{@link multicoreModel.AvaloneMasterPort#getConnectedTo <em>Connected To</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Connected To</em>' reference.
* @see #getConnectedTo()
* @generated
*/
void setConnectedTo(AvalonMasterInterface value);
} // AvaloneMasterPort
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Bus</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link multicoreModel.Bus#getArbitrationScheme <em>Arbitration Scheme</em>}</li>
* </ul>
* </p>
*
* @see multicoreModel.MulticoreModelPackage#getBus()
* @model
* @generated
*/
public interface Bus extends CommunicationFacility {
/**
* Returns the value of the '<em><b>Arbitration Scheme</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Arbitration Scheme</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Arbitration Scheme</em>' reference.
* @see #setArbitrationScheme(ArbitrationScheme)
* @see multicoreModel.MulticoreModelPackage#getBus_ArbitrationScheme()
* @model
* @generated
*/
ArbitrationScheme getArbitrationScheme();
/**
* Sets the value of the '{@link multicoreModel.Bus#getArbitrationScheme <em>Arbitration Scheme</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Arbitration Scheme</em>' reference.
* @see #getArbitrationScheme()
* @generated
*/
void setArbitrationScheme(ArbitrationScheme value);
} // Bus
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
import org.eclipse.emf.common.util.EList;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Communication Facility</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link multicoreModel.CommunicationFacility#getInterfaces <em>Interfaces</em>}</li>
* </ul>
* </p>
*
* @see multicoreModel.MulticoreModelPackage#getCommunicationFacility()
* @model
* @generated
*/
public interface CommunicationFacility extends Component {
/**
* Returns the value of the '<em><b>Interfaces</b></em>' containment reference list.
* The list contents are of type {@link multicoreModel.Interface}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Interfaces</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Interfaces</em>' containment reference list.
* @see multicoreModel.MulticoreModelPackage#getCommunicationFacility_Interfaces()
* @model containment="true"
* @generated
*/
EList<Interface> getInterfaces();
} // CommunicationFacility
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
import edu.tum.cs.ccts.base.model.INamedCommented;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Component</b></em>'.
* <!-- end-user-doc -->
*
*
* @see multicoreModel.MulticoreModelPackage#getComponent()
* @model
* @generated
*/
public interface Component extends INamedCommented {
} // Component
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
import org.eclipse.emf.common.util.EList;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Hierachical Component</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link multicoreModel.HierachicalComponent#getComponents <em>Components</em>}</li>
* </ul>
* </p>
*
* @see multicoreModel.MulticoreModelPackage#getHierachicalComponent()
* @model
* @generated
*/
public interface HierachicalComponent extends Component {
/**
* Returns the value of the '<em><b>Components</b></em>' containment reference list.
* The list contents are of type {@link multicoreModel.Component}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Components</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Components</em>' containment reference list.
* @see multicoreModel.MulticoreModelPackage#getHierachicalComponent_Components()
* @model containment="true"
* @generated
*/
EList<Component> getComponents();
} // HierachicalComponent
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
import edu.tum.cs.ccts.base.model.INamedCommented;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Interface</b></em>'.
* <!-- end-user-doc -->
*
*
* @see multicoreModel.MulticoreModelPackage#getInterface()
* @model
* @generated
*/
public interface Interface extends INamedCommented {
} // Interface
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
import org.eclipse.emf.common.util.EList;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Memory</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link multicoreModel.Memory#getTotalSize <em>Total Size</em>}</li>
* <li>{@link multicoreModel.Memory#getWidth <em>Width</em>}</li>
* <li>{@link multicoreModel.Memory#getPorts <em>Ports</em>}</li>
* </ul>
* </p>
*
* @see multicoreModel.MulticoreModelPackage#getMemory()
* @model
* @generated
*/
public interface Memory extends Component {
/**
* Returns the value of the '<em><b>Total Size</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Total Size</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Total Size</em>' attribute.
* @see #setTotalSize(int)
* @see multicoreModel.MulticoreModelPackage#getMemory_TotalSize()
* @model
* @generated
*/
int getTotalSize();
/**
* Sets the value of the '{@link multicoreModel.Memory#getTotalSize <em>Total Size</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Total Size</em>' attribute.
* @see #getTotalSize()
* @generated
*/
void setTotalSize(int value);
/**
* Returns the value of the '<em><b>Width</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Width</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Width</em>' attribute.
* @see #setWidth(int)
* @see multicoreModel.MulticoreModelPackage#getMemory_Width()
* @model
* @generated
*/
int getWidth();
/**
* Sets the value of the '{@link multicoreModel.Memory#getWidth <em>Width</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Width</em>' attribute.
* @see #getWidth()
* @generated
*/
void setWidth(int value);
/**
* Returns the value of the '<em><b>Ports</b></em>' containment reference list.
* The list contents are of type {@link multicoreModel.Port}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Ports</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Ports</em>' containment reference list.
* @see multicoreModel.MulticoreModelPackage#getMemory_Ports()
* @model containment="true"
* @generated
*/
EList<Port> getPorts();
} // Memory
/**
* <copyright>
* </copyright>
*
* $Id$
*/
package multicoreModel;
import org.eclipse.emf.ecore.EFactory;
/**
* <!-- begin-user-doc -->
* The <b>Factory</b> for the model.
* It provides a create method for each non-abstract class of the model.
* <!-- end-user-doc -->
* @see multicoreModel.MulticoreModelPackage
* @generated
*/
public interface MulticoreModelFactory extends EFactory {
/**