Hey Daniel,

That `BrowserCompiler` method takes in a whole nlogo file, so you'll need 
to pass something that has a whole file's worth of info:  
https://github.com/NetLogo/NetLogo/wiki/File-%28.nlogo%29-and-Widget-Format

Most of those sections can be blank, and you'd put your code in the "code 
tab" section.

But it looks like you're trying to run some bare commands.  For that you're 
going to need to use a different `BrowserCompiler` method.  Check out the 
`run`, `runReporter`, and `runBabyBehaviorSpace` methods on the 
`session-lite.coffee` in Galapagos for examples of that:  
https://github.com/NetLogo/Galapagos/blob/master/app/assets/javascripts/beak/session-lite.coffee#L237-L330

-Jeremy

On Wednesday, July 3, 2019 at 6:06:42 AM UTC-5, Daniel Graungaard wrote:
>
> The answer provided in #3 was exactly what I was looking for. Thanks so 
> much for that.
>
> However I keep getting "success false", with the message: "Models must 
> have 12 sections, this had 1". 
>
> I have looked through both test and code from Galapagos, and have tried 
> different values for the nlogo string. However I keep getting the error.
>
> Do you have any idea why or can you provide the format for the nlogo 
> string? 
>
> I have attached screenshots of my code and outputs below. 
>
> //Daniel
>
>
>
> On Wednesday, 3 July 2019 08:40:27 UTC+2, Daniel Graungaard wrote:
>>
>> Hi Jeremy 
>>
>> Thank you so much for your very detailed answer. The use case I am 
>> working on is closest to #3. 
>>
>> I had been looking on Galapagos and Teletortoise (which I know is 
>> discontinued) to see if I could come up with how to use tortoise. 
>>
>> However your instructions was really helpful. I am going to try them out, 
>> and see how it goes.
>>
>> Thank you :) 
>>
>> //Daniel
>>
>> On Tuesday, 2 July 2019 23:44:53 UTC+2, Jeremy Baker wrote:
>>>
>>> Hey Daniel!  Welcome.
>>>
>>> The answer here really depends on what you're trying to use Tortoise 
>>> for, but I tried to cover the possibilities below.  If I missed you're use 
>>> case, just let me know and I'll try to fill in more details.
>>>
>>> 0) The first thing I'd point out is that Tortoise is just the compiler 
>>> and engine for NetLogo Web, it doesn't include any front-end UI or view 
>>> code.  For that, there is Galapagos, which gives a UI for loading models 
>>> and also runs models, updating a view for them while they go:  
>>> https://github.com/NetLogo/Galapagos.  If you want to make changes to 
>>> Tortoise and see those in a front-end, check out the instructions in the 
>>> Galapagos repo for that:  
>>> https://github.com/NetLogo/Galapagos/wiki/Contributing#publishing-tortoise-changes
>>>
>>> 1) If you're trying to make changes to the Tortoise code to do things 
>>> like adding features or changing existing primitives, you're probably best 
>>> served using the tests built into Tortoise in order to "use" it.  You can 
>>> take a look at `Tortoise.txt` to see how add simple NetLogo language tests, 
>>> or `Model.scala` to add a whole model for testing if you prefer to test 
>>> that way.  More info on tests:  
>>> https://github.com/NetLogo/Tortoise/wiki/Tortoise-Tests
>>>
>>> 2) If you're trying to compile and run models headless-ly, then I'd 
>>> recommend using NetLogo desktop, as it's probably going to be better for 
>>> that purpose than Tortoise, especially with BehaviorSpace.
>>>
>>> 3) If you're trying to build your own UI around Tortoise from within 
>>> Javascript (or just want to play with it), then the best reference will 
>>> probably be the Galapagos project code.  The short steps to using the 
>>> Tortoise compiler and engine from a Javascript runtime (a web page loaded 
>>> in a browser, Node.js):
>>>
>>>
>>>    - Get the `tortoise-engine.js` and `tortoise-compiler.js` files 
>>>    added/loaded to your environment.  If you run `netLogoWeb/package` from 
>>>    within sbt, you'll get a copy of those in the 
>>> `netlogo-web/target/classes` 
>>>    folder to copy off.
>>>    - Run `var compiler = new BrowserCompiler()` to get a compiler 
>>>    instance to use with NetLogo model code.
>>>    - Run `var compilation = compiler.fromNlogo(nlogo, [])` where 
>>>    `nlogo` is a string with your NetLogo model code, as if from an `.nlogo` 
>>>    file.  There are other methods exposed on `BrowserCompiler` as well:  
>>>    
>>> https://github.com/NetLogo/Tortoise/blob/master/compiler/js/src/main/scala/BrowserCompiler.scala
>>>    - Now `compilation` should have some data like `{ model: { success: 
>>>    true, result: jsCode }, widgets: widgetJSONArray }` (assuming success).
>>>    - You can then use that `compilation.model.result` along with 
>>>    `eval()` to load the generated model Javascript for execution.
>>>    - Feel free to check out the `compilation.model.result` to see what 
>>>       the generated Javascript for a model looks like.  That will help know 
>>> what 
>>>       you can do with it.
>>>       - The procedures from the model will be placed in a `procedures` 
>>>       object in the global context (or the context you `eval()` in, 
>>> really), so 
>>>       you can then do things like `procedures["SETUP"]` or 
>>> `procedures["GO"]`.
>>>       - You'll also have a `world` object with some interesting 
>>>       properties, like `world.observer.varNames()` and also a `workspace` 
>>> with 
>>>       objects and functions needed for the engine to run.
>>>    
>>>
>>> That doesn't get you a view or usable widgets or anything like that (see 
>>> item #0), but will get you a model you can run or mess around with a bit. 
>>>
>>> I hope that helps!
>>>
>>> -Jeremy
>>>
>>> On Tuesday, July 2, 2019 at 9:28:32 AM UTC-5, Daniel Graungaard wrote:
>>>>
>>>> Hi everybody!
>>>>
>>>> I have been trying to get Tortoise to run on my own machine for a 
>>>> couple of days. My plan is to try and use it for a reserach experiment on 
>>>> collaborative computing and CT, so I really need to be able to run it on 
>>>> my 
>>>> own machine /server. As I really want NetLogo to be part of this, Tortoise 
>>>> seemed very promising.
>>>>
>>>> I have tried multiple things, including figuring out which version of 
>>>> GraalVM is used, and can now compile everything without errors. 
>>>>
>>>> However, I have no overview of the project, and no idea about how to 
>>>> actually run the thing. I have been looking for an explanation both in 
>>>> here 
>>>> and in the different repos without luck.
>>>>
>>>> Can somebody provide me with a quick intro into how to actually run 
>>>> Tortoise, or point me in the direction of a ressource with an explanation? 
>>>>
>>>> I have prior experience with java and Nodejs, so I am not looking for a 
>>>> complete tutorial, developement guide or documentation. Just some quick 
>>>> pointers to get over the initial confusion.
>>>>
>>>> Really hopes anybody can help me.
>>>>
>>>> //Daniel
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"netlogo-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to netlogo-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/netlogo-devel/f3a6d3e1-8f95-4b90-92bc-c21b9b990acb%40googlegroups.com.

Reply via email to