149 lines
3.4 KiB
Java
149 lines
3.4 KiB
Java
package org.fog.application;
|
|
|
|
/**
|
|
* Class represents application edges which connect modules together and represent data dependency between them.
|
|
* @author Harshit Gupta
|
|
*
|
|
*/
|
|
public class AppEdge {
|
|
|
|
public static final int SENSOR = 1; // App Edge originates from a sensor
|
|
public static final int ACTUATOR = 2; // App Edge leads to an actuator
|
|
public static final int MODULE = 3; // App Edge is between application modules
|
|
|
|
/**
|
|
* Name of source application module
|
|
*/
|
|
private String source;
|
|
/**
|
|
* Name of destination application module
|
|
*/
|
|
private String destination;
|
|
/**
|
|
* CPU length (in MIPS) of tuples carried by the application edge
|
|
*/
|
|
private double tupleCpuLength;
|
|
/**
|
|
* Network length (in bytes) of tuples carried by the application edge
|
|
*/
|
|
private double tupleNwLength;
|
|
/**
|
|
* Type of tuples carried by the application edge
|
|
*/
|
|
private String tupleType;
|
|
/**
|
|
* Direction of tuples carried by the application edge.
|
|
*/
|
|
private int direction;
|
|
private int edgeType;
|
|
|
|
/**
|
|
* Periodicity of application edge (in case it is periodic).
|
|
*/
|
|
private double periodicity;
|
|
/**
|
|
* Denotes if the application edge is a periodic edge.
|
|
*/
|
|
private boolean isPeriodic;
|
|
|
|
public AppEdge(){
|
|
|
|
}
|
|
|
|
public AppEdge(String source, String destination, double tupleCpuLength,
|
|
double tupleNwLength, String tupleType, int direction, int edgeType){
|
|
setSource(source);
|
|
setDestination(destination);
|
|
setTupleCpuLength(tupleCpuLength);
|
|
setTupleNwLength(tupleNwLength);
|
|
setTupleType(tupleType);
|
|
setDirection(direction);
|
|
setEdgeType(edgeType);
|
|
setPeriodic(false);
|
|
}
|
|
|
|
public AppEdge(String source, String destination, double periodicity, double tupleCpuLength,
|
|
double tupleNwLength, String tupleType, int direction, int edgeType){
|
|
setSource(source);
|
|
setDestination(destination);
|
|
setTupleCpuLength(tupleCpuLength);
|
|
setTupleNwLength(tupleNwLength);
|
|
setTupleType(tupleType);
|
|
setDirection(direction);
|
|
setEdgeType(edgeType);
|
|
setPeriodic(true);
|
|
setPeriodicity(periodicity);
|
|
}
|
|
|
|
public String getSource() {
|
|
return source;
|
|
}
|
|
public void setSource(String source) {
|
|
this.source = source;
|
|
}
|
|
public String getDestination() {
|
|
return destination;
|
|
}
|
|
public void setDestination(String destination) {
|
|
this.destination = destination;
|
|
}
|
|
public double getTupleCpuLength() {
|
|
return tupleCpuLength;
|
|
}
|
|
public void setTupleCpuLength(double tupleCpuLength) {
|
|
this.tupleCpuLength = tupleCpuLength;
|
|
}
|
|
public double getTupleNwLength() {
|
|
return tupleNwLength;
|
|
}
|
|
public void setTupleNwLength(double tupleNwLength) {
|
|
this.tupleNwLength = tupleNwLength;
|
|
}
|
|
public String getTupleType() {
|
|
return tupleType;
|
|
}
|
|
public void setTupleType(String tupleType) {
|
|
this.tupleType = tupleType;
|
|
}
|
|
|
|
public int getDirection() {
|
|
return direction;
|
|
}
|
|
|
|
public void setDirection(int direction) {
|
|
this.direction = direction;
|
|
}
|
|
|
|
public int getEdgeType() {
|
|
return edgeType;
|
|
}
|
|
|
|
public void setEdgeType(int edgeType) {
|
|
this.edgeType = edgeType;
|
|
}
|
|
|
|
public double getPeriodicity() {
|
|
return periodicity;
|
|
}
|
|
|
|
public void setPeriodicity(double periodicity) {
|
|
this.periodicity = periodicity;
|
|
}
|
|
|
|
public boolean isPeriodic() {
|
|
return isPeriodic;
|
|
}
|
|
|
|
public void setPeriodic(boolean isPeriodic) {
|
|
this.isPeriodic = isPeriodic;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "AppEdge [source=" + source + ", destination=" + destination
|
|
+ ", tupleType=" + tupleType + "]";
|
|
}
|
|
|
|
|
|
}
|