- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Scala API for remote monitoring and control
Created by robcd on 2009-07-20.
Updated: 2009-07-21, 17:35
The EISCAT Svalbard Radar is a fixed 42m dish and a fully steerable 32m dish used for research into the Suns interaction with the magnetosphere. JMaCS, the Java API derived from experimental software developed for the monitoring and controlling of these dishes, has recently been rewritten in Scala.
In this paper, soon to be presented at the forthcoming 14th International EISCAT Workshop, it is explained how, with the help of Scala's type members and the 'type-safe singleton' pattern, the new API allows a range of 'programmable device' components to be written more concisely, and in a type-safe manner. Comparisons are made with the original Java implementation.
This move to Scala was motivated by the better support provided for writing components, such as Programmable Devices(PDs), with traits, a more concise syntax, type inferencing and Actors. However, type-safety, language extensibility via libraries, functional programming and scripting proved to be invaluable.
- Login or register to post comments
Printer-friendly version
Re: Scala API for remote monitoring and control
[2009-07-22] Preprint version 2: couple of refinements, including small changes to the text of the conclusions.
[2009-07-22] Preprint version 3: §2.1 bullets refined.
[2009-07-22] Preprint version 4: added sentence to opening paragraph.
[2009-07-24] Preprint version 5: minor fixes; added link to MaCS web-page.
[2009-09-09] Preprint version 6: rewrote §3.2; changes to fig. 5 (example program) and associated text, following API refinement.
Re: Scala API for remote monitoring and control
There is now a MaCS web-page, with (so far) a link to the scaladoc.
Re: Scala API for remote monitoring and control
MaCS 1.0r1 is now available, and anyone wishing to start defining their own MaCS
Programmable Device components may now do so, by following the instructions here:
http://lafros.com/macs