Slashdot Mirror


Cougaar 10.4.6 Released With Source

Anonymous Software Agent writes "Cougaar release 10.4.6 has been posted . As always, all source code is available via anonymous CVS. Cougaar is an open-source Java-based architecture for the construction of distributed agent-based applications. It is the product of an eight-year DARPA-funded research project in highly scalable and survivable multi-agent systems. Cougaar is currently used in next-generation military logistics systems, commercial applications, and research projects. Cougaar release 10.4.6 adds survivable yellow pages and white pages services, and multiple other performance and reliability improvements."

27 of 139 comments (clear)

  1. I'm glad you explained what Cougar is by Anonymous Coward · · Score: 2, Funny

    Because I thought it was the latest version of OS X and I wasn't caring, but now I do.

    1. Re:I'm glad you explained what Cougar is by Anonymous Coward · · Score: 5, Funny

      My first thought upon seeing the name was that it was some kind of rejected pokemon.

      <ASH> Look! It's conducting rapid, large scale, distributed logistics planning and replanning!
      <COUGAAR> COOOO-GAAAAAAAAAAAAAARRR!

  2. DAMNIT! by NoData · · Score: 4, Funny

    And here a just shelled out $129 to upgrade to Panthaar.

  3. Unending confusion by murdox · · Score: 4, Funny

    No kidding- and when it comes down to it, the next release of Mac OS X will probably be called Cougar! So there will eventually be a Cougar 10.4.6 as well as a Cougaar 10.4.6. Good grief...

    Jeff Warren
    www.ceggos.com

    1. Re:Unending confusion by WhyteRabbyt · · Score: 2, Funny

      However, Apple's version will be pronounced 'Coog-Wire' so there will be no verbal confusion.

      --
      free experimental electronic music netlabel at www.viablehybrid.com
    2. Re:Unending confusion by Repugnant_Shit · · Score: 2, Funny

      Just remember to pronounce the Jobs way:
      Coo gah wire

  4. Not free by Dancin_Santa · · Score: 4, Informative

    While certainly generous, the Cougaar license is designed specifically to prevent anyone from profiting from the sale of the software:

    3. Licensee may use, sell or give away the Cougaar Software or any Derivative Work, alone or as a component of an aggregate software distribution containing Licensee Software, Cougaar Applications and/or programs from several different sources. No royalty or other fee is required. If Licensee sublicenses the Cougaar Software or Derivative Works, Licensee may charge fees for warranty or support, or for accepting indemnity or liability obligations of customers, provided that Licensee does not charge for the Cougaar Software or Derivative Work.

    That along makes it unfree.

    1. Re:Not free by Brandybuck · · Score: 4, Interesting

      Not quite. Before you get your panties in a bunch, look closer.

      It's quite explicit that you can "sell or give away the Cougaar Software or any Derivative Work". Case solved. You can sell it.

      The second term is a bit puzzling. "If Licensee sublicenses the Cougaar Software or Derivative Works...Licensee does not charge for the Cougaar Software or Derivative Work". The key word here is "sublicenses".

      You can sell the software or its derivatives all you want. Only if you sublicense it are you forbidded to charge for the software itself (though you may certainly charge for the media, bandwidth, support, manuals, etc). When you sublicense, the recipient is getting the license from YOU, not from the original author. This is a subtle distinction, and one few ever make in the Free Software World. What does it mean?

      Not being a lawyer, I suspect it's primarily to mollify the legal types. Note that sublicensing is required to offer indemnity or liability (even if it weren't explicitly stated in the license). I suspect that this means if you create a business off of the software, you cannot sell the software itself, but only the warranty and support.

      The license is Free as in FSF. Don't worry about it.

      --
      Don't blame me, I didn't vote for either of them!
    2. Re:Not free by Brandybuck · · Score: 2, Insightful

      Cougaar might not be listed by the FSF or OSI, but it still meets their requirements and definitions. Morality isn't defined by Papal Bulls any more than software freedom is defined by the pronouncements of RMS. The reason Cougaar isn't listed is because it's new and the FSF and OSI haven't gotten around to stamping it with their imprimaturs.

      Free Software isn't defined by lists of licenses. Open Source Software isn't defined by lists of licenses.

      --
      Don't blame me, I didn't vote for either of them!
  5. Sounds scary... by patiwat · · Score: 3, Funny

    > DARPA-funded research project in highly
    > scalable and survivable multi-agent systems.
    > Cougaar is currently used in next-generation
    > military logistics systems, commercial
    > applications, and research projects.

    Sounds like a certain Cyberdyne-developed distributed neural-net supercomputer that could integrate all of the USs strategic arsenal under a single command structure, and would survive a nuclear armagedden... gulp... lets just make sure there is a deadman backdoor switch.

    1. Re:Sounds scary... by Anonymous Coward · · Score: 3, Funny

      lets just make sure there is a deadman backdoor switch

      screw that, i just want to make sure we get hot naked cyborg chicks from the future out of the deal

  6. I think this is the future of computing. by Sheetrock · · Score: 4, Insightful
    Essentially, agent-based computing is P2P used in a positive way -- multiple redundant systems working together to achieve a common goal, much as is done by ants in a colony.

    Like the Internet, but with other goals than networked communications. I think this is the sort of thing that will finally bring the convergence that was always talked about in regards to the Internet (an alarm clock, coffee, toaster, car starter, etc. that are aware of your schedule, not unlike the opening scene of Back To The Future).

    Does C# have anything like this, or is this easily portable to C# or any other strongly typed portable languages such as Python? It'd be nice to have another alternative to Java, which seems to cause problems for some people.

    --

    Try not. Do or do not, there is no try.
    -- Dr. Spock, stardate 2822-3.




    1. Re:I think this is the future of computing. by pHDNgell · · Score: 2, Informative

      Python is far from being strongly typed.

      This is false by any definition of strong typing I've seen. This isn't even something one can have an opinion on, it's just wrong.

      Portrait of a strongly typed language:

      >>> a="some string"
      >>> a + 5
      Traceback (most recent call last):
      File "", line 1, in ?
      TypeError: cannot concatenate 'str' and 'int' objects

      In a weakly typed language (i.e. perl), the statement will just break in mysterious ways:

      $a="some string";
      $a = $a + 5;

      print "$a\n";

      (prints 5)

      See also dynamic typing and static typing (python is dynamically and strongly typed. It breaks when you do stupid stuff like that, but not until runtime. Ocaml is statically and strongly typed. It breaks at compile time when you try to do stupid stuff like that).

      --
      -- The world is watching America, and America is watching TV.
    2. Re:I think this is the future of computing. by pHDNgell · · Score: 2, Insightful

      It's too late for me to actually try to understand this, but have you looked at Erlang at all? P2P type clustering to form redundant applications spanning multiple systems is pretty natural in Erlang.

      --
      -- The world is watching America, and America is watching TV.
  7. Don't fall for it! by Black+Parrot · · Score: 3, Funny


    > Cougaar is an open-source Java-based architecture for the construction of distributed agent-based applications.

    I heard it was just a variant of the Nigerian e-mail scam.

    --
    Sheesh, evil *and* a jerk. -- Jade
  8. Not quite done yet... by po8 · · Score: 3, Insightful

    ...needs more buzzwords.

  9. Good release testing strategy by darnok · · Score: 4, Funny

    1. Create new release
    2. Install shiny new distributed agents on Web servers
    3. Announce new release on Slashdot
    4. Examine performance of Web server agents under extreme load. Saves all that expensive load testing time and expense...
    5. Announce new "stress tested version" shortly afterwards

    1. Re:Good release testing strategy by tcopeland · · Score: 2, Interesting
      > Examine performance of Web server agents
      > under extreme load.
      [tom@cougaar tom]$ w
      7:03am up 109 days, 11:46, 4 users, load average: 0.08, 0.12, 0.06
      [tom@cougaar tom]$
      Piece of cake.
  10. Re:8 years and Java based? by russellh · · Score: 4, Insightful
    Is Java already eight years old?

    HotJava was released in early 1995, iirc. that was why we upgraded to solaris from sunOS. You know, so we could play tic-tac-toe like it was 1978!

    --
    must... stay... awake...
  11. The Cougaar FAQ by Anonymous Coward · · Score: 4, Informative

    It seems just about no one has heard about Cougaar before (I know I haven't), and very few know what agents/aglets are, so here is a link to the FAQ!

    Posted anonymously to prevent carma whoring, since 2001.

  12. More to the point by 0x0d0a · · Score: 3, Insightful

    Because I thought it was the latest version of OS X and I wasn't caring, but now I do. ...wasn't caring...

    Okay, I have a low opinion of Slashdotters that insist that software release announcements should stay on Freshmeat. I want to *know* when the next Linux kernel release and the next minor release of GNOME is, and it's big, discussable news.

    However, this is a bugfix release of an obscure package. I realize that the editor was probably feeling more than a little whimsical, but dammit..can't Slashdot have an "Oddball" category? Stuff that the editor can dump things into if he sees something that whets his fancy, but is wildly unfit to go into the "News for Nerds" section? Things like "Lindows CEO Claims Microsoft CEO Porks His Sister" or "Random Extremely Obscure Package 10.4.6 Released" could go? It'd be a great grabbag for April 1.

  13. Java was a mistake for this project by axxackall · · Score: 4, Interesting
    Java is not the language designed for distributed agents. For that I would use Erlang or Mozart or even Mercury, but not Java.

    In those languages distributed programming itself is solved more elegant and error proof. Besides, they have very strong mechanism of constraint logic. Even more - distributed constraint logic. And no need to repeat that functional programming languages are more effective for complicated logical tasks.

    Oppositely, in Java the agent developer feels like in assembly. Don't repeat me the mantra about the garbage collector: functional programming languages have it since 1957 (first Lisp).

    Well, if brains of their project decision makers are already corrupted by procedural programming (or even worse - by merketing hype of Java) then nothing can fix that. It's just one more government-wasted effort.

    --

    Less is more !
    1. Re:Java was a mistake for this project by laird · · Score: 5, Insightful

      In a philosophical sense, I agree (somewhat), but in a pragmatic sense I think you're wrong.

      While people have certainly been programming mobile agents in many languages for a very long time, there's nothing wrong with implementing them in Java. Java is a fairly nice language with a good security model and portable bytecode. Having used both to write agents, I can say that it's not quite as nice for writing mobile agents as Telescript (the language that General Magic designed for implementing mobile agents), but it's not bad. Sure, SmallTalk or Lisp are simpler and cleaner in many ways, and Erlang, etc., have some nice, though somewhat esoteric advantages, but Java has the fairly reasonable advantages that it's a widely known and extremely well supported language.

      And as for preferring declarative programming to procedural programming, well, all I can say is that different models suit different kinds of problems, and different kinds of programmers. Changing both programming languages and programming paradigms (i.e. procedural to declarative) and throwing mobile agents into the mix) is extemely challenging to a development team. Not that it can't be done, but it's way harder (for a large team) than just introducing mobile agents implemented in a language everyone knows. Take one step at a time, or you lose people. I know, back in the 80's I was on a number of large Smalltalk projects, and making the leap to OOP, Client/Server and learning Smalltalk all at once was a barrier than many engineers couldn't hurdle. Sure, the stars got it, and were amazingly productive, but everyone else was blocked.

      That being said, if you have a small team of stars, and a project that doesn't require a larger team, go for it -- you may be extremely successful. But I don't think that makes anyone who decides to implement mobile agents in Java wrong, just a little less daring. :-)

  14. Re:but what is it?! by LarsWestergren · · Score: 3, Informative

    Mobile agents are essentially code which moves over a network and executes locally. You could launch one, turn off your computer, and during the night it moves over the Net collecting your data, computing something or run a server... When you turned your computer back on in the morning the agent would return to you with your search result, or whatever.

    You can understand why this is attractive, it would make the "system that keeps running even though part of it is nuked" closer to reality. It would also take P2P and distributed computing to a new level.

    While it is interesting in theory, they usually run into problems when implementing it in practice. If you think about it, the "moving over the net and executing wherever" sounds a lot like a virus, right? Therefore, they have to make a sandbox on the server for the agents to play in, so that they don't access sensitive data, or crash the host computer by using up all resources etc. Also, the agent and its contents have to be protected from potentially malicious hosts, so that they don't get sensitive data exposed or corrupted.

    So when you apply all the security checks and encryption you need, the sandbox and agents become very bloated and slow to execute. Bloated agents move very slowly over the network and take up bandwidth... not good.

    Aglets is an early Java based test system for this, the name stands for "agile applets".

    --

    Being bitter is drinking poison and hoping someone else will die

  15. Red Dwarf by arafel · · Score: 2, Funny

    I'd find it easier to read the project description if I didn't keep thinking of Rimmer in Red Dwarf announcing he'd found a Quagaar warrior. Gah.

  16. Business Straategy by TheTranceFan · · Score: 3, Funny

    1. Naame aan ideaa aafter aan aanimaal.
    2. Aad aa few extraa 'aa's.
    3. Profit!

  17. Re:so really.... what is this thing useful for. by An+Onerous+Coward · · Score: 2, Interesting

    Greetings from the University of Utah. My software practices class has been focusing on Multi-agent Systems the entire semester. Most of us probably would have preferred a first-person shooter, but the point is to learn about debugging, writing maintainable code, optimization, and the like.

    The idea behind an agent is that you create a semi-autonomous piece of software that can communicate with other agents, get information from other agents and the surrounding environment, and take actions based on that information to fulfill some set of goals. We started out creating simple agents with JADE, but once we understood the basics of the system, the Prof started us working with someone else's codebase. Cougaar seems to be a separate implementation from JADE and the ACL (Agent Communication Language), so I'm still trying to figure out the advantages/disadvantages of their system.

    I was going to advise you to force images of ninjas wearing business suits and sunglasses, but the agents of the Matrix are actually a good embodiment of the ideas behind multi-agent systems. Besides, with Revolutions being released today, such advice would probably be ignored.

    It hadn't occurred to me that agents could be used for logistics and resource allocation, but to me the implications are fascinating. Once this final project is done, I'm thinking I'll play with this.

    --

    You want the truthiness? You can't handle the truthiness!