net.sf.opendse.generator
Class ApplicationGenerator

java.lang.Object
  extended by net.sf.opendse.generator.Generator
      extended by net.sf.opendse.generator.ApplicationGenerator

public class ApplicationGenerator
extends Generator

The ApplicationGenerator contains several methods to generate and transform applications.


Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.opendse.generator.Generator
Generator.Type
 
Field Summary
protected  IdProvider commId
           
protected  IdProvider dependencyId
           
protected  IdProvider taskId
           
 
Fields inherited from class net.sf.opendse.generator.Generator
random
 
Constructor Summary
ApplicationGenerator()
          Constructs an ApplicationGenerator with a random seed.
ApplicationGenerator(long seed)
          Constructs an ApplicationGenerator with a given seed.
ApplicationGenerator(long seed, IdProvider taskId, IdProvider commId, IdProvider dependencyId)
          Constructs an ApplicationGenerator.
 
Method Summary
 net.sf.opendse.model.Application<net.sf.opendse.model.Task,net.sf.opendse.model.Dependency> generate(int x, int id, int od)
          Returns an application generated by the TGFF algorithm (old).
 void insertCommunication(net.sf.opendse.model.Application<net.sf.opendse.model.Task,net.sf.opendse.model.Dependency> application, int min, int max)
          Adds communication tasks between process tasks.
 net.sf.opendse.model.Application<net.sf.opendse.model.Task,net.sf.opendse.model.Dependency> merge(net.sf.opendse.model.Application<net.sf.opendse.model.Task,net.sf.opendse.model.Dependency>... applications)
           
 net.sf.opendse.model.Application<net.sf.opendse.model.Task,net.sf.opendse.model.Dependency> merge(java.util.Collection<net.sf.opendse.model.Application<net.sf.opendse.model.Task,net.sf.opendse.model.Dependency>> applications)
           
 
Methods inherited from class net.sf.opendse.generator.Generator
annotateAttribute, rand, rand
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

taskId

protected IdProvider taskId

commId

protected IdProvider commId

dependencyId

protected IdProvider dependencyId
Constructor Detail

ApplicationGenerator

public ApplicationGenerator()
Constructs an ApplicationGenerator with a random seed.


ApplicationGenerator

public ApplicationGenerator(long seed)
Constructs an ApplicationGenerator with a given seed.

Parameters:
seed - the seed

ApplicationGenerator

public ApplicationGenerator(long seed,
                            IdProvider taskId,
                            IdProvider commId,
                            IdProvider dependencyId)
Constructs an ApplicationGenerator.

Parameters:
seed - the seed
taskId - the provider for the task ids
commId - the provider for the communication ids
dependencyId - the proider for the dependency ids
Method Detail

generate

public net.sf.opendse.model.Application<net.sf.opendse.model.Task,net.sf.opendse.model.Dependency> generate(int x,
                                                                                                            int id,
                                                                                                            int od)
Returns an application generated by the TGFF algorithm (old).

Parameters:
x - the minimal number of tasks
id - the maximum in-degree
od - the maximum out-degree
Returns:
the application

insertCommunication

public void insertCommunication(net.sf.opendse.model.Application<net.sf.opendse.model.Task,net.sf.opendse.model.Dependency> application,
                                int min,
                                int max)
Adds communication tasks between process tasks.

Parameters:
application - the application
min - the minimal number of receivers of a communication
max - the maximal number of receivers of a communicatoin

merge

public net.sf.opendse.model.Application<net.sf.opendse.model.Task,net.sf.opendse.model.Dependency> merge(java.util.Collection<net.sf.opendse.model.Application<net.sf.opendse.model.Task,net.sf.opendse.model.Dependency>> applications)

merge

public net.sf.opendse.model.Application<net.sf.opendse.model.Task,net.sf.opendse.model.Dependency> merge(net.sf.opendse.model.Application<net.sf.opendse.model.Task,net.sf.opendse.model.Dependency>... applications)