Astronomy, IVOA , Simple Application Messaging Protocol (SAMP) and Perl

When Alasdair Allan, Thomas Boch, Mike Fitzpatrick, Luigi Paioro, John Taylor, International Virtual Observatory AllianceMark Taylor and Doug Tody of the International Virtual Observatory Alliance (IVOA) wrote up the draft specification to the Simple Application Messaging Protocol, Alasdair Allan deemed it possible and necessary to implement the draft specification.

SAMP is a messaging protocol that enables astronomy software tools to interoperate and communicate. IVOA members have recognised that building a monolithic tool that attempts to fulfil all the requirements of all users is impractical, and it is a better use of our limited resources to enable individual tools to work together better. One element of this is defining common file formats for the exchange of data between different applications. Another important component is a messaging system that enables the applications to share data and take advantage of each other’s functionality. SAMP is intended to build on the success of a prior messaging protocol, PLASTIC, which has been in use since 2006 in over a dozen astronomy applications and has proven popular with users and developers. SAMP is an IVOA-endorsed standard that builds on this success. It is also intended to form a framework for more general messaging requirements. – excerpt

Alasdair chose to work with Perl for his implementation of the draft specification. What I Alasdair Allanfind interesting, is that while it is designed for astronomy tools, it is generic enough for it to be implemented outside of that scope.  (pun intended)  I can easily see it being used as in a data federation type application.  The protocol is XML-RPC based and is easily understood.

Great work! 🙂

Oh, you want to know what he has called his Perl implementation?  It’ll cost ya!  Just joking..  it is called Perl::Samp and consists of:

  • SAMP::Transport::HTTP::Daemon
  • SAMP::Discovery
  • SAMP::Hub
  • SAMP::Hub::Util

Perl::Samp requires you to install the following modules from CPAN:

At the time of this blog post, it is not on CPAN but Alasdair is willing to put it there.  Let him know if you wish it to be on CPAN.

Share Button