HLA & Groovy

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
tog
Reply | Threaded
Open this post in threaded view
|

HLA & Groovy

tog
Hello,

I remember sometimes ago, some people reporting usage of Groovy for HLA
based simulation. I would be interesting on knowing a little bit more on
what
they are doing in that field with Groovy ? RTI prototyping ? Reuse of a
commercial
RTI for developping HLA based simulations ?

Thanks
tog
Reply | Threaded
Open this post in threaded view
|

RE: HLA & Groovy

braddillman
Hi, that's me.

We're using Groovy to write federates. I wrote a class library which
wraps the RTI and simplifies it a bit, automatically tracking object
lifecycle and performing encoding/decoding between binary and Java
objects and primitives. The necessary information is parsed from an IEEE
1516 FDD (we use an FDD even on 1.3NG federations).

I designed the library to make good use of java.util.Map so that I could
use GPath to simply get what I want. GPath is my favourite Groovy
feature, with support with Maps and List close behind.

Our development style is to use more smaller-grained federates, rather
than a few big applications. So scripting (ahem, pardon me, dynamic
languages) seems to fit well.

I'm also interested in the OpenHLA project over on sourceforge,
http://sourceforge.net/projects/ohla and I'm working on an
implementation of time management (since we actually use time
management), but I'm not using any Groovy in that... yet... ;-)

Thanks,
Brad Dillman
Defence Research & Development Canada Atlantic
Dartmouth, NS

-----Original Message-----
From: tog [mailto:[hidden email]]
Sent: Sunday, March 05, 2006 3:00 AM
To: [hidden email]
Subject: [groovy-user] HLA & Groovy

Hello,

I remember sometimes ago, some people reporting usage of Groovy for HLA
based simulation. I would be interesting on knowing a little bit more on

what
they are doing in that field with Groovy ? RTI prototyping ? Reuse of a
commercial
RTI for developping HLA based simulations ?

Thanks
tog
Reply | Threaded
Open this post in threaded view
|

RE: HLA & Groovy

Dierk König
I have no idea what what HLA nor RTI is.
I also found no useful definition of 'federates'.

Seems to be a military thing. Could you briefly explain?

Mittie

> -----Original Message-----
> From: Dillman, Brad [mailto:[hidden email]]
> Sent: Montag, 6. Marz 2006 14:42
> To: [hidden email]
> Subject: RE: [groovy-user] HLA & Groovy
>
>
> Hi, that's me.
>
> We're using Groovy to write federates. I wrote a class library which
> wraps the RTI and simplifies it a bit, automatically tracking object
> lifecycle and performing encoding/decoding between binary and Java
> objects and primitives. The necessary information is parsed from an IEEE
> 1516 FDD (we use an FDD even on 1.3NG federations).
>
> I designed the library to make good use of java.util.Map so that I could
> use GPath to simply get what I want. GPath is my favourite Groovy
> feature, with support with Maps and List close behind.
>
> Our development style is to use more smaller-grained federates, rather
> than a few big applications. So scripting (ahem, pardon me, dynamic
> languages) seems to fit well.
>
> I'm also interested in the OpenHLA project over on sourceforge,
> http://sourceforge.net/projects/ohla and I'm working on an
> implementation of time management (since we actually use time
> management), but I'm not using any Groovy in that... yet... ;-)
>
> Thanks,
> Brad Dillman
> Defence Research & Development Canada Atlantic
> Dartmouth, NS
>
> -----Original Message-----
> From: tog [mailto:[hidden email]]
> Sent: Sunday, March 05, 2006 3:00 AM
> To: [hidden email]
> Subject: [groovy-user] HLA & Groovy
>
> Hello,
>
> I remember sometimes ago, some people reporting usage of Groovy for HLA
> based simulation. I would be interesting on knowing a little bit more on
>
> what
> they are doing in that field with Groovy ? RTI prototyping ? Reuse of a
> commercial
> RTI for developping HLA based simulations ?
>
> Thanks
> tog
tog
Reply | Threaded
Open this post in threaded view
|

Re: HLA & Groovy

tog
Dierk,

HLA means High level Architecture. It is an IEEE standard  initially proposed by the DoD  so yes  it has to do originally with military simulation. More generally, it is used
for fine grain time dependant distributed simulations. RTI mean Run Time Infrastructure - this is a part of an HLA implementation. More info here: http://www.mcrlab.uottawa.ca/research/CRC.html

So this is a very specific niche of distributed simulation which nowadays tends to be superseded by an other standard coming from OMG : DDS (Data distribution System);

It could be interesting to see the role of a language such as groovy in such application
Yet another DSL ;-)

cheers
tog

PS: Of course Brad feel free to comment since you're the HLA expert on this list ;-)


On 3/6/06, Dierk Koenig <[hidden email]> wrote:
I have no idea what what HLA nor RTI is.
I also found no useful definition of 'federates'.

Seems to be a military thing. Could you briefly explain?

Mittie

> -----Original Message-----
> From: Dillman, Brad [mailto: [hidden email]]
> Sent: Montag, 6. Marz 2006 14:42
> To: [hidden email]
> Subject: RE: [groovy-user] HLA & Groovy
>
>
> Hi, that's me.
>
> We're using Groovy to write federates. I wrote a class library which
> wraps the RTI and simplifies it a bit, automatically tracking object
> lifecycle and performing encoding/decoding between binary and Java
> objects and primitives. The necessary information is parsed from an IEEE
> 1516 FDD (we use an FDD even on 1.3NG federations).
>
> I designed the library to make good use of java.util.Map so that I could
> use GPath to simply get what I want. GPath is my favourite Groovy
> feature, with support with Maps and List close behind.
>
> Our development style is to use more smaller-grained federates, rather
> than a few big applications. So scripting (ahem, pardon me, dynamic
> languages) seems to fit well.
>
> I'm also interested in the OpenHLA project over on sourceforge,
> http://sourceforge.net/projects/ohla and I'm working on an
> implementation of time management (since we actually use time
> management), but I'm not using any Groovy in that... yet... ;-)
>
> Thanks,
> Brad Dillman
> Defence Research & Development Canada Atlantic
> Dartmouth, NS
>
> -----Original Message-----
> From: tog [mailto:[hidden email]]
> Sent: Sunday, March 05, 2006 3:00 AM
> To: [hidden email]
> Subject: [groovy-user] HLA & Groovy
>
> Hello,
>
> I remember sometimes ago, some people reporting usage of Groovy for HLA
> based simulation. I would be interesting on knowing a little bit more on
>
> what
> they are doing in that field with Groovy ? RTI prototyping ? Reuse of a
> commercial
> RTI for developping HLA based simulations ?
>
> Thanks
> tog

Reply | Threaded
Open this post in threaded view
|

Re: HLA & Groovy

Christian Stein
In reply to this post by Dierk König
Dierk Koenig schrieb:
> I have no idea what what HLA nor RTI is.
> I also found no useful definition of 'federates'.
>
> Seems to be a military thing. Could you briefly explain?

Hey Mittie!

http://de.wikipedia.org/wiki/High_Level_Architecture

http://en.wikipedia.org/wiki/High_Level_Architecture

Cheers,
Christian
Reply | Threaded
Open this post in threaded view
|

RE: HLA & Groovy

braddillman
In reply to this post by tog
Sure, it is confusing. Most of this was developed by people, who are...
uh... more familiar with distributed simulation than with programming...
I guess ;-)

HLA is roughly an American military standard for connecting distributed
simulations. The concepts are somewhat similar to building a massive
multiplayer online game (MMOG) over a wide area network like the
internet. A federate is 1 simulation application in a federation (a
collection of co-operating distributed simulations) - like 1 client in a
MMOG.

At the centre of this is the RTI (RunTime Infrastructure), which is a
kind of a middleware which supports a publish/subscribe relationship
between the federates (like a MMOG server, but with no brains, only
publish/subscribe routing). The federates don't have a direct dependency
on each other, they publications and subscriptions are matched by the
RTI without federate involvement.

So, a federate which simulates a radar doesn't know which other
applications are publishing aircraft. The radar federate just subscribes
to the RTI for objects or interactions of specific classes; an aircraft
federate would, say publish an aircraft object; the RTI matches the
publication and subscription and routes the messages. It reduces the
problem of too much dependency of 1 federate on any other (but doesn't
eliminate it).

You might suppose CORBA or RMI could do this, but in those cases there
is a 1:1 relationship between caller and called. A naming service helps,
but you still have a 1:1 relationship. The RTI makes 1:n 'multicasting'
possible without the knowledge of the producer (publisher).

Hope that helps,
Brad

-----Original Message-----
From: Dierk Koenig [mailto:[hidden email]]
Sent: Monday, March 06, 2006 10:01 AM
To: [hidden email]
Subject: RE: [groovy-user] HLA & Groovy

I have no idea what what HLA nor RTI is.
I also found no useful definition of 'federates'.

Seems to be a military thing. Could you briefly explain?

Mittie

> -----Original Message-----
> From: Dillman, Brad [mailto:[hidden email]]
> Sent: Montag, 6. Marz 2006 14:42
> To: [hidden email]
> Subject: RE: [groovy-user] HLA & Groovy
>
>
> Hi, that's me.
>
> We're using Groovy to write federates. I wrote a class library which
> wraps the RTI and simplifies it a bit, automatically tracking object
> lifecycle and performing encoding/decoding between binary and Java
> objects and primitives. The necessary information is parsed from an
IEEE
> 1516 FDD (we use an FDD even on 1.3NG federations).
>
> I designed the library to make good use of java.util.Map so that I
could

> use GPath to simply get what I want. GPath is my favourite Groovy
> feature, with support with Maps and List close behind.
>
> Our development style is to use more smaller-grained federates, rather
> than a few big applications. So scripting (ahem, pardon me, dynamic
> languages) seems to fit well.
>
> I'm also interested in the OpenHLA project over on sourceforge,
> http://sourceforge.net/projects/ohla and I'm working on an
> implementation of time management (since we actually use time
> management), but I'm not using any Groovy in that... yet... ;-)
>
> Thanks,
> Brad Dillman
> Defence Research & Development Canada Atlantic
> Dartmouth, NS
>
> -----Original Message-----
> From: tog [mailto:[hidden email]]
> Sent: Sunday, March 05, 2006 3:00 AM
> To: [hidden email]
> Subject: [groovy-user] HLA & Groovy
>
> Hello,
>
> I remember sometimes ago, some people reporting usage of Groovy for
HLA
> based simulation. I would be interesting on knowing a little bit more
on
>
> what
> they are doing in that field with Groovy ? RTI prototyping ? Reuse of
a
> commercial
> RTI for developping HLA based simulations ?
>
> Thanks
> tog
Reply | Threaded
Open this post in threaded view
|

RE: HLA & Groovy

braddillman
In reply to this post by tog

I agree, a DSL sounds like a great idea, sounds like it would be perfect for our needs. But where to start? I have tried out a builder, and have only an inkling about meta-objects so far. I don’t even know what I’d want from a DSL… Groovy seems fine just as it is (closures for handling FederateAmbassador callbacks, etc.). But now you’ve got me thinking. Got any specific ideas?

 

Thanks for the link to OMG DDS, I’d never heard of it before. But given the amount of DIS we encounter, I don’t DIS or HLA are going away soon. The military and government have a lot of inertia. Our approach of more, smaller federates is unusual; most legacy code is pretty big (one federate is a 100MB executable for linux with terrain files over 1GB). And no database, just a big application with lots of flat files.

 

From a brief look at a single page on DDS, it looks very similar to an RTI, or perhaps a technology for building new kinds of things that do what an RTI does, I’m not sure. The problem is the amount invested in legacy code, and the trust that has been built up in that legacy code. We don’t have nearly enough money or time to consider replacing something. But if DDS could be wrapped with an RTI API, or used to implement a new RTI with some new benefits (better or easier integration maybe?), then I could see a place for it.

 

Thanks,

Brad

 


From: tog [mailto:[hidden email]]
Sent: Monday, March 06, 2006 10:26 AM
To: [hidden email]
Subject: Re: [groovy-user] HLA & Groovy

 

Dierk,

HLA means High level Architecture. It is an IEEE standard  initially proposed by the DoD  so yes  it has to do originally with military simulation. More generally, it is used
for fine grain time dependant distributed simulations. RTI mean Run Time Infrastructure - this is a part of an HLA implementation. More info here: http://www.mcrlab.uottawa.ca/research/CRC.html

So this is a very specific niche of distributed simulation which nowadays tends to be superseded by an other standard coming from OMG : DDS (Data distribution System);

It could be interesting to see the role of a language such as groovy in such application
Yet another DSL ;-)

cheers
tog

PS: Of course Brad feel free to comment since you're the HLA expert on this list ;-)

On 3/6/06, Dierk Koenig <[hidden email]> wrote:

I have no idea what what HLA nor RTI is.
I also found no useful definition of 'federates'.

Seems to be a military thing. Could you briefly explain?

Mittie

> -----Original Message-----
> From: Dillman, Brad [mailto: [hidden email]]
> Sent: Montag, 6. Marz 2006 14:42
> To: [hidden email]
> Subject: RE: [groovy-user] HLA & Groovy
>
>
> Hi, that's me.
>
> We're using Groovy to write federates. I wrote a class library which
> wraps the RTI and simplifies it a bit, automatically tracking object
> lifecycle and performing encoding/decoding between binary and Java
> objects and primitives. The necessary information is parsed from an IEEE
> 1516 FDD (we use an FDD even on 1.3NG federations).
>
> I designed the library to make good use of java.util.Map so that I could
> use GPath to simply get what I want. GPath is my favourite Groovy
> feature, with support with Maps and List close behind.
>
> Our development style is to use more smaller-grained federates, rather
> than a few big applications. So scripting (ahem, pardon me, dynamic
> languages) seems to fit well.
>
> I'm also interested in the OpenHLA project over on sourceforge,
> http://sourceforge.net/projects/ohla and I'm working on an
> implementation of time management (since we actually use time
> management), but I'm not using any Groovy in that... yet... ;-)
>
> Thanks,
> Brad Dillman
> Defence Research & Development Canada Atlantic
> Dartmouth, NS
>
> -----Original Message-----
> From: tog [mailto:[hidden email]]
> Sent: Sunday, March 05, 2006 3:00 AM
> To: [hidden email]
> Subject: [groovy-user] HLA & Groovy
>
> Hello,
>
> I remember sometimes ago, some people reporting usage of Groovy for HLA
> based simulation. I would be interesting on knowing a little bit more on
>
> what
> they are doing in that field with Groovy ? RTI prototyping ? Reuse of a
> commercial
> RTI for developping HLA based simulations ?
>
> Thanks
> tog

 

Reply | Threaded
Open this post in threaded view
|

RE: HLA & Groovy

Dierk König
In reply to this post by braddillman
Yes, thanks everybody. The fog has cleared.

I knew I would learn something today but I didn't expect
it to be so much.

@christian: "Wer lesen kann, ist gleich im Vorteil" :-)

thanks all
Mittie

> -----Original Message-----
> From: Dillman, Brad [mailto:[hidden email]]
> Sent: Montag, 6. Marz 2006 15:28
> To: [hidden email]
> Subject: RE: [groovy-user] HLA & Groovy
>
>
> Sure, it is confusing. Most of this was developed by people, who are...
> uh... more familiar with distributed simulation than with programming...
> I guess ;-)
>
> HLA is roughly an American military standard for connecting distributed
> simulations. The concepts are somewhat similar to building a massive
> multiplayer online game (MMOG) over a wide area network like the
> internet. A federate is 1 simulation application in a federation (a
> collection of co-operating distributed simulations) - like 1 client in a
> MMOG.
>
> At the centre of this is the RTI (RunTime Infrastructure), which is a
> kind of a middleware which supports a publish/subscribe relationship
> between the federates (like a MMOG server, but with no brains, only
> publish/subscribe routing). The federates don't have a direct dependency
> on each other, they publications and subscriptions are matched by the
> RTI without federate involvement.
>
> So, a federate which simulates a radar doesn't know which other
> applications are publishing aircraft. The radar federate just subscribes
> to the RTI for objects or interactions of specific classes; an aircraft
> federate would, say publish an aircraft object; the RTI matches the
> publication and subscription and routes the messages. It reduces the
> problem of too much dependency of 1 federate on any other (but doesn't
> eliminate it).
>
> You might suppose CORBA or RMI could do this, but in those cases there
> is a 1:1 relationship between caller and called. A naming service helps,
> but you still have a 1:1 relationship. The RTI makes 1:n 'multicasting'
> possible without the knowledge of the producer (publisher).
>
> Hope that helps,
> Brad
>
> -----Original Message-----
> From: Dierk Koenig [mailto:[hidden email]]
> Sent: Monday, March 06, 2006 10:01 AM
> To: [hidden email]
> Subject: RE: [groovy-user] HLA & Groovy
>
> I have no idea what what HLA nor RTI is.
> I also found no useful definition of 'federates'.
>
> Seems to be a military thing. Could you briefly explain?
>
> Mittie
>
> > -----Original Message-----
> > From: Dillman, Brad [mailto:[hidden email]]
> > Sent: Montag, 6. Marz 2006 14:42
> > To: [hidden email]
> > Subject: RE: [groovy-user] HLA & Groovy
> >
> >
> > Hi, that's me.
> >
> > We're using Groovy to write federates. I wrote a class library which
> > wraps the RTI and simplifies it a bit, automatically tracking object
> > lifecycle and performing encoding/decoding between binary and Java
> > objects and primitives. The necessary information is parsed from an
> IEEE
> > 1516 FDD (we use an FDD even on 1.3NG federations).
> >
> > I designed the library to make good use of java.util.Map so that I
> could
> > use GPath to simply get what I want. GPath is my favourite Groovy
> > feature, with support with Maps and List close behind.
> >
> > Our development style is to use more smaller-grained federates, rather
> > than a few big applications. So scripting (ahem, pardon me, dynamic
> > languages) seems to fit well.
> >
> > I'm also interested in the OpenHLA project over on sourceforge,
> > http://sourceforge.net/projects/ohla and I'm working on an
> > implementation of time management (since we actually use time
> > management), but I'm not using any Groovy in that... yet... ;-)
> >
> > Thanks,
> > Brad Dillman
> > Defence Research & Development Canada Atlantic
> > Dartmouth, NS
> >
> > -----Original Message-----
> > From: tog [mailto:[hidden email]]
> > Sent: Sunday, March 05, 2006 3:00 AM
> > To: [hidden email]
> > Subject: [groovy-user] HLA & Groovy
> >
> > Hello,
> >
> > I remember sometimes ago, some people reporting usage of Groovy for
> HLA
> > based simulation. I would be interesting on knowing a little bit more
> on
> >
> > what
> > they are doing in that field with Groovy ? RTI prototyping ? Reuse of
> a
> > commercial
> > RTI for developping HLA based simulations ?
> >
> > Thanks
> > tog
tog
Reply | Threaded
Open this post in threaded view
|

Re: HLA & Groovy

tog
In reply to this post by braddillman
Hi there,

Some news on the HLA topic since MrG points me to an interesting
article. Have a look to
http://www.realityforge.org/articles/2006/03/09/meta-programming-in-java,
you may find the
conclusion quite interesting
cheers
tog

Dillman, Brad a écrit :

>
> I agree, a DSL sounds like a great idea, sounds like it would be
> perfect for our needs. But where to start? I have tried out a builder,
> and have only an inkling about meta-objects so far. I don’t even know
> what I’d want from a DSL… Groovy seems fine just as it is (closures
> for handling FederateAmbassador callbacks, etc.). But now you’ve got
> me thinking. Got any specific ideas?
>
> Thanks for the link to OMG DDS, I’d never heard of it before. But
> given the amount of DIS we encounter, I don’t DIS or HLA are going
> away soon. The military and government have a lot of inertia. Our
> approach of more, smaller federates is unusual; most legacy code is
> pretty big (one federate is a 100MB executable for linux with terrain
> files over 1GB). And no database, just a big application with lots of
> flat files.
>
> From a brief look at a single page on DDS, it looks very similar to an
> RTI, or perhaps a technology for building new kinds of things that do
> what an RTI does, I’m not sure. The problem is the amount invested in
> legacy code, and the trust that has been built up in that legacy code.
> We don’t have nearly enough money or time to consider replacing
> something. But if DDS could be wrapped with an RTI API, or used to
> implement a new RTI with some new benefits (better or easier
> integration maybe?), then I could see a place for it.
>
> Thanks,
>
> Brad
>
> ------------------------------------------------------------------------
>
> *From:* tog [mailto:[hidden email]]
> *Sent:* Monday, March 06, 2006 10:26 AM
> *To:* [hidden email]
> *Subject:* Re: [groovy-user] HLA & Groovy
>
> Dierk,
>
> HLA means High level Architecture. It is an IEEE standard initially
> proposed by the DoD so yes it has to do originally with military
> simulation. More generally, it is used
> for fine grain time dependant distributed simulations. RTI mean Run
> Time Infrastructure - this is a part of an HLA implementation. More
> info here: http://www.mcrlab.uottawa.ca/research/CRC.html
>
> So this is a very specific niche of distributed simulation which
> nowadays tends to be superseded by an other standard coming from OMG :
> DDS (Data distribution System);
>
> It could be interesting to see the role of a language such as groovy
> in such application
> Yet another DSL ;-)
>
> cheers
> tog
>
> PS: Of course Brad feel free to comment since you're the HLA expert on
> this list ;-)
>
> On 3/6/06, *Dierk Koenig* <[hidden email]
> <mailto:[hidden email]>> wrote:
>
> I have no idea what what HLA nor RTI is.
> I also found no useful definition of 'federates'.
>
> Seems to be a military thing. Could you briefly explain?
>
> Mittie
>
> > -----Original Message-----
> > From: Dillman, Brad [mailto: [hidden email]
> <mailto:[hidden email]>]
> > Sent: Montag, 6. Marz 2006 14:42
> > To: [hidden email] <mailto:[hidden email]>
> > Subject: RE: [groovy-user] HLA & Groovy
> >
> >
> > Hi, that's me.
> >
> > We're using Groovy to write federates. I wrote a class library which
> > wraps the RTI and simplifies it a bit, automatically tracking object
> > lifecycle and performing encoding/decoding between binary and Java
> > objects and primitives. The necessary information is parsed from an IEEE
> > 1516 FDD (we use an FDD even on 1.3NG federations).
> >
> > I designed the library to make good use of java.util.Map so that I could
> > use GPath to simply get what I want. GPath is my favourite Groovy
> > feature, with support with Maps and List close behind.
> >
> > Our development style is to use more smaller-grained federates, rather
> > than a few big applications. So scripting (ahem, pardon me, dynamic
> > languages) seems to fit well.
> >
> > I'm also interested in the OpenHLA project over on sourceforge,
> > http://sourceforge.net/projects/ohla and I'm working on an
> > implementation of time management (since we actually use time
> > management), but I'm not using any Groovy in that... yet... ;-)
> >
> > Thanks,
> > Brad Dillman
> > Defence Research & Development Canada Atlantic
> > Dartmouth, NS
> >
> > -----Original Message-----
> > From: tog [mailto:[hidden email]
> <mailto:[hidden email]>]
> > Sent: Sunday, March 05, 2006 3:00 AM
> > To: [hidden email] <mailto:[hidden email]>
> > Subject: [groovy-user] HLA & Groovy
> >
> > Hello,
> >
> > I remember sometimes ago, some people reporting usage of Groovy for HLA
> > based simulation. I would be interesting on knowing a little bit more on
> >
> > what
> > they are doing in that field with Groovy ? RTI prototyping ? Reuse of a
> > commercial
> > RTI for developping HLA based simulations ?
> >
> > Thanks
> > tog
>