Simulator 機能の初期バージョン.
1 parent 8d65fab commit 3b14c442dee3f6a7f7c7cad8936a5415e4d25196
Naoya Nitta authored on 21 May
Showing 12 changed files
View
6
AlgebraicDataflowArchitectureModel/src/simulator/Event.java 0 → 100644
package simulator;
 
public class Event {
 
}
View
103
AlgebraicDataflowArchitectureModel/src/simulator/Resource.java 0 → 100644
package simulator;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
 
import models.algebra.Constant;
import models.algebra.Type;
import models.dataConstraintModel.DataConstraintModel;
import models.dataConstraintModel.ResourceHierarchy;
import simulator.states.*;
 
public class Resource {
private Resource parent = null;
private List<Resource> children = null;
private ResourceHierarchy resourceHierarchy = null;
private ResourceState state = null;
private Constant parameter = null;
public Resource(ResourceHierarchy resourceHierarchy) {
this.resourceHierarchy = resourceHierarchy;
if (resourceHierarchy.getChildren().size() > 0) {
ResourceHierarchy childRes = resourceHierarchy.getChildren().iterator().next();
if (childRes.getNumParameters() > 0) {
Type resType = resourceHierarchy.getResourceStateType();
if (DataConstraintModel.typeList.isAncestorOf(resType)) {
// List resource
state = new ListResourceState();
} else if (DataConstraintModel.typeMap.isAncestorOf(resType)) {
// Map resource
state = new MapResourceState();
}
} else {
// Json resource
state = new JsonResourceState();
children = new ArrayList<>();
for (ResourceHierarchy child: resourceHierarchy.getChildren()) {
Resource cRes = new Resource(child);
((JsonResourceState) state).addChildState(child.getResourceName(), cRes.getState());
children.add(cRes);
}
}
} else {
state = new PrimitiveResourceState((Constant) resourceHierarchy.getInitialValue());
}
}
public Resource(ResourceHierarchy resourceHierarchy, Resource parent, ResourceState state) {
this.resourceHierarchy = resourceHierarchy;
this.parent = parent;
this.state = state;
}
public Resource(ResourceHierarchy resourceHierarchy, Resource parent, Constant parameter, ResourceState state) {
this.resourceHierarchy = resourceHierarchy;
this.parent = parent;
this.parameter = parameter;
this.state = state;
}
 
public Resource getParent() {
return parent;
}
 
public void setParent(Resource parent) {
this.parent = parent;
}
public ResourceHierarchy getResourceHierarchy() {
return resourceHierarchy;
}
 
public ResourceState getState() {
return state;
}
 
public List<Resource> getChildren() {
List<Resource> children = null;
if (resourceHierarchy.getChildren().size() > 0) {
children = new ArrayList<>();
ResourceHierarchy childRes = resourceHierarchy.getChildren().iterator().next();
Map<String, ResourceState> childStates = ((CompositeResourceState) state).getChildStates();
if (childRes.getNumParameters() > 0) {
// List or Map type.
for (Map.Entry<String, ResourceState> childEnt: childStates.entrySet()) {
String childParam = childEnt.getKey();
ResourceState childState = childEnt.getValue();
Type childType = childRes.getResourceStateType();
if (DataConstraintModel.typeList.isAncestorOf(childType)) {
children.add(new Resource(childRes, this, new Constant(childParam, DataConstraintModel.typeInt), childState));
} else if (DataConstraintModel.typeMap.isAncestorOf(childType)) {
children.add(new Resource(childRes, this, new Constant(childParam, DataConstraintModel.typeString), childState));
}
}
} else {
// Json type.
return this.children;
}
}
return children;
}
}
View
AlgebraicDataflowArchitectureModel/src/simulator/Simulator.java 0 → 100644
View
AlgebraicDataflowArchitectureModel/src/simulator/SystemState.java 0 → 100644
View
AlgebraicDataflowArchitectureModel/src/simulator/states/CompositeResourceState.java 0 → 100644
View
AlgebraicDataflowArchitectureModel/src/simulator/states/JsonResourceState.java 0 → 100644
View
AlgebraicDataflowArchitectureModel/src/simulator/states/ListResourceState.java 0 → 100644
View
AlgebraicDataflowArchitectureModel/src/simulator/states/MapResourceState.java 0 → 100644
View
AlgebraicDataflowArchitectureModel/src/simulator/states/PrimitiveResourceState.java 0 → 100644
View
AlgebraicDataflowArchitectureModel/src/simulator/states/ResourceState.java 0 → 100644
View
AlgebraicDataflowArchitectureModel/src/simulator/states/State.java 0 → 100644
View
AlgebraicDataflowArchitectureModel/src/tests/SimulatorTest.java 0 → 100644