« Return to Thread: Repast 2.0 with terracotta?

Re: Re past 2.0 with terracotta?

by charlie1kimo :: Rate this Message:

| View in Thread

Hi all,
sorry for kind of spamming the forum, but I really want to get terracotta feature to work and I think I am almost there.

For clustering purpose, I've created a StartRWorker with main method to start the worker JVM instances, along with routingIDs = localhost1, 2, 3, 4. (I started 4 instances of JVMs).
Then now I want to start master and dataGridManager to feed those 4 JVMs into the simulation. So I've put those 4 routerIDs in, and start the master and workers (because dataGridManager needs to have a List of workers) in the GUI simulation. Now I got two errors:

While starting master, the error is:
Starting...:
  list with routing IDs = [ localhost1 localhost2 localhost3 localhost4 ]
  routing ID for fail-over node = localhost4
2011-01-20 16:47:50,533 ERROR - OnLoad execute script failed for: class org.terracotta.message.topology.DefaultTopology error: self .topologyObservers  line: 3; Sourced file: inline evaluation of: ``                                                      self.topologyObservers = n . . . '' : Field access: bsh.ReflectError: No such field: topologyObservers
ERROR [AWT-EventQueue-0] 2011-01-20 16:47:50,571 repast.simphony.demo.terracotta.TerracottaContextBuilder - Problems reading in router in master
java.lang.NullPointerException
        at org.terracotta.message.topology.DefaultTopology.getOrCreatePipeFor(DefaultTopology.java:65)
        at org.terracotta.masterworker.AbstractMaster.doRegister(AbstractMaster.java:134)
        at org.terracotta.masterworker.AbstractMaster.<init>(AbstractMaster.java:58)
        at org.terracotta.workmanager.AbstractWorkManager.<init>(AbstractWorkManager.java:50)
        at org.terracotta.workmanager.statik.StaticWorkManager.<init>(StaticWorkManager.java:40)
        at repast.simphony.terracotta.datagrid.DataGridMaster.<init>(DataGridMaster.java:88)
        at repast.simphony.terracotta.datagrid.StartMaster.startExample(StartMaster.java:52)
        at biomod.fcc.ISCM.ISCMBuilder.build(ISCMBuilder.java:59)
        at repast.simphony.dataLoader.engine.ClassNameContextBuilder.build(ClassNameContextBuilder.java:41)
        ...
        (below are the stack trace to some GUI codes)

While starting workers, the error is:
-- starting workers...
2011-01-20 16:47:50,598 ERROR - OnLoad execute script failed for: class org.terracotta.message.topology.DefaultTopology error: self .topologyObservers  line: 3; Sourced file: inline evaluation of: ``                                                      self.topologyObservers = n . . . '' : Field access: bsh.ReflectError: No such field: topologyObservers
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0
        at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999)
        at java.awt.image.BufferedImage.<init>(BufferedImage.java:312)
        at repast.simphony.ui.widget.IconRotator.rotate(IconRotator.java:51)
        at repast.simphony.ui.widget.IconRotator.access$0(IconRotator.java:47)
        at repast.simphony.ui.widget.IconRotator$1.actionPerformed(IconRotator.java:32)
        at javax.swing.Timer.fireActionPerformed(Timer.java:271)
        at javax.swing.Timer$DoPostEvent.run(Timer.java:201)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


It seems like starting master is having a BIGGER issue with topology settings, and starting workers might just have something wrong with the simulation initialization...but I am not sure.
I've search around and apparently the terracotta support in Repast is the old version of terracotta TIM modules, so it was really hard to find the documentations and support as well...

It's really frustrated...
so if anyone could provide some sort of directions or opinions that would be extremely helpful...

Thank you.

-Charlie-


Hi All,
so I've decided to try to implement terracotta feature on my own project. That's why it took a while...
I am able to get the terracotta settings to run with my Repast project. However, I believed the master and worker I setup did not start. I couldn't see the connection on terracotta console.

I basically implement the terracotta demo's codes into my project, and I tried to go through the code and I couldn't find the source code of org.terracotta.workmanager.DefaultWorker
I think there is something wrong in starting the master and workers...
Does anyone have some idea about this issues?

Thanks a lot...

-Charlie-

charlie1kimo wrote:
Hi Mark,
You actually pointed out some interesting thing...
I converted this terracotta demo from Repast 1.2.0 to 2.0 beta, so I guess
some of the package structure has been changed? This could be a problem.

I spotted that in my repast.simphony.action.display_1.xml:
...
<projectionDescriptors>
  <entry>
    <string>Terracotta Grid</string>
    <repast.simphony.visualization.grid.GridProjectionDescriptor>
      <proj class="repast.score.impl.SGridImpl"
reference="../../../../projections/repast.score.impl.SGridImpl" />
      <entry>
...

I did a search on that class and its src, and I didn't find it in Repast 2.0
beta. I believed that's the problem. Can anyone tell me where to find this
grid implementation class in Repast 2.0? I'll report if this really IS the
problem.

Thank you guys very much

-Charlie-



Altaweel, Mark R. wrote:
>
> Seems like it can't find something called: terracottaGrid, but I believe
> the name should be: "Terracotta Grid"
>
> Have you tried making that adjustment?
>
> Mark
> On Jan 11, 2011, at 5:15 PM, charlie1kimo wrote:
>
>
> Thank you for your reply, but I couldn't get repast with terracotta to
> work
> in eclipse, as I stated in my previous posts. The problem was the log4j
> path
> issue. When I used eclipse to run terracotta demo, repast runtime library
> is
> using "repast.simphony.bin_and_src," which had log4j error. However, when
> I
> modified the runtime library path using "repast.simphony.runtime" and run
> it
> in the terminal. It can launch repast window just fine. Therefore the
> debugging tools in eclipse is NOT useful to me... ...
>
> So I turned to command line tool -- jdb.
> I was able to set the break points based on what I read in the source
> codes
> (which are from repast.simphony.bin_and_src"). Since the console output
> stopped at "starting workers...," I was curious if some communication
> process in terracotta got hung. Thus, I set the break point in all the
> StartWorker method. However when I stepped through them, they seemed to
> pass
> just fine without any repetitive commands. (I checked the classes and
> lines
> each time when I stepped, so if there is a infinite loop I'll see...) The
> step result terminated at some gui method call and it seemed to initialize
> just fine, except missing a display for this terracotta demo.
>
> Now I started to suspect this problem is the DISPLAY issue, since I can
> press "step" and "run" in the repast window after initialized. Are you
> guys
> sure the display will be automatically initialized by this demo??? I was
> curious because I didn't see any Displays in "scenario tree" even after
> initialized. I remembered in some demo I tried I had to manually create
> display...
>
> So I tried to create one through Repast window, and it failed to create
> the
> display due to:
> ...
> Caused by: java.lang.RuntimeException: Projection 'terracottaGrid' not
> found.
>    at
> repast.simphony.visualization.engine.AbstractDisplayCreator.createLayout(AbstractDisplayCreator.java:51)
>    at
> repast.simphony.visualization.engine.DisplayCreatorOGL2D.createDisplay(DisplayCreatorOGL2D.java:62)
> ...38 more
> ...
>
> I'll attach the full error log of creating display here:
> http://old.nabble.com/file/p30648864/errorDisplay.log errorDisplay.log
>
> Any helps on this? I really REALLY would like to get this feature to work,
> and I think I am almost there.
> Thanks for all your helps so far!!!
>
> -Charlie-
>
>
> North, Michael wrote:
>
> Thank you for using Repast! All of the Repast source code is accessible
> through the repast.simphony.bin_and_src.jar in the
> plugins/repast.simphony.bin_and_src_2.0.0 directory. By default the source
> code in the JAR file is linked in so the Eclipse debugger can trace
> through it.
>
> Repast does quite a bit of work for you on startup. As such, I would start
> to debug your model by putting a breakpoint in your own code near the area
> of interest rather than in the Repast code itself. A short guide on using
> the Eclipse debugger can be found here:
>
>    http://www.ibm.com/developerworks/library/os-ecbug/
>
> Mike
>
> On 1/7/11 5:44 PM, "charlie1kimo"
> <ChenYiChen@lbl.gov<mailto:ChenYiChen@lbl.gov>> wrote:
>
>
> Unfortunately, I can't find a way to let the code goes steps by steps in
> eclipse debugger, since I think the debugger required the source codes,
> and
> I think repast.runtime.Main only has "class."...
> or it could also be I am not familiar with eclipse debugger, any solutions
> of how to debug this are welcome.
>
> However, I did a java stack trace using jstack tool. Here are the threads
> dumped before Repast simulation initialization (which is just openning
> repast windows and waiting user to do things), and after I initialized the
> Repast simulation.
> I called the logs before and after in the file name, and I'll attached it
> here.
> I figured 4 threads were generated after I pressed the "initialize"
> button,
> by simply doing a diff on the thread dumps. They are threads 16 ~ 19.
> I don't quite understand what those packages ( such as
> bytecode.ManageImpl,
> concurrent.LinkedBlockingQueue ) for in the process of parallelization.
> But
> it seems like I have a possible deadlock in creating sharing objects???
> The weird thing is when I used jconsole to debug these threads, it didn't
> think there are deadlock anywhere...so I really don't know what's going on
> here...
>
> Here are the full thread dump logs:
> http://old.nabble.com/file/p30619197/jstack_before.log jstack_before.log
> http://old.nabble.com/file/p30619197/jstack_after.log jstack_after.log
>
> Does anyone has any ideas of what's going on? Any help would be highly
> appreciated. Thanks!!!
>
> -Charlie-
>
>
>
>
> Altaweel, Mark R. wrote:
>
> Do you know at what point the run gets hung? Is there a way to debug and
> see where the code hangs?
>
> There should be a 2D display that comes up in the demo. It should show
> agents moving around randomly more or less.
>
> Mark
> On Jan 5, 2011, at 7:05 PM, charlie1kimo wrote:
>
>
> Hi Mark,
> First thanks for the quick reply.
> I went through the stream of message in Feb 2009, and apparently the
> problem
> was not solved...
> I still have trouble running repast with terracotta in eclipse because
> of
> the strange path look up issues (like repast was run in
> repast.simphony.bin_and_src.jar when run with terracotta DSO, and was
> run
> in
> repast.simphony.runtime.bin when run without terracotta), but at least
> gave
> me some ideas and directions to try for.
>
> So I actually combine my run parameters from with and without
> terracotta,
> and run it from the command line. Now terracotta client starts okay, it
> connected to the sever, I can see the connection through terracotta
> develop
> console...etc. But when I make both master and worker to be localhost,
> and
> initialize the model, it's having the same problem as running without
> terracotta. It's the problem with stuck at the "starting workers" step.
> Here is the console output:
>
> 2011-01-05 16:58:29,409 INFO - Terracotta 3.4.0, as of 20101104-141154
> (Revision 16614 by cruise@su10mo4 from 3.4)
> 2011-01-05 16:58:29,804 INFO - Successfully loaded base configuration
> from
> file at
>
> '/data2/home/charlie/workspace/test_repast_terracotta_demo/testrepastter
> racottademo.rs/tc-config.xml'.
> 2011-01-05 16:58:29,995 INFO - Log file:
> '/data2/home/charlie/terracotta/client-logs/terracotta-client.log'.
> 2011-01-05 16:58:31,322 INFO - Connection successfully established to
> server
> at 127.0.0.1:9510
> Starting...:
> list with routing IDs         = [ localhost ]
> routing ID for fail-over node = localhost
> -- starting workers...
>
> There's something happened in client-log that lead to a
> CommonShutDownHook,
> which closed the local worker node I believed, but I am not sure what's
> the
> reason.
>
> I attached the server log and client log here for the reference
> http://old.nabble.com/file/p30601758/terracotta-client.log
> terracotta-client.log
> http://old.nabble.com/file/p30601758/terracotta-server.log
> terracotta-server.log
>
> Lastly, is this demo suppose to create display on its own? I tried to
> create
> a 2D display myself but it would crash the repast window...
>
> Thanks for the help!
>
> -Charlie-
>
>
> Altaweel, Mark R. wrote:
>
> There is a similar problem by another user back from February 2009.
>
> I listed the link to the stream of messages below:
>
>
> http://sourceforge.net/mailarchive/forum.php?thread_name=5FDF261785B44C
> 4DB302979A658D006102AE3BA8%40spike.dis.anl.gov&forum_name=repast-intere
> st
>
>
> On Jan 4, 2011, at 8:40 PM, charlie1kimo wrote:
>
>
> hmm...
> I believed it wouldn't be a firewall issue here.
> I could NOT run the demo with terracotta DSO because it was giving me
> the
> log4j error.
> The repast windows wouldn't start, and the console just showed log4j
> was
> not
> found and needed to be initialized.
>
> So I tried running the demo LOCALLY, which is just run the demo as a
> standard java/repast application.
> I put both my master and worker as "localhost," so it wouldn't have
> the
> firewall problem.
> Somehow, running locally on localhost made "starting workers" hang.
>
> I've also tried the terracotta's HelloClusteredWorld sample on our
> machine,
> and I can start the clients within eclipse and connect to the
> localhost
> server, which means terracotta is working...
>
> I guess for some reasons when eclipse runs terracotta DSO project, it
> missed
> the path to find log4j?
>
> Any ideas about what happened would be highly appreciated
>
> Thanks
>
> -Charlie-
>
>
> Altaweel, Mark R. wrote:
>
> One thing you might want to check is the firewall settings on your
> remote
> nodes. It sounds like some communication might be stalled some place
> and
> this might be preventing terracota from communicating between your
> nodes.
> The demo should have agents basically moving around the grid;
> however,
> outside of that there is not much behavior as this is just a demo of
> using
> terracotta.
>
> Also, if you might want to look at the repast.distributedBatch
> plugin
> (more info see:
>
> http://repast.sourceforge.net/docs/RepastParameterSweepsGettingStarte
> d.pdf).
> This enables distributed batch runs using multiple nodes, which
> might
> be
> useful for the type of simulations you want to do.
>
> Mark
> On Jan 4, 2011, at 6:50 PM, charlie1kimo wrote:
>
>
> Hi all,
> Recently I am trying to run repast with terracotta as well. I tried
> to
> get
> the terracotta demo in repast package (the one with
> AgentManager.java
> and
> DoSomeActionAgent.java) to work but to no avail.
> Is this demo suppose to do something? or this demo is just a
> template
> for
> putting terracotta in your project?
>
> Here's my test runs with terracott:
> I've copied the terracotta demo into a separate project, and
> started
> from
> there.
> I configured the eclipse terracotta plugins and run configuration
> to
> read
> the correct tc-config.xml as well.
> Due to the bug in eclipse 64bit and terracotta plugin, I have to
> start
> the
> terracotta server from command line, but that's ok because the
> terracotta
> server started fine; I can also connect to the terracotta managing
> console.
>
> Then I ran this repast terracotta demo with DSO terracotta, and the
> following is what I got:
>
> 2011-01-04 16:41:33,160 INFO - Terracotta 3.4.0, as of
> 20101104-141154
> (Revision 16614 by cruise@su10mo4 from 3.4)
> 2011-01-04 16:41:33,566 INFO - Successfully loaded base
> configuration
> from
> file at
>
> '/data2/home/charlie/workspace/test_repast_terracotta_demo/testrepas
> tterracottademo.rs/tc-config.xml'.
> 2011-01-04 16:41:33,753 INFO - Log file:
>
> '/data2/home/charlie/workspace/test_repast_terracotta_demo/terracott
> a/client-logs/terracotta-client.log'.
> 2011-01-04 16:41:35,126 INFO - Connection successfully established
> to
> server
> at 127.0.0.1:9510
> log4j:WARN No appenders could be found for logger
> (MessageCenter.INTERNAL.saf.core.runtime.Boot).
> log4j:WARN Please initialize the log4j system properly.
>
> Apparently it can connect to my server, but it died immediately
> after
> the
> connection due to the famous log4j error. (seems lots of people
> have
> this
> error)
>
> So I tried to run this demo without terracotta, and it seemed to
> work,
> except it hanged at "starting workers" when I initialized it:
>
> Starting...:
> list with routing IDs      = [ localhost ]
> routing ID for fail-over node = localhost
> -- starting workers...
>
> Is this the right behavior for this demo? I have a feeling that
> this
> demo
> is
> actually doing NOTHING.
> anyone has any ideas? In addition, I believed my log4j can be found
> in
> the
> build path, since it ran without terracotta successfully, it just
> hanged
> at
> the "starting workers."
>
> Lastly, some side notes for people who also testing this, when I
> ran
> this
> demo without terracotta DSO, I have to input parameter for
> "routerIDs."
> "routerIDs" has to have at least 2 hosts, separated by comma.
>
> Thanks in advance for any suggestions
>
> -Charlie-
>
> --
> View this message in context:
>
> http://old.nabble.com/Repast-2.0-with-terracotta--tp30592413p3059241
> 3.html
> Sent from the repast-interest mailing list archive at
> Nabble.com<http://Nabble.com>.
>
>
>
> --------------------------------------------------------------------
> ----------
> Learn how Oracle Real Application Clusters (RAC) One Node allows
> customers
> to consolidate database storage, standardize their database
> environment,
> and,
> should the need arise, upgrade to a full multi-node Oracle RAC
> database
> without downtime or disruption
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> Repast-interest mailing list
> Repast-interest@lists.sourceforge.net<mailto:Repast-interest@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/repast-interest
>
>
>
> ---------------------------------------------------------------------
> ---------
> Learn how Oracle Real Application Clusters (RAC) One Node allows
> customers
> to consolidate database storage, standardize their database
> environment,
> and,
> should the need arise, upgrade to a full multi-node Oracle RAC
> database
> without downtime or disruption
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> Repast-interest mailing list
> Repast-interest@lists.sourceforge.net<mailto:Repast-interest@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/repast-interest
>
>
>
> --
> View this message in context:
>
> http://old.nabble.com/Repast-2.0-with-terracotta--tp30592413p30592919.
> html
> Sent from the repast-interest mailing list archive at
> Nabble.com<http://Nabble.com>.
>
>
>
> ----------------------------------------------------------------------
> --------
> Learn how Oracle Real Application Clusters (RAC) One Node allows
> customers
> to consolidate database storage, standardize their database
> environment,
> and,
> should the need arise, upgrade to a full multi-node Oracle RAC
> database
> without downtime or disruption
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> Repast-interest mailing list
> Repast-interest@lists.sourceforge.net<mailto:Repast-interest@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/repast-interest
>
>
>
> -----------------------------------------------------------------------
> -------
> Learn how Oracle Real Application Clusters (RAC) One Node allows
> customers
> to consolidate database storage, standardize their database
> environment,
> and,
> should the need arise, upgrade to a full multi-node Oracle RAC
> database
> without downtime or disruption
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> Repast-interest mailing list
> Repast-interest@lists.sourceforge.net<mailto:Repast-interest@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/repast-interest
>
>
>
> --
> View this message in context:
>
> http://old.nabble.com/Repast-2.0-with-terracotta--tp30592413p30601758.ht
> ml
> Sent from the repast-interest mailing list archive at
> Nabble.com<http://Nabble.com>.
>
>
>
> ------------------------------------------------------------------------
> ------
> Learn how Oracle Real Application Clusters (RAC) One Node allows
> customers
> to consolidate database storage, standardize their database
> environment,
> and,
> should the need arise, upgrade to a full multi-node Oracle RAC database
> without downtime or disruption
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> Repast-interest mailing list
> Repast-interest@lists.sourceforge.net<mailto:Repast-interest@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/repast-interest
>
>
>
> -------------------------------------------------------------------------
> -----
> Learn how Oracle Real Application Clusters (RAC) One Node allows
> customers
> to consolidate database storage, standardize their database environment,
> and,
> should the need arise, upgrade to a full multi-node Oracle RAC database
> without downtime or disruption
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> Repast-interest mailing list
> Repast-interest@lists.sourceforge.net<mailto:Repast-interest@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/repast-interest
>
>
>
> --
> View this message in context:
> http://old.nabble.com/Repast-2.0-with-terracotta--tp30592413p30619197.html
> Sent from the repast-interest mailing list archive at
> Nabble.com<http://Nabble.com>.
>
>
> --------------------------------------------------------------------------
> ----
> Gaining the trust of online customers is vital for the success of any
> company
> that requires sensitive data to be transmitted over the Web.   Learn how
> to
> best implement a security strategy that keeps consumers' information
> secure
> and instills the confidence they need to proceed with transactions.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> Repast-interest mailing list
> Repast-interest@lists.sourceforge.net<mailto:Repast-interest@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/repast-interest
>
>
> ------------------------------------------------------------------------------
> Gaining the trust of online customers is vital for the success of any
> company
> that requires sensitive data to be transmitted over the Web.   Learn how
> to
> best implement a security strategy that keeps consumers' information
> secure
> and instills the confidence they need to proceed with transactions.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> Repast-interest mailing list
> Repast-interest@lists.sourceforge.net<mailto:Repast-interest@lists.sourceforge.net>
> https://lists.sourceforge.net/lists/listinfo/repast-interest
>
>
>
> --
> View this message in context:
> http://old.nabble.com/Repast-2.0-with-terracotta--tp30592413p30648864.html
> Sent from the repast-interest mailing list archive at
> Nabble.com<http://Nabble.com>.
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> Repast-interest mailing list
> Repast-interest@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/repast-interest
>
>
> ------------------------------------------------------------------------------
> Protect Your Site and Customers from Malware Attacks
> Learn about various malware tactics and how to avoid them. Understand
> malware threats, the impact they can have on your business, and how you
> can protect your company and customers by using code signing.
> http://p.sf.net/sfu/oracle-sfdevnl
> _______________________________________________
> Repast-interest mailing list
> Repast-interest@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/repast-interest
>
>

--
View this message in context: http://old.nabble.com/Repast-2.0-with-terracotta--tp30592413p30654357.html
Sent from the repast-interest mailing list archive at Nabble.com.


------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Repast-interest mailing list
Repast-interest@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/repast-interest

 « Return to Thread: Repast 2.0 with terracotta?