From 4d975a303fbaacb13c6ae21d2f10930a397e9eda Mon Sep 17 00:00:00 2001 From: lempinen Date: Thu, 21 Mar 2013 11:29:37 +0000 Subject: [PATCH] Use old FMU if nothing has been changed in variables, equations or other significant parts. (fixes #4183) git-svn-id: https://www.simantics.org/svn/simantics/sysdyn/trunk@27184 ac1ea38d-2e2b-0410-8846-a27921b304fc --- org.simantics.sysdyn.ontology/graph.tg | Bin 146144 -> 147157 bytes .../graph/Sysdyn.pgraph | 2 + .../org/simantics/sysdyn/SysdynResource.java | 48 ++++++--- .../widgets/expressions/StockExpression.java | 2 +- .../sysdyn/manager/SysdynGameExperiment.java | 96 +++++++++++++++++- .../simantics/sysdyn/manager/SysdynModel.java | 18 +++- .../sysdyn/representation/Sheet.java | 39 +++++-- .../sysdyn/simulation/SimulationJob.java | 5 +- 8 files changed, 176 insertions(+), 34 deletions(-) diff --git a/org.simantics.sysdyn.ontology/graph.tg b/org.simantics.sysdyn.ontology/graph.tg index a7b7d77e4d60bc63d49fa91846c27fd24e7fbb2d..f2f401d69cedee0a64fcc9b5d2a2661ecec4484d 100644 GIT binary patch literal 147157 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 Wjzyhf5f7Q0HT=;bO(@99_WuEOFXw0g literal 146144 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 diff --git a/org.simantics.sysdyn.ontology/graph/Sysdyn.pgraph b/org.simantics.sysdyn.ontology/graph/Sysdyn.pgraph index 30c5641a..5838fb7e 100644 --- a/org.simantics.sysdyn.ontology/graph/Sysdyn.pgraph +++ b/org.simantics.sysdyn.ontology/graph/Sysdyn.pgraph @@ -44,6 +44,8 @@ SYSDYN.SysdynModel -- SYSDYN.SysdynModel.tolerance --> L0.Double -- SYSDYN.SysdynModel.solver --> L0.String -- SYSDYN.SysdynModel.variableFilter --> L0.String -- SYSDYN.SysdynModel.fmuFile --> L0.ByteArray -- SYSDYN.SysdynModel.exeFile --> L0.ByteArray data) { final String currentText = this.expression.getExpression(); - if(currentText != null) { + if(currentText != null && !currentText.equals(data.get("initialEquation"))) { SimanticsUI.getSession().asyncRequest(new WriteRequest() { @Override diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SysdynGameExperiment.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SysdynGameExperiment.java index dd8ffe26..73cd72bb 100644 --- a/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SysdynGameExperiment.java +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SysdynGameExperiment.java @@ -11,6 +11,10 @@ *******************************************************************************/ package org.simantics.sysdyn.manager; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; @@ -19,10 +23,13 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; +import org.simantics.databoard.Bindings; import org.simantics.db.AsyncReadGraph; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.Session; +import org.simantics.db.WriteGraph; +import org.simantics.db.common.request.WriteRequest; import org.simantics.db.exception.DatabaseException; import org.simantics.db.procedure.AsyncListener; import org.simantics.db.request.Read; @@ -175,13 +182,23 @@ public class SysdynGameExperiment extends SysdynExperiment { SimulationLocation simulationLocation = createSimulationFiles(sysdynModel, modelText, inits, additionalScript, true); progressMonitor.worked(1); - + // Load precompiled fmu if structure has not changed and it has not yet been loaded + File fmu = null; + if(!sysdynModel.isStructureModified()) { + if(!simulationLocation.executableFile.isFile()) { + fmu = loadModelFmu(simulationLocation); + } else { + fmu = simulationLocation.executableFile; + } + } // Build the model and store previous model structure and inits that affect the building // If there is no exe file OR the model structure has not changed, no need to build - if (!simulationLocation.executableFile.isFile() || hasStructureChanged(modelText)) { + if (fmu == null && (!simulationLocation.executableFile.isFile() || hasStructureChanged(modelText))) { progressMonitor.subTask("Build model"); buildModel(simulationLocation, modelText, monitor); previousModelStructure = modelText; + + saveModelFmu(simulationLocation); } progressMonitor.worked(1); @@ -202,6 +219,81 @@ public class SysdynGameExperiment extends SysdynExperiment { simulate(false); } + /** + * Load fmu file from database, if it exists for the model of this experiment + * + * @param simulationLocation SimulationLocation indicating where the fmu should be loaded + * @return Loaded fmu or null if it was not loaded from database + */ + private File loadModelFmu(SimulationLocation simulationLocation) { + File fmu = null; + try { + final String fmuLocation = simulationLocation.executableFile.getAbsolutePath(); + fmu = session.syncRequest(new Read() { + @Override + public File perform(ReadGraph graph) throws DatabaseException { + File result = null; + FileOutputStream fos; + try { + fos = new FileOutputStream(fmuLocation); + byte[] fileBArray = graph.getPossibleRelatedValue( + getModel(), SysdynResource.getInstance(graph).SysdynModel_fmuFile, Bindings.BYTE_ARRAY); + + if(fileBArray != null) { + fos.write(fileBArray); + fos.close(); + result = new File(fmuLocation); + } else { + fos.close(); + return null; + } + + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return result; + } + }); + } catch (DatabaseException e) { + e.printStackTrace(); + } + + return fmu; + } + + /** + * Save fmu file from simulationLocation to database + * @param simulationLocation Location for finding fmu + */ + private void saveModelFmu(SimulationLocation simulationLocation) { + final String fmuLocation = simulationLocation.executableFile.getAbsolutePath(); + session.asyncRequest(new WriteRequest() { + + @Override + public void perform(WriteGraph graph) throws DatabaseException { + File file = new File(fmuLocation); + byte[] fileBArray = new byte[(int)file.length()]; + FileInputStream fis; + try { + fis = new FileInputStream(file); + + fis.read(fileBArray); + graph.claimLiteral( + getModel(), + SysdynResource.getInstance(graph).SysdynModel_fmuFile, + fileBArray, Bindings.BYTE_ARRAY); + fis.close(); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + }); + } + @Override public void simulateDuration(double duration) { diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SysdynModel.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SysdynModel.java index 55a72243..29f9fc72 100644 --- a/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SysdynModel.java +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/manager/SysdynModel.java @@ -53,6 +53,7 @@ import org.simantics.sysdyn.adapter.VariableValueSubscription; import org.simantics.sysdyn.representation.Configuration; import org.simantics.sysdyn.representation.IElement; import org.simantics.sysdyn.representation.IndependentVariable; +import org.simantics.sysdyn.representation.Model; import org.simantics.sysdyn.representation.Module; import org.simantics.sysdyn.representation.ParameterOverride; import org.simantics.sysdyn.representation.Sheet; @@ -271,10 +272,19 @@ public class SysdynModel implements IMappingListener, IModel, VariableSubscripti */ public synchronized boolean update(ReadGraph graph) throws DatabaseException { if(mapping.isDomainModified()) { - structureModified = true; + + try { - mapping.updateRange(graph); + Collection updated = mapping.updateRange(graph); + + for(Object o : updated) { + if(!(o instanceof Model)) { + setStructureModified(true); + break; + } + } + } catch (MappingException e) { SysdynConsole.INSTANCE.message( "Error: Mapping is broken! Find the problem, " + @@ -305,7 +315,7 @@ public class SysdynModel implements IMappingListener, IModel, VariableSubscripti } else return false; - } + } /** * Update mapping. @@ -560,7 +570,7 @@ public class SysdynModel implements IMappingListener, IModel, VariableSubscripti return structureModified; } - public void setStructureModeified(boolean structureModified) { + public void setStructureModified(boolean structureModified) { this.structureModified = structureModified; } } diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Sheet.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Sheet.java index 92226cc8..db41a5bb 100644 --- a/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Sheet.java +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/representation/Sheet.java @@ -11,8 +11,10 @@ *******************************************************************************/ package org.simantics.sysdyn.representation; +import gnu.trove.map.hash.THashMap; +import gnu.trove.set.hash.THashSet; + import java.util.ArrayList; -import java.util.HashMap; import java.util.HashSet; import org.simantics.Simantics; @@ -41,8 +43,8 @@ public class Sheet extends org.simantics.sysdyn.representation.Variable { @RelatedElement(Layer0.URIs.PartOf) protected Book book; - HashMap cells = new HashMap(); - HashSet usedRanges = new HashSet(); + THashMap cells = new THashMap(); + THashSet usedRanges = new THashSet(); Resource resource; @@ -52,12 +54,10 @@ public class Sheet extends org.simantics.sysdyn.representation.Variable { @UpdateMethod public boolean updateCells(ReadGraph g, Resource r) throws DatabaseException { - cells.clear(); - usedRanges.clear(); - this.resource = null; - if(g.hasStatement(r)) { this.resource = r; + THashMap newCells = new THashMap(); + g.getObjects(r, Layer0.getInstance(g).ConsistsOf); Variable v = g.adapt(r, Variable.class); for(Variable child : v.getChildren(g)) { @@ -65,14 +65,33 @@ public class Sheet extends org.simantics.sysdyn.representation.Variable { try { SpreadsheetUtils.decodeCellAbsolute(name); Variant value = child.getPropertyValue(g, SheetVariables.CONTENT, Bindings.VARIANT); - cells.put(name, value.getValue()); + newCells.put(name, value.getValue()); } catch (CellParseException e) { } catch (MissingVariableException e) { System.out.println("missing content for: " + name); } } + + boolean update = false; + if(newCells.size() == this.cells.size()) { + // Cells are the same size. There might not be changes. Next up: content + for(String key : this.cells.keySet()) { + if(!this.cells.get(key).equals(newCells.get(key))) { + update = true; + break; + } + } + } else { + update = true; + } + + if(update) { + this.cells = newCells; + this.usedRanges.clear(); + return true; + } } - return true; + return false; } public String getStringRepresentation() { @@ -200,7 +219,7 @@ public class Sheet extends org.simantics.sysdyn.representation.Variable { } - public HashMap getCells() { + public THashMap getCells() { return cells; } diff --git a/org.simantics.sysdyn/src/org/simantics/sysdyn/simulation/SimulationJob.java b/org.simantics.sysdyn/src/org/simantics/sysdyn/simulation/SimulationJob.java index f61c40c1..b5736f87 100644 --- a/org.simantics.sysdyn/src/org/simantics/sysdyn/simulation/SimulationJob.java +++ b/org.simantics.sysdyn/src/org/simantics/sysdyn/simulation/SimulationJob.java @@ -49,9 +49,10 @@ public class SimulationJob extends Job { this.monitor.message("Simulate " + model.getConfiguration().getLabel()); try { model.update(); - if(experiment instanceof SysdynExperiment) + if(experiment instanceof SysdynExperiment) { ((SysdynExperiment)experiment).simulate(this.monitor, monitor); -// model.simulate(this.monitor, monitor, experiment); + model.setStructureModified(false); + } } catch (Exception e) { e.printStackTrace(); this.monitor.showConsole(); -- 2.47.1