Printer Friendly

Stored-Sequence Program Simplifies Event Scheduling for Satellite Links.

Controlling large sophisticated satellite earth stations or large networks of these earth stations often requires the operator to submit a considerable number of commands at precise times. Examples of commands that have to be issued are ones that move antennas, tune receivers or transmitters, set polarization and set waveguide switches. IT would be helpful if swquences of these commands could be stored at the earth station for automatic execution at designated times. Such a stored schedule could, by allowing advanced entry and editing of cammands, reduce operator error and could, by reducing the number of commands to be entered at one time, improve operator efficiency.

This article describes an implementation of event scheduling recently completed at Scientific-Atlanta. The implementation consists of two major task: the editing and storing of cammands in the schedule; and the processing of stored commands from the schedule. The first task is called EDIT EVENT SCHEDULE and the second task is called PROCESS EVENT SCHEDULE.

Among the event shcedule features are:

* Commands can be stored in the event schedule after causing a call to the Edit Event Schedule routine by issuing the EDIT EVENT SCHEDULE command.

* The editor has its own command set.

* The advantage of immediate syntax checking of commands is realized by using a command language parser to obtain both edit and control commands. Thus, only valid control commands are entered into the event shcedule.

* The user is prompted when help is requested.

* Commands are logically stored in the event schedule in their full expanded (non-abbreviated) form.

* Control commands are schedule by the day, hour, minute and second using a 24-hour clock.

* The commands that can be entered into the event shcedule are a subset of the control command set. A diagnostic is displayed if the user attempts to enter a command that is not a member of this subset.

* Encoded commands are submitted for subsequent processing task is always "asleep" unless it is time for a command in the event schedule to be processed. At that time, it is "awakened"; the command is extracted from the event schedule; the command is passed one character at a time for encoding and processing; the command is purged from the event schedule; and the task puts itself back to "sleep."

The event-schedule editor is a "current-line" editor; that is, its command affect or are relative to the last line seen by the user. The features of this editor are:

* The editor is called from another program or task.

* The editor has five commands: LINE, INSERT, DELETE, LIST and EXIT. The LINE command is used to move the "current line" forward or backward in the event-schedule file. INSERT is used to add a new command or a comment to the file. DELETE removes the "current line." The LIST command displays the entire or specified range of the event schedule on the user's terminal. EXIT returns control to the calling program.

* Only one terminal at a time is allowed to be in the EDIT EVENT SCHEDULE mode.

* The "current line" is always located at the first command in the event schedule when the EDIT EVENT SCHEDULE command is issued.

* A command can be inserted BEFORE or AFTER the "current line." The default value is to insert before the "current line."

* The LIST command displays the command in its full, non-abbreviated form.

* The user Edits a copy of the event schedule.

* After issuing the EXIT command the user will be promoted for permission to replace the master copy of the event schedule, provided an insert or delete operation had been performed.

* If, when the EXIT command is issued and permission to replace has been obtained, commands exist in the copy that have scheduled execution times which are elapsed, a warning will be issued to the user. The user will then have the choice to have the commands executed of to remove them from the schedule.

* The INSERT command can be implied by typing a valid control command with the appropriate time. The time field could cause the definition of "current line" to change.

* Some commands may impky other commands. For example, tuning a receiver to a transponder on a specific satellite may imply a move antenna command.

The command syntax described below illustrates the user inputs required to effect changes in the event schedule. Parameters enclosed in anble brackets, <>, indicate operator inputs. Parameters enclosed in square brackets, [], indicate options. A " " indicates that either parameter may be used.

When the EDIT EVENT SCHEDULE command is issued, control of the userhs terminal is passed to the Edit Event Schedule routine. At that time, only the following commands will be accepted for processing from that terminal:

LINE [<n>] EOF]

This command causes the "current line" to be defined as the next line--or command, as only one command per line is allowed--in the event schedule. The user may move the Current line" <n> lines, where <n> is a valid, signed integer. EOF causes the "current line" to be difined at the end-of-file and not at the last line. If <n> is greater than or less than the number of lines remaining in the file, the "current line" will be, correspondingly, positioned at the last or first line in the file.


This command causes a new item to be entered into the event schedule. If BEFORE is specified, the new item is entered immediately prior to the "current line." If OVER is specified, the "current line" is replaced by the new item. If AFTER is specified, the new item is entered immediately after the "current line." The default is BEFORE. After issuing the insert command, the user is prompted for the new item which is to be terminated by a carriage return.


The "current line" is removed from the file when this command is issued.

LIST [<n> :<m>'' causes the next line in the event schedule to be displayed. Parameters <n> and <m> are valid, signed integers which cause either the nth or the nth through the mth line(s) to be displayed. In all cases of this command, the "current line," is redefined as the line displayed.

EXIT returns control to the calling program. If an INSERT or DELETE command has been processed, asks the user for permission to replace the event, schedule. If commands with elapsed times exist in the new copy of the event schedule, ask the user to teslove the situation.

Inputs to this process consit of edit commands, the event schedule, and commands and comments to be entered into the event schedule.

The syntax of a command to be entered into the event schedule is:

YYMMDD HHMMSS <command> ;<comment>' where, <comment> is a string of characters not exceeding the current line length, YYMMDD is a valid future date, HH ranges from 00 to 23, MM ranges from 00 to 59, and SS ranges from 00 to 59.

The editor outputs a file of ASCII characters that correspond to the commands that would be entered at the console keyboard. This file is available for execution after leaving the editor.

The structure is described by the interface diagrams as shown in Figures 1 and 2. Each box represents a compilation unit (main program or routine). A line between two boxes represents a routine--call the compilation unit in the higher box calls the routine in the box beneath it. An arrow represents data flow: a letter in brackets (for example," A'") identifies the type of data; legends at the bottom of the diagrams provide definitions.

The program or task charged with command input keeps track of the current activity being performed at the console. If the activity is to edit the event schedule (triggered by the EDIT EVENT SCHEDULE command), it envokes the Edit Event Schedule routine (Figure 1).

The Edit Event Schedule routine edits and stores commands in the event schedule. It gets successive commands from the Console Keyboard routine.

The Console Keyboard routine collects kestrokes from console display and parses the commands. Athe the completion of the command, it returns as encoder command to the Edit Event

The Console Display routine is the interface to the keyboard and the display CRT or printer. It relays information to the Console Keyboard routine one character at a time.

The Process Event Schedule routine (Figure 2) gets successive commands from the Event Schedule and relays them to the processing task. It also performs initialization, which consists of reading the parsing tables. Process Event Schedule remains dormant until the time-of-day arrives for the next command in the event schedule to be processed. It is also awakened when Edit Event Schedule ends because of the possibility that there is a new next command as a result of the recent editing.

The console Keyboard routine collects stored keystrokes from the Extract from Even Schedule routine and parses the commands. At the completion of the command, it returns an encoded command to the Process Event Schedule task.

The Extract from Event Schedule routine gets encoded event-schedule commands from the disk in text form. It relays this information to the Console keyboard routine one character at a time
COPYRIGHT 1984 Nelson Publishing
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 1984 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Author:Hartwick, G.
Publication:Communications News
Date:Apr 1, 1984
Previous Article:ICA Plans Point in New Directions As Large Users Adapt to Changing Industry.
Next Article:Television Stereo Sound System Chosen by EIA Submitted to FCC.

Related Articles
Data out of thin air.
The multiplexer heard 'round the world.
Peribit Introduces Application Acceleration technology that enables e-mail, Web and file server consolidation.
Ecograph C--you can count on it!
Less latency, better productivity: company speeds remote application performance through bandwidth compression and management.

Terms of use | Privacy policy | Copyright © 2018 Farlex, Inc. | Feedback | For webmasters