verivital / hyst

HyST: A Source Transformation and Translation Tool for Hybrid Automaton Models
http://verivital.com/hyst/
Other
15 stars 18 forks source link

Merge model generation + hylaa printer #41

Closed stanleybak closed 6 years ago

stanleybak commented 7 years ago

This update includes my development over the last ~6 months. The main addition is model generation capability and several model generators. All include a test in doc/model_generator in addition to unit tests. There is also a printer added for the Hylaa tool.

All tests pass on my system, although I haven't run them on windows.

ttj commented 7 years ago

I've started merging. All unit tests pass on my setup, but I have some Python setup errors I'll have to debug for the regression/integration tests, will try to finish over the weekend.

ttj commented 7 years ago

some issues in tests after I got all the path issues fixed, mains are in unit tests for hybridize and printers: they run forever, probably some python task is failing and not giving control back to java; also, the test_gen_passes mostly worked, except there's an exception in plot.py where I think since none of the tools can run on windows, it fails and has unhandled exception:


        [exec] Running Drivetrain (Theta=1)
        [exec] Running Hyst...
        [exec] Using Hyst to convert generated model for pysim.
        [exec] Hyst command: java -jar C:\Users\taylo\Dropbox\Research\verivital_repos\hyst-stan\src\Hyst.jar -gen drivetrain '-theta 1 -init_points 10' -o c:\users\taylo\appdata\local\temp\pysim_0_3748096.py -tool pysim '-title "Drivetrain (Theta=1)" -xdim 0 -ydim 2'
        [exec] Seconds for Hyst conversion: 1.29500007629
        [exec] Tool script exit code: 0
        [exec] Hypy Elapsed Seconds: 2.81599998474
        [exec] Hypy Result: Success
        [exec] Finished Drivetrain (Theta=1)
        [exec] Warning: Could not find 'flowstar' on your system:
        [exec]  No file named 'flowstar' was found in any of the directories in HYPY_PATH
        [exec]  No file named 'flowstar' was found in any of the directories in PATH
        [exec] Tool 'flowstar' is not runnable.
        [exec] Warning: Could not find 'HyCreate2.8.jar' on your system:
        [exec]  No file named 'HyCreate2.8.jar' was found in any of the directories in HYPY_PATH
        [exec]  No file named 'HyCreate2.8.jar' was found in any of the directories in PATH
        [exec] Tool 'hycreate' is not runnable.
        [exec] Warning: Could not find 'spaceex' on your system:
        [exec]  No file named 'spaceex' was found in any of the directories in HYPY_PATH
        [exec]  No file named 'spaceex' was found in any of the directories in PATH
        [exec] Tool 'spaceex' is not runnable.
        [exec] Warning: Could not find 'dReach' on your system:
        [exec]  No file named 'dReach' was found in any of the directories in HYPY_PATH
        [exec]  No file named 'dReach' was found in any of the directories in PATH
        [exec] Tool 'dreach' is not runnable.
        [exec] Running original model to produce orignal.png (~12 seconds)
        [exec] Traceback (most recent call last):
        [exec]   File "plot.py", line 40, in <module>
        [exec]     main()
        [exec]   File "plot.py", line 10, in main
        [exec]     run_without_pi()
        [exec]   File "plot.py", line 25, in run_without_pi
        [exec]     raise RuntimeError('Error:' + str(code))
        [exec] RuntimeError: Error:Error (Unsupported Dynamics)

BUILD FAILED
C:\Users\taylo\Dropbox\Research\verivital_repos\hyst-stan\src\build.xml:263: exec returned: 1```
ttj commented 7 years ago

Ok, there were some path errors with junit, which I resolved (I added checks to see if it's in the src directory or not, as on my eclipse setup, it needed to have "src" prefixed before the base directory). I'm having 2 separate issues now, in both printers test and hybridize tests, related to python. They are probably both related to calling pysim_utils. Maybe some path is bad? I did see pysim_utils.py in src/pythonbridge.

The first is:

'Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pythonbridge.pysim_utils
'
    at com.verivital.hyst.python.PythonBridge.error(PythonBridge.java:227)
    at com.verivital.hyst.python.PythonBridge.readUntilPrompt(PythonBridge.java:515)
    at com.verivital.hyst.python.PythonBridge.sendAndWait(PythonBridge.java:594)
    at com.verivital.hyst.python.PythonBridge.send(PythonBridge.java:665)
    at com.verivital.hyst.python.PythonBridge.send(PythonBridge.java:628)
    at com.verivital.hyst.passes.complex.hybridize.HybridizeMixedTriggeredPass.simMultiGetTrajectory(HybridizeMixedTriggeredPass.java:917)
    at com.verivital.hyst.passes.complex.hybridize.HybridizeMixedTriggeredPass.advanceSimulationToPseudoInvariant(HybridizeMixedTriggeredPass.java:510)
    at com.verivital.hyst.passes.complex.hybridize.HybridizeMixedTriggeredPass.runSimulation(HybridizeMixedTriggeredPass.java:413)
    at com.verivital.hyst.passes.complex.hybridize.HybridizeMixedTriggeredPass.simulateAndConstruct(HybridizeMixedTriggeredPass.java:376)
    at com.verivital.hyst.passes.complex.hybridize.HybridizeMixedTriggeredPass.runPass(HybridizeMixedTriggeredPass.java:207)
    at com.verivital.hyst.passes.TransformationPass.runPass(TransformationPass.java:159)
    at com.verivital.hyst.passes.TransformationPass.runVanillaPass(TransformationPass.java:106)
    at com.verivital.hyst.passes.TransformationPass.runTransformationPass(TransformationPass.java:74)
    at com.verivital.hyst.junit.HybridizePassTests.testNoErrorModesPrint(HybridizePassTests.java:840)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.junit.runners.Suite.runChild(Suite.java:127)
    at org.junit.runners.Suite.runChild(Suite.java:26)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

The second is:

com.verivital.hyst.ir.AutomatonExportException: send() called but process is not running (was open() called?)
    at com.verivital.hyst.python.PythonBridge.error(PythonBridge.java:227)
    at com.verivital.hyst.python.PythonBridge.send(PythonBridge.java:656)
    at com.verivital.hyst.python.PythonBridge.sendWithTrailingNewline(PythonBridge.java:648)
    at com.verivital.hyst.python.PythonUtil.scipyOptimize(PythonUtil.java:71)
    at com.verivital.hyst.junit.HybridizePassTests.sciPyOptimize(HybridizePassTests.java:584)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.junit.runners.Suite.runChild(Suite.java:127)
    at org.junit.runners.Suite.runChild(Suite.java:26)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
stanleybak commented 7 years ago

Is the src folder on your HYPY path? Also, I'm not 100% renaming the variable was the best action. The naming is consistent with PYTHONPATH, which python uses. But you had added an underscore to be consistent with what?

From the readme:

add path to hyst .jar file

export HYPYPATH="$HOME/repositories/hyst/src"

I think you need to use the src folder, not the lib folder... otherwise the pythonbridge imports will fail (which it looks like is the first error message).

-Stan

On Mon, May 8, 2017 at 4:01 PM, Taylor Johnson notifications@github.com wrote:

Ok, there were some path errors with junit, which I resolved (I added checks to see if it's in the src directory or not, as on my eclipse setup, it needed to have "src" prefixed before the base directory). I'm having 2 separate issues now, in both printers test and hybridize tests, related to python. The first is:

'Traceback (most recent call last): File "", line 1, in ImportError: No module named pythonbridge.pysim_utils ' at com.verivital.hyst.python.PythonBridge.error(PythonBridge.java:227) at com.verivital.hyst.python.PythonBridge.readUntilPrompt(PythonBridge.java:515) at com.verivital.hyst.python.PythonBridge.sendAndWait(PythonBridge.java:594) at com.verivital.hyst.python.PythonBridge.send(PythonBridge.java:665) at com.verivital.hyst.python.PythonBridge.send(PythonBridge.java:628) at com.verivital.hyst.passes.complex.hybridize.HybridizeMixedTriggeredPass.simMultiGetTrajectory(HybridizeMixedTriggeredPass.java:917) at com.verivital.hyst.passes.complex.hybridize.HybridizeMixedTriggeredPass.advanceSimulationToPseudoInvariant(HybridizeMixedTriggeredPass.java:510) at com.verivital.hyst.passes.complex.hybridize.HybridizeMixedTriggeredPass.runSimulation(HybridizeMixedTriggeredPass.java:413) at com.verivital.hyst.passes.complex.hybridize.HybridizeMixedTriggeredPass.simulateAndConstruct(HybridizeMixedTriggeredPass.java:376) at com.verivital.hyst.passes.complex.hybridize.HybridizeMixedTriggeredPass.runPass(HybridizeMixedTriggeredPass.java:207) at com.verivital.hyst.passes.TransformationPass.runPass(TransformationPass.java:159) at com.verivital.hyst.passes.TransformationPass.runVanillaPass(TransformationPass.java:106) at com.verivital.hyst.passes.TransformationPass.runTransformationPass(TransformationPass.java:74) at com.verivital.hyst.junit.HybridizePassTests.testNoErrorModesPrint(HybridizePassTests.java:840) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runners.Suite.runChild(Suite.java:127) at org.junit.runners.Suite.runChild(Suite.java:26) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

The second is:

com.verivital.hyst.ir.AutomatonExportException: send() called but process is not running (was open() called?) at com.verivital.hyst.python.PythonBridge.error(PythonBridge.java:227) at com.verivital.hyst.python.PythonBridge.send(PythonBridge.java:656) at com.verivital.hyst.python.PythonBridge.sendWithTrailingNewline(PythonBridge.java:648) at com.verivital.hyst.python.PythonUtil.scipyOptimize(PythonUtil.java:71) at com.verivital.hyst.junit.HybridizePassTests.sciPyOptimize(HybridizePassTests.java:584) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runners.Suite.runChild(Suite.java:127) at org.junit.runners.Suite.runChild(Suite.java:26) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/verivital/hyst/pull/41#issuecomment-299974500, or mute the thread https://github.com/notifications/unsubscribe-auth/AKE7KTLvr1eWhDRESXm66LZPb7YHThw5ks5r33SxgaJpZM4M27ly .

ttj commented 7 years ago

Consistent with the rest of Hyst, as it was HYPY_PATH in many more locations than it was HYPYPATH...

My variable is set correctly as: HYPY_PATH C:\Users\taylo\Dropbox\Research\verivital_repos\hyst-stan\src

It didn't work properly before when it was with further subfolders (pythonbridge or hybridpy, etc.), which was the earlier error. This is a new error, specific only for these tests. It seems hypy works fine for most tasks, just this simulation is messed up.

--

http://www.TaylorTJohnson.com/

On Mon, May 8, 2017 at 3:11 PM, Stanley Bak notifications@github.com wrote:

Is the src folder on your HYPY path? Also, I'm not 100% renaming the variable was the best action. The naming is consistent with PYTHONPATH, which python uses. But you had added an underscore to be consistent with what?

From the readme:

add path to hyst .jar file

export HYPYPATH="$HOME/repositories/hyst/src"

I think you need to use the src folder, not the lib folder... otherwise the pythonbridge imports will fail (which it looks like is the first error message).

-Stan

On Mon, May 8, 2017 at 4:01 PM, Taylor Johnson notifications@github.com wrote:

Ok, there were some path errors with junit, which I resolved (I added checks to see if it's in the src directory or not, as on my eclipse setup, it needed to have "src" prefixed before the base directory). I'm having 2 separate issues now, in both printers test and hybridize tests, related to python. The first is:

'Traceback (most recent call last): File "", line 1, in ImportError: No module named pythonbridge.pysim_utils ' at com.verivital.hyst.python.PythonBridge.error(PythonBridge.java:227) at com.verivital.hyst.python.PythonBridge.readUntilPrompt( PythonBridge.java:515) at com.verivital.hyst.python.PythonBridge.sendAndWait( PythonBridge.java:594) at com.verivital.hyst.python.PythonBridge.send(PythonBridge.java:665) at com.verivital.hyst.python.PythonBridge.send(PythonBridge.java:628) at com.verivital.hyst.passes.complex.hybridize. HybridizeMixedTriggeredPass.simMultiGetTrajectory( HybridizeMixedTriggeredPass.java:917) at com.verivital.hyst.passes.complex.hybridize. HybridizeMixedTriggeredPass.advanceSimulationToPseudoInvariant( HybridizeMixedTriggeredPass.java:510) at com.verivital.hyst.passes.complex.hybridize. HybridizeMixedTriggeredPass.runSimulation(HybridizeMixedTriggeredPass. java:413) at com.verivital.hyst.passes.complex.hybridize. HybridizeMixedTriggeredPass.simulateAndConstruct( HybridizeMixedTriggeredPass.java:376) at com.verivital.hyst.passes.complex.hybridize. HybridizeMixedTriggeredPass.runPass(HybridizeMixedTriggeredPass.java:207) at com.verivital.hyst.passes.TransformationPass.runPass( TransformationPass.java:159) at com.verivital.hyst.passes.TransformationPass.runVanillaPass( TransformationPass.java:106) at com.verivital.hyst.passes.TransformationPass.runTransformationPass( TransformationPass.java:74) at com.verivital.hyst.junit.HybridizePassTests.testNoErrorModesPrint( HybridizePassTests.java:840) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run( ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively( FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod. evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores. evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild( BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild( BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runners.Suite.runChild(Suite.java:127) at org.junit.runners.Suite.runChild(Suite.java:26) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run( JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution. run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. runTests(RemoteTestRunner.java:678) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. main(RemoteTestRunner.java:192)

The second is:

com.verivital.hyst.ir.AutomatonExportException: send() called but process is not running (was open() called?) at com.verivital.hyst.python.PythonBridge.error(PythonBridge.java:227) at com.verivital.hyst.python.PythonBridge.send(PythonBridge.java:656) at com.verivital.hyst.python.PythonBridge.sendWithTrailingNewline( PythonBridge.java:648) at com.verivital.hyst.python.PythonUtil.scipyOptimize( PythonUtil.java:71) at com.verivital.hyst.junit.HybridizePassTests.sciPyOptimize( HybridizePassTests.java:584) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run( ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively( FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod. evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores. evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild( BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild( BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runners.Suite.runChild(Suite.java:127) at org.junit.runners.Suite.runChild(Suite.java:26) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run( JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution. run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. runTests(RemoteTestRunner.java:678) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. main(RemoteTestRunner.java:192)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/verivital/hyst/pull/41#issuecomment-299974500, or mute the thread https://github.com/notifications/unsubscribe-auth/ AKE7KTLvr1eWhDRESXm66LZPb7YHThw5ks5r33SxgaJpZM4M27ly .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/verivital/hyst/pull/41#issuecomment-299976735, or mute the thread https://github.com/notifications/unsubscribe-auth/ABBcLBVc5hAOcUXpeiGXIYVupGyjyEeUks5r33bbgaJpZM4M27ly .

stanleybak commented 7 years ago

When I grepped my source, HYPY_PATH was used once in an error message, and HYPY path was used everywhere else. I'd be more content updating the error message.... let's talk after this though we can debug in person.

-Stan

On Mon, May 8, 2017 at 4:14 PM, Taylor Johnson notifications@github.com wrote:

Consistent with the rest of Hyst, as it was HYPY_PATH in many more locations than it was HYPYPATH...

My variable is set correctly as: HYPY_PATH C:\Users\taylo\Dropbox\Research\verivital_repos\hyst-stan\src

It didn't work properly before when it was with further subfolders (pythonbridge or hybridpy, etc.), which was the earlier error. This is a new error, specific only for these tests. It seems hypy works fine for most tasks, just this simulation is messed up.

--

http://www.TaylorTJohnson.com/

On Mon, May 8, 2017 at 3:11 PM, Stanley Bak notifications@github.com wrote:

Is the src folder on your HYPY path? Also, I'm not 100% renaming the variable was the best action. The naming is consistent with PYTHONPATH, which python uses. But you had added an underscore to be consistent with what?

From the readme:

add path to hyst .jar file

export HYPYPATH="$HOME/repositories/hyst/src"

I think you need to use the src folder, not the lib folder... otherwise the pythonbridge imports will fail (which it looks like is the first error message).

-Stan

On Mon, May 8, 2017 at 4:01 PM, Taylor Johnson <notifications@github.com

wrote:

Ok, there were some path errors with junit, which I resolved (I added checks to see if it's in the src directory or not, as on my eclipse setup, it needed to have "src" prefixed before the base directory). I'm having 2 separate issues now, in both printers test and hybridize tests, related to python. The first is:

'Traceback (most recent call last): File "", line 1, in ImportError: No module named pythonbridge.pysim_utils ' at com.verivital.hyst.python.PythonBridge.error(PythonBridge.java:227) at com.verivital.hyst.python.PythonBridge.readUntilPrompt( PythonBridge.java:515) at com.verivital.hyst.python.PythonBridge.sendAndWait( PythonBridge.java:594) at com.verivital.hyst.python.PythonBridge.send(PythonBridge.java:665) at com.verivital.hyst.python.PythonBridge.send(PythonBridge.java:628) at com.verivital.hyst.passes.complex.hybridize. HybridizeMixedTriggeredPass.simMultiGetTrajectory( HybridizeMixedTriggeredPass.java:917) at com.verivital.hyst.passes.complex.hybridize. HybridizeMixedTriggeredPass.advanceSimulationToPseudoInvariant( HybridizeMixedTriggeredPass.java:510) at com.verivital.hyst.passes.complex.hybridize. HybridizeMixedTriggeredPass.runSimulation(HybridizeMixedTriggeredPass. java:413) at com.verivital.hyst.passes.complex.hybridize. HybridizeMixedTriggeredPass.simulateAndConstruct( HybridizeMixedTriggeredPass.java:376) at com.verivital.hyst.passes.complex.hybridize. HybridizeMixedTriggeredPass.runPass(HybridizeMixedTriggeredPass. java:207) at com.verivital.hyst.passes.TransformationPass.runPass( TransformationPass.java:159) at com.verivital.hyst.passes.TransformationPass.runVanillaPass( TransformationPass.java:106) at com.verivital.hyst.passes.TransformationPass.runTransformationPass( TransformationPass.java:74) at com.verivital.hyst.junit.HybridizePassTests.testNoErrorModesPrint( HybridizePassTests.java:840) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run( ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively( FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod. evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores. evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild( BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild( BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runners.Suite.runChild(Suite.java:127) at org.junit.runners.Suite.runChild(Suite.java:26) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run( JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution. run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. runTests(RemoteTestRunner.java:678) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. main(RemoteTestRunner.java:192)

The second is:

com.verivital.hyst.ir.AutomatonExportException: send() called but process is not running (was open() called?) at com.verivital.hyst.python.PythonBridge.error(PythonBridge.java:227) at com.verivital.hyst.python.PythonBridge.send(PythonBridge.java:656) at com.verivital.hyst.python.PythonBridge.sendWithTrailingNewline( PythonBridge.java:648) at com.verivital.hyst.python.PythonUtil.scipyOptimize( PythonUtil.java:71) at com.verivital.hyst.junit.HybridizePassTests.sciPyOptimize( HybridizePassTests.java:584) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall( FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run( ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively( FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod. evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores. evaluate(RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild( BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild( BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runners.Suite.runChild(Suite.java:127) at org.junit.runners.Suite.runChild(Suite.java:26) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run( JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution. run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. runTests(RemoteTestRunner.java:678) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. main(RemoteTestRunner.java:192)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/verivital/hyst/pull/41#issuecomment-299974500, or mute the thread https://github.com/notifications/unsubscribe-auth/ AKE7KTLvr1eWhDRESXm66LZPb7YHThw5ks5r33SxgaJpZM4M27ly .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/verivital/hyst/pull/41#issuecomment-299976735, or mute the thread https://github.com/notifications/unsubscribe-auth/ ABBcLBVc5hAOcUXpeiGXIYVupGyjyEeUks5r33bbgaJpZM4M27ly .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/verivital/hyst/pull/41#issuecomment-299977529, or mute the thread https://github.com/notifications/unsubscribe-auth/AKE7KV-KqM0DMBwv8U1rv5fg0VVbhrfTks5r33eZgaJpZM4M27ly .

stanleybak commented 7 years ago

I reverted to HYPY path and added conditional imports for the interval math in python in case it fails on windows/linux. I don't see the conditional model import in the unit test models yet; could you commit that?

ttj commented 7 years ago

so, still having the same problems. Not really sure what to try next since the paths seem ok... Any suggestions?

stanleybak commented 7 years ago

If I remember correctly, the problem you had was that the hybridization tests seem to freeze. Please correct me if that's not the current problem. You should try to run a single test at a time. For example, in eclipse you can go to the function defining the test such as testCheckHyperPlane and do run as junit test. If that freezes (or if once you identify the test that seems to freeze), add Hyst.debugMode = true; at the top of the test. This should print lots of debug information to the console. Copy and paste the output here, and we can figure out where it's getting stuck.

ttj commented 6 years ago

Finally getting back to this.

I had some issues in setting everything up from scratch.

In run_tests.py, it seems the constant from hybridpy.hybrid_tool import get_script_path referring to get_script_path is undefined. This was due to PYTHONPATH not including hybridpy. This was resolved (on Windows) via:

set PYTHONPATH=C:\Users\taylo\Desktop\hyst-pull\hyst\src\hybridpy

After this, I got an error from Hypy:

Warning: Could not find 'Hyst.jar' on your system: Environment variable HYPYPATH was not set. No file named 'Hyst.jar' was found in any of the directories in PATH Traceback (most recent call last): File "run_tests.py", line 186, in <module> main() File "run_tests.py", line 175, in main if parallel_run(files): File "run_tests.py", line 114, in parallel_run results = [run_single(i) for i in file_tool_iter(file_list, quit_flag)] File "run_tests.py", line 64, in run_single result = e.run(run_tool=SHOULD_RUN_TOOLS, timeout=to, save_stdout=True, image_path=base + ".png") File "C:\Users\taylo\Desktop\hyst-pull\hyst\src\hybridpy\hybridpy\hypy.py", line 273, in run rv['code'] = self._run_hyst(hypy_out, hyst_out) File "C:\Users\taylo\Desktop\hyst-pull\hyst\src\hybridpy\hybridpy\hypy.py", line 159, in _run_hyst raise RuntimeError('Hyst not found. Did you add the directory with Hyst.jar to HYPYPATH?') RuntimeError: Hyst not found. Did you add the directory with Hyst.jar to HYPYPATH?

This was resolved (on windows) via:

set HYPYPATH=C:\Users\taylo\Desktop\hyst-pull\hyst\src

The directories above are the current local clone of this pull request. After both of the above, reloading Eclipse is required or it doesn't get the new path variable updates (checked in commandline first calling python run_tests.py), and these commandline updates must be done in an adminstrative role console, or via the Windows path variables update GUI.

After doing this, HybridizePathTests, which relies on hypy, seemed to hang, probably due to missing some Python dependency.

All that said, all other junit tests passed when disabling hypy integration, and run_tests.py for integration tests passed, so I'm going to merge this to get the main line back on track.

Additionally, separately running test_gen_passes.py via ANT in Elcipse also was mostly successful.

Integration test log: `C:\Users\taylo\Desktop\hyst-pull\hyst\src\tests\integration>python run_tests.py Warning: Could not find 'flowstar' on your system: No file named 'flowstar' was found in any of the directories in HYPYPATH No file named 'flowstar' was found in any of the directories in PATH Tool 'flowstar' is not runnable. Warning: Could not find 'HyCreate2.8.jar' on your system: No file named 'HyCreate2.8.jar' was found in any of the directories in HYPYPATH No file named 'HyCreate2.8.jar' was found in any of the directories in PATH Tool 'hycreate' is not runnable. Warning: Could not find 'spaceex' on your system: No file named 'spaceex' was found in any of the directories in HYPYPATH No file named 'spaceex' was found in any of the directories in PATH Tool 'spaceex' is not runnable. Warning: Could not find 'dReach' on your system: No file named 'dReach' was found in any of the directories in HYPYPATH No file named 'dReach' was found in any of the directories in PATH Tool 'dreach' is not runnable. Script results (plots / model files / work dirs) will be saved to: C:\Users\taylo\Desktop\hyst-pull\hyst\src\tests\integration/result Warning: flowstar is not runnable. Tool will be skipped. Warning: dreach is not runnable. Tool will be skipped. Warning: spaceex is not runnable. Tool will be skipped. Warning: hycreate is not runnable. Tool will be skipped. Warning: Could not find 'flowstar' on your system: No file named 'flowstar' was found in any of the directories in HYPYPATH No file named 'flowstar' was found in any of the directories in PATH Tool 'flowstar' is not runnable. Warning: Could not find 'HyCreate2.8.jar' on your system: No file named 'HyCreate2.8.jar' was found in any of the directories in HYPYPATH No file named 'HyCreate2.8.jar' was found in any of the directories in PATH Tool 'hycreate' is not runnable. Warning: Could not find 'spaceex' on your system: No file named 'spaceex' was found in any of the directories in HYPYPATH No file named 'spaceex' was found in any of the directories in PATH Tool 'spaceex' is not runnable. Warning: Could not find 'dReach' on your system: No file named 'dReach' was found in any of the directories in HYPYPATH No file named 'dReach' was found in any of the directories in PATH Tool 'dreach' is not runnable. Using single-threaded tests 0/96 Running mcs_8 with flowstar and timeout 2.0 0/96 Finished mcs_8 with flowstar 1/96 Running mcs_8 with hylaa and timeout 2.0 1/96 Finished mcs_8 with hylaa 2/96 Running mcs_8 with dreach and timeout 2.0 2/96 Finished mcs_8 with dreach 3/96 Running mcs_8 with spaceex and timeout 2.0 3/96 Finished mcs_8 with spaceex 4/96 Running mcs_8 with hycreate and timeout 2.0 4/96 Finished mcs_8 with hycreate 5/96 Running mcs_8 with pysim and timeout 2.0 5/96 Finished mcs_8 with pysim 6/96 Running biology7d with flowstar and timeout 2.0 6/96 Finished biology7d with flowstar 7/96 Running biology9d with flowstar and timeout 2.0 7/96 Finished biology9d with flowstar 8/96 Running brusselator with flowstar and timeout 2.0 8/96 Finished brusselator with flowstar 9/96 Running cont_approx with flowstar and timeout 2.0 9/96 Finished cont_approx with flowstar 10/96 Running coupled_vanderpol with flowstar and timeout 2.0 10/96 Finished coupled_vanderpol with flowstar 11/96 Running heaterLygeros with flowstar and timeout 2.0 11/96 Finished heaterLygeros with flowstar 12/96 Running hybridized_phaver with flowstar and timeout 2.0 12/96 Finished hybridized_phaver with flowstar 13/96 Running hybridized_stc with flowstar and timeout 2.0 13/96 Finished hybridized_stc with flowstar 14/96 Running lorenz with flowstar and timeout 2.0 14/96 Finished lorenz with flowstar 15/96 Running pd_lut_linear with flowstar and timeout 2.0 15/96 Finished pd_lut_linear with flowstar 16/96 Running neuron with flowstar and timeout 2.0 16/96 Finished neuron with flowstar 17/96 Running pll_converted with flowstar and timeout 2.0 17/96 Finished pll_converted with flowstar 18/96 Running stable_3d with flowstar and timeout 2.0 18/96 Finished stable_3d with flowstar 19/96 Running vanderpol with flowstar and timeout 2.0 19/96 Finished vanderpol with flowstar 20/96 Running yaw_damper with flowstar and timeout 2.0 20/96 Finished yaw_damper with flowstar 21/96 Running biology7d with hylaa and timeout 2.0 21/96 Finished biology7d with hylaa 22/96 Running biology9d with hylaa and timeout 2.0 22/96 Finished biology9d with hylaa 23/96 Running brusselator with hylaa and timeout 2.0 23/96 Finished brusselator with hylaa 24/96 Running cont_approx with hylaa and timeout 2.0 24/96 Finished cont_approx with hylaa 25/96 Running coupled_vanderpol with hylaa and timeout 2.0 25/96 Finished coupled_vanderpol with hylaa 26/96 Running heaterLygeros with hylaa and timeout 2.0 26/96 Finished heaterLygeros with hylaa 27/96 Running hybridized_phaver with hylaa and timeout 2.0 27/96 Finished hybridized_phaver with hylaa 28/96 Running hybridized_stc with hylaa and timeout 2.0 28/96 Finished hybridized_stc with hylaa 29/96 Running lorenz with hylaa and timeout 2.0 29/96 Finished lorenz with hylaa 30/96 Running pd_lut_linear with hylaa and timeout 2.0 30/96 Finished pd_lut_linear with hylaa 31/96 Running neuron with hylaa and timeout 2.0 31/96 Finished neuron with hylaa 32/96 Running pll_converted with hylaa and timeout 2.0 32/96 Finished pll_converted with hylaa 33/96 Running stable_3d with hylaa and timeout 2.0 33/96 Finished stable_3d with hylaa 34/96 Running vanderpol with hylaa and timeout 2.0 34/96 Finished vanderpol with hylaa 35/96 Running yaw_damper with hylaa and timeout 2.0 35/96 Finished yaw_damper with hylaa 36/96 Running biology7d with dreach and timeout 2.0 36/96 Finished biology7d with dreach 37/96 Running biology9d with dreach and timeout 2.0 37/96 Finished biology9d with dreach 38/96 Running brusselator with dreach and timeout 2.0 38/96 Finished brusselator with dreach 39/96 Running cont_approx with dreach and timeout 2.0 39/96 Finished cont_approx with dreach 40/96 Running coupled_vanderpol with dreach and timeout 2.0 40/96 Finished coupled_vanderpol with dreach 41/96 Running heaterLygeros with dreach and timeout 2.0 41/96 Finished heaterLygeros with dreach 42/96 Running hybridized_phaver with dreach and timeout 2.0 42/96 Finished hybridized_phaver with dreach 43/96 Running hybridized_stc with dreach and timeout 2.0 43/96 Finished hybridized_stc with dreach 44/96 Running lorenz with dreach and timeout 2.0 44/96 Finished lorenz with dreach 45/96 Running pd_lut_linear with dreach and timeout 2.0 45/96 Finished pd_lut_linear with dreach 46/96 Running neuron with dreach and timeout 2.0 46/96 Finished neuron with dreach 47/96 Running pll_converted with dreach and timeout 2.0 47/96 Finished pll_converted with dreach 48/96 Running stable_3d with dreach and timeout 2.0 48/96 Finished stable_3d with dreach 49/96 Running vanderpol with dreach and timeout 2.0 49/96 Finished vanderpol with dreach 50/96 Running yaw_damper with dreach and timeout 2.0 50/96 Finished yaw_damper with dreach 51/96 Running biology7d with spaceex and timeout 2.0 51/96 Finished biology7d with spaceex 52/96 Running biology9d with spaceex and timeout 2.0 52/96 Finished biology9d with spaceex 53/96 Running brusselator with spaceex and timeout 2.0 53/96 Finished brusselator with spaceex 54/96 Running cont_approx with spaceex and timeout 2.0 54/96 Finished cont_approx with spaceex 55/96 Running coupled_vanderpol with spaceex and timeout 2.0 55/96 Finished coupled_vanderpol with spaceex 56/96 Running heaterLygeros with spaceex and timeout 2.0 56/96 Finished heaterLygeros with spaceex 57/96 Running hybridized_phaver with spaceex and timeout 2.0 57/96 Finished hybridized_phaver with spaceex 58/96 Running hybridized_stc with spaceex and timeout 2.0 58/96 Finished hybridized_stc with spaceex 59/96 Running lorenz with spaceex and timeout 2.0 59/96 Finished lorenz with spaceex 60/96 Running pd_lut_linear with spaceex and timeout 2.0 60/96 Finished pd_lut_linear with spaceex 61/96 Running neuron with spaceex and timeout 2.0 61/96 Finished neuron with spaceex 62/96 Running pll_converted with spaceex and timeout 2.0 62/96 Finished pll_converted with spaceex 63/96 Running stable_3d with spaceex and timeout 2.0 63/96 Finished stable_3d with spaceex 64/96 Running vanderpol with spaceex and timeout 2.0 64/96 Finished vanderpol with spaceex 65/96 Running yaw_damper with spaceex and timeout 2.0 65/96 Finished yaw_damper with spaceex 66/96 Running biology7d with hycreate and timeout 2.0 66/96 Finished biology7d with hycreate 67/96 Running biology9d with hycreate and timeout 2.0 67/96 Finished biology9d with hycreate 68/96 Running brusselator with hycreate and timeout 2.0 68/96 Finished brusselator with hycreate 69/96 Running cont_approx with hycreate and timeout 2.0 69/96 Finished cont_approx with hycreate 70/96 Running coupled_vanderpol with hycreate and timeout 2.0 70/96 Finished coupled_vanderpol with hycreate 71/96 Running heaterLygeros with hycreate and timeout 2.0 71/96 Finished heaterLygeros with hycreate 72/96 Running hybridized_phaver with hycreate and timeout 2.0 72/96 Finished hybridized_phaver with hycreate 73/96 Running hybridized_stc with hycreate and timeout 2.0 73/96 Finished hybridized_stc with hycreate 74/96 Running lorenz with hycreate and timeout 2.0 74/96 Finished lorenz with hycreate 75/96 Running pd_lut_linear with hycreate and timeout 2.0 75/96 Finished pd_lut_linear with hycreate 76/96 Running neuron with hycreate and timeout 2.0 76/96 Finished neuron with hycreate 77/96 Running pll_converted with hycreate and timeout 2.0 77/96 Finished pll_converted with hycreate 78/96 Running stable_3d with hycreate and timeout 2.0 78/96 Finished stable_3d with hycreate 79/96 Running vanderpol with hycreate and timeout 2.0 79/96 Finished vanderpol with hycreate 80/96 Running yaw_damper with hycreate and timeout 2.0 80/96 Finished yaw_damper with hycreate 81/96 Running biology7d with pysim and timeout 2.0 81/96 Finished biology7d with pysim 82/96 Running biology9d with pysim and timeout 2.0 82/96 Finished biology9d with pysim 83/96 Running brusselator with pysim and timeout 2.0 83/96 Finished brusselator with pysim 84/96 Running cont_approx with pysim and timeout 2.0 84/96 Finished cont_approx with pysim 85/96 Running coupled_vanderpol with pysim and timeout 2.0 85/96 Finished coupled_vanderpol with pysim 86/96 Running heaterLygeros with pysim and timeout 2.0 86/96 Finished heaterLygeros with pysim 87/96 Running hybridized_phaver with pysim and timeout 2.0 87/96 Finished hybridized_phaver with pysim 88/96 Running hybridized_stc with pysim and timeout 2.0 88/96 Finished hybridized_stc with pysim 89/96 Running lorenz with pysim and timeout 2.0 89/96 Finished lorenz with pysim 90/96 Running pd_lut_linear with pysim and timeout 2.0 90/96 Finished pd_lut_linear with pysim 91/96 Running neuron with pysim and timeout 2.0 91/96 Finished neuron with pysim 92/96 Running pll_converted with pysim and timeout 2.0 92/96 Finished pll_converted with pysim 93/96 Running stable_3d with pysim and timeout 2.0 93/96 Finished stable_3d with pysim 94/96 Running vanderpol with pysim and timeout 2.0 94/96 Finished vanderpol with pysim 95/96 Running yaw_damper with pysim and timeout 2.0 95/96 Finished yaw_damper with pysim Integration test conversion passed, but some tools were not run.

C:\Users\taylo\Desktop\hyst-pull\hyst\src\tests\integration>`

test_gen_passes.py results (error at bottom): ` test_gen_passes: [echo] Running generator and transformation pass tests... [exec] Warning: Could not find 'flowstar' on your system: [exec] No file named 'flowstar' was found in any of the directories in HYPYPATH [exec] No file named 'flowstar' was found in any of the directories in PATH [exec] Tool 'flowstar' is not runnable. [exec] Warning: Could not find 'HyCreate2.8.jar' on your system: [exec] No file named 'HyCreate2.8.jar' was found in any of the directories in HYPYPATH [exec] No file named 'HyCreate2.8.jar' was found in any of the directories in PATH [exec] Tool 'hycreate' is not runnable. [exec] Warning: Could not find 'spaceex' on your system: [exec] No file named 'spaceex' was found in any of the directories in HYPYPATH [exec] No file named 'spaceex' was found in any of the directories in PATH [exec] Tool 'spaceex' is not runnable. [exec] Warning: Could not find 'dReach' on your system: [exec] No file named 'dReach' was found in any of the directories in HYPYPATH [exec] No file named 'dReach' was found in any of the directories in PATH [exec] Tool 'dreach' is not runnable. [exec] Running nav_fig1b [exec] Running Hyst... [exec] Using Hyst to convert generated model for pysim. [exec] Hyst command: java -jar C:\Users\taylo\Desktop\hyst-pull\hyst\src\Hyst.jar -gen nav '-matrix -1.2 0.1 0.1 -1.2 -i_list B 2 4 4 3 4 2 2 A -width 3 -startx 0.5 -starty 1.5 -noise 0.1' -o nav_fig1b.py -tool pysim '-corners True -legend False -rand 100 -time 5 -title nav_fig1b' [exec] Seconds for Hyst conversion: 5.91100001335 [exec] Tool script exit code: 0 [exec] Hypy Elapsed Seconds: 15.7960000038 [exec] Hypy Result: Success [exec] Finished nav_fig1b [exec] Running nav_fig2a [exec] Running Hyst... [exec] Using Hyst to convert generated model for pysim. [exec] Hyst command: java -jar C:\Users\taylo\Desktop\hyst-pull\hyst\src\Hyst.jar -gen nav '-matrix -0.8 -0.2 -0.1 -0.8 -i_list 2 4 6 6 6 2 4 7 7 4 2 4 B 3 4 2 4 6 6 6 2 A 0 0 0 -width 5 -startx 3.5 -starty 3.5 -noise 0.1' -o nav_fig2a.py -tool pysim '-corners True -legend False -rand 100 -time 10 -title nav_fig2a' [exec] Seconds for Hyst conversion: 5.21599984169 [exec] Tool script exit code: 0 [exec] Hypy Elapsed Seconds: 21.0199999809 [exec] Hypy Result: Success [exec] Finished nav_fig2a [exec] Running nav_fig2b [exec] Running Hyst... [exec] Using Hyst to convert generated model for pysim. [exec] Hyst command: java -jar C:\Users\taylo\Desktop\hyst-pull\hyst\src\Hyst.jar -gen nav '-matrix -1.2 0.1 0.2 -1.2 -i_list 4 6 6 6 4 4 A 1 1 4 4 2 1 1 4 3 0 0 B 4 3 0 0 6 6 -width 5 -startx 3.5 -starty 3.5 -noise 0.1' -o nav_fig2b.py -tool pysim '-corners True -legend False -rand 100 -time 20 -title nav_fig2b' [exec] Seconds for Hyst conversion: 7.60099983215 [exec] Tool script exit code: 0 [exec] Hypy Elapsed Seconds: 34.1970000267 [exec] Hypy Result: Success [exec] Finished nav_fig2b [exec] Warning: Could not find 'flowstar' on your system: [exec] No file named 'flowstar' was found in any of the directories in HYPYPATH [exec] No file named 'flowstar' was found in any of the directories in PATH [exec] Tool 'flowstar' is not runnable. [exec] Warning: Could not find 'HyCreate2.8.jar' on your system: [exec] No file named 'HyCreate2.8.jar' was found in any of the directories in HYPYPATH [exec] No file named 'HyCreate2.8.jar' was found in any of the directories in PATH [exec] Tool 'hycreate' is not runnable. [exec] Warning: Could not find 'spaceex' on your system: [exec] No file named 'spaceex' was found in any of the directories in HYPYPATH [exec] No file named 'spaceex' was found in any of the directories in PATH [exec] Tool 'spaceex' is not runnable. [exec] Warning: Could not find 'dReach' on your system: [exec] No file named 'dReach' was found in any of the directories in HYPYPATH [exec] No file named 'dReach' was found in any of the directories in PATH [exec] Tool 'dreach' is not runnable. [exec] Running Drivetrain (Theta=1) [exec] Running Hyst... [exec] Using Hyst to convert generated model for pysim. [exec] Hyst command: java -jar C:\Users\taylo\Desktop\hyst-pull\hyst\src\Hyst.jar -gen drivetrain '-theta 1 -init_points 10' -o c:\users\taylo\appdata\local\temp\pysim_0_4655818.py -tool pysim '-title "Drivetrain (Theta=1)" -xdim 0 -ydim 2' [exec] Seconds for Hyst conversion: 6.83999991417 [exec] Tool script exit code: 0 [exec] Hypy Elapsed Seconds: 9.18300008774 [exec] Hypy Result: Success [exec] Finished Drivetrain (Theta=1) [exec] Warning: Could not find 'flowstar' on your system: [exec] No file named 'flowstar' was found in any of the directories in HYPYPATH [exec] No file named 'flowstar' was found in any of the directories in PATH [exec] Tool 'flowstar' is not runnable. [exec] Warning: Could not find 'HyCreate2.8.jar' on your system: [exec] No file named 'HyCreate2.8.jar' was found in any of the directories in HYPYPATH [exec] No file named 'HyCreate2.8.jar' was found in any of the directories in PATH [exec] Tool 'hycreate' is not runnable. [exec] Warning: Could not find 'spaceex' on your system: [exec] No file named 'spaceex' was found in any of the directories in HYPYPATH [exec] No file named 'spaceex' was found in any of the directories in PATH [exec] Tool 'spaceex' is not runnable. [exec] Warning: Could not find 'dReach' on your system: [exec] No file named 'dReach' was found in any of the directories in HYPYPATH [exec] No file named 'dReach' was found in any of the directories in PATH [exec] Tool 'dreach' is not runnable. [exec] Running original model to produce orignal.png (~12 seconds) [exec] Traceback (most recent call last): [exec] File "plot.py", line 40, in [exec] main() [exec] File "plot.py", line 10, in main [exec] run_without_pi() [exec] File "plot.py", line 25, in run_without_pi [exec] raise RuntimeError('Error:' + str(code)) [exec] RuntimeError: Error:Error (Unsupported Dynamics)

BUILD FAILED C:\Users\taylo\Desktop\hyst-pull\hyst\src\build.xml:263: exec returned: 1

Total time: 2 minutes`

python_test ANT command result: Buildfile: C:\Users\taylo\Desktop\hyst-pull\hyst\src\build.xml checkos: build-config: if_windows: if_linux: classpath: buildbin: buildjar: copyjar: run_jar_test: build: check_python: [exec] Python and required packages successfully detected. python_run_test: [echo] Python detected, running python unit tests. [exec] Warning: Could not find 'flowstar' on your system: [exec] No file named 'flowstar' was found in any of the directories in HYPYPATH [exec] No file named 'flowstar' was found in any of the directories in PATH [exec] Tool 'flowstar' is not runnable. [exec] Warning: Could not find 'HyCreate2.8.jar' on your system: [exec] No file named 'HyCreate2.8.jar' was found in any of the directories in HYPYPATH [exec] No file named 'HyCreate2.8.jar' was found in any of the directories in PATH [exec] Tool 'hycreate' is not runnable. [exec] Warning: Could not find 'spaceex' on your system: [exec] No file named 'spaceex' was found in any of the directories in HYPYPATH [exec] No file named 'spaceex' was found in any of the directories in PATH [exec] Tool 'spaceex' is not runnable. [exec] Warning: Could not find 'dReach' on your system: [exec] No file named 'dReach' was found in any of the directories in HYPYPATH [exec] No file named 'dReach' was found in any of the directories in PATH [exec] Tool 'dreach' is not runnable. [exec] Running Hyst... [exec] Using Hyst to convert generated model for flowstar. [exec] Hyst command: java -jar C:\Users\taylo\Desktop\hyst-pull\hyst\src\Hyst.jar -verbose -gen build '-vars t x -time_bound 1.0 -init on "t == 0 && x == 0" -modes on true 1 " x + [0.1, 0.2]"' -o c:\users\taylo\appdata\local\temp\flowstar_12680_7122086.flowstar -tool flowstar '' [exec] Verbose mode printing enabled. [exec] Checking preconditions for Flow* [exec] Finished converting in 112 ms [exec] Seconds for Hyst conversion: 1.31299996376 [exec] Hypy Elapsed Seconds: 1.31299996376 [exec] Hypy Result: Success [exec] ....... [exec] ---------------------------------------------------------------------- [exec] Ran 7 tests in 4.578s [exec] OK [exec] ............. [exec] ---------------------------------------------------------------------- [exec] Ran 13 tests in 7.233s [exec] OK python_message: python_test: BUILD SUCCESSFUL Total time: 22 seconds

python_run_test.py result: Buildfile: C:\Users\taylo\Desktop\hyst-pull\hyst\src\build.xml checkos: build-config: if_windows: if_linux: classpath: buildbin: buildjar: copyjar: run_jar_test: build: check_python: [exec] Python and required packages successfully detected. python_run_test: [echo] Python detected, running python unit tests. [exec] Warning: Could not find 'flowstar' on your system: [exec] No file named 'flowstar' was found in any of the directories in HYPYPATH [exec] No file named 'flowstar' was found in any of the directories in PATH [exec] Tool 'flowstar' is not runnable. [exec] Warning: Could not find 'HyCreate2.8.jar' on your system: [exec] No file named 'HyCreate2.8.jar' was found in any of the directories in HYPYPATH [exec] No file named 'HyCreate2.8.jar' was found in any of the directories in PATH [exec] Tool 'hycreate' is not runnable. [exec] Warning: Could not find 'spaceex' on your system: [exec] No file named 'spaceex' was found in any of the directories in HYPYPATH [exec] No file named 'spaceex' was found in any of the directories in PATH [exec] Tool 'spaceex' is not runnable. [exec] Warning: Could not find 'dReach' on your system: [exec] No file named 'dReach' was found in any of the directories in HYPYPATH [exec] No file named 'dReach' was found in any of the directories in PATH [exec] Tool 'dreach' is not runnable. [exec] Running Hyst... [exec] Using Hyst to convert generated model for flowstar. [exec] Hyst command: java -jar C:\Users\taylo\Desktop\hyst-pull\hyst\src\Hyst.jar -verbose -gen build '-vars t x -time_bound 1.0 -init on "t == 0 && x == 0" -modes on true 1 " x + [0.1, 0.2]"' -o c:\users\taylo\appdata\local\temp\flowstar_12691_6894100.flowstar -tool flowstar '' [exec] Verbose mode printing enabled. [exec] Checking preconditions for Flow* [exec] Finished converting in 120 ms [exec] Seconds for Hyst conversion: 1.30200004578 [exec] Hypy Elapsed Seconds: 1.3029999733 [exec] Hypy Result: Success [exec] ....... [exec] ---------------------------------------------------------------------- [exec] Ran 7 tests in 4.638s [exec] OK [exec] ............. [exec] ---------------------------------------------------------------------- [exec] Ran 13 tests in 7.410s [exec] OK BUILD SUCCESSFUL Total time: 17 seconds