diff --git a/AlgebraicDataflowArchitectureModel/src/algorithms/NecessityOfStoringResourceStates.java b/AlgebraicDataflowArchitectureModel/src/algorithms/NecessityOfStoringResourceStates.java index 35e5a9d..9a72711 100644 --- a/AlgebraicDataflowArchitectureModel/src/algorithms/NecessityOfStoringResourceStates.java +++ b/AlgebraicDataflowArchitectureModel/src/algorithms/NecessityOfStoringResourceStates.java @@ -38,8 +38,15 @@ } static private void setStoreAttribute(boolean flag, ResourceNode node) { - StoreAttribute store = new StoreAttribute(); - store.setNeeded(flag); - node.setAttribute(store); + NodeAttribute attr = node.getAttribute(); + StoreAttribute store; + if (attr != null && attr instanceof NodeAttribute) { + store = (StoreAttribute) attr; + store.setNeeded(store.isNeeded() || flag); + } else { + store = new StoreAttribute(); + store.setNeeded(flag); + node.setAttribute(store); + } } }