Part 1 - Introduction and example
Embedding a scripting language such as Javascript in certain types of computer applications makes it much easier for the user to repeat complex tasks that may be customized.
Imaging applications, in particular, fall into this category. Processing images frequently require repeating nearly identical operations on a large number of images.
The current generation of "go-to" GPS telescopes are an amazing technological innovation. They combine precise motor controls, position sensors, GPS receivers, and excellent optics into an telescopic instrument that can be enjoyed by both novice users and advanced amateur astronomers. The "go-to" telescope permits the user to view the moon, the planets, nebulas, galaxies, star clusters, and other celestial objects by simply pressing a few buttons. The functionality and ease of use of these telescopes can be futher extended by connecting them to your computer.
The telescope interface consists of the classes: TelescopeInterface, TelescopeModel, TelescopeFactory, and SerialConnection. For each telescope manufacture, there is a concrete implementation of the TelescopeInterface and supporting classes. The diagram below shows classes to interface the Celestron telescope. (The complete Javadoc is available online as is a source code cross reference).

1 /*
2 * TestApp.java
3 *
4 * Copyright (c) 2003, Raben Systems, Inc.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
9 *
10 * Redistributions of source code must retain the above copyright notice,
11 * this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright notice,
/*
2 * PositionDialog.java
3 *
4 * Copyright (c) 2003, Raben Systems, Inc.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
9 *
10 * Redistributions of source code must retain the above copyright notice,
11 * this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright notice,