User Interfaces with Object-Oriented Programming in APL2
by Manuel Alfonseca
The power of general arrays is used to provide APL2 with object-oriented capabilities, which are used to generate user interface object classes such as windows, menus, dialog boxes and messages, among others, all of which can be created as persistent objects. This makes very straightforward the development of user interfaces for real applications.
[Full Text in PDF Format, 1623 KB]
Representation of Fractal Curves by Means of L Systems
by Manuel Alfonseca and Alfonso Ortega
Fractals can be represented by means of L-systems (Development Grammars), together with a graphic interpretation. Two families of graphic interpretations have been used: turtle graphics and vector graphics. This paper describes an APL2/PC system able to draw fractals represented by L-systems, with both graphic interpretations. A theorem has been proved on the equivalence conditions for both interpretations. Another point shown is the fact that supposed deficiencies in L-systems that have prompted proposals of extensions are really deficiencies in the graphic translation scheme.
[Full Text in PDF Format, 731 KB]
Cross-tabulation Algorithms
by Martin Barghoorn (barg@cs.tu-berlin.de)
The cross-tabulation technique is a common tool for data analysis and other statistical purposes. But when the datasets are large the standard software such as spreadsheet programs cannot process all the data or the database programs are too slow. It is therefore necessary to offer efficient APL programs which are well designed for cross-tabulations. There are various algorithms in APL but which ones are appropriate for such tasks?
[Full Text in PDF Format, 472 KB]
Real-time APL Prototype of a Wide Area Differential GPS System
by Dr. Henry M. Beisner (102257.3246@compuserve.com), Jack G. Rudd (jack_rudd@lfs.loral.com) and Robert H. Benner (robertbenner@lfs.loral.com)
The Global Positioning System (GPS) consists of a constellation of 24 high-altitude satellites with very accurate atomic clocks, along with a global network of satellite tracking stations and sophisticated ground processing stations, that together provide precise navigation coordinates to any user who possesses a small, readily available GPS receiver.
The precision that is achieved depends on
- the number of GPS satellites in view of the user and the geometries involved;
- the design of the users receiver (e.g., military or civilian);
- the presence of nearby objects that may interfere with or degrade the reception of signals from one or more satellites;
and other factors.
In most cases civilian users (whose receivers can read only unencrypted, intentionally corrupted GPS signals) can expect navigation accuracy on the order of 50-100 meters. The advertised accuracy for users with military receivers, which read the encrypted GPS signals, is 16 meters. Coalition forces in Desert Shield / Desert Storm relied heavily on GPS, and U.S. military authorities praised GPS effusively for its effectiveness as a force multiplier in that conflict.
Loral Federal Systems (formerly IBM Federal Systems Division) in Gaithersburg, Maryland has been intimately involved with GPS from its concept validation phase through operations and maintenance. People in this group analyzed the physical dynamics, designed the mathematical algorithms and associated software, and performed the system integration work that culminated in the GPS ground control segment.
APL was used over the years in most major aspects of GPS design and analysis. Early in the full-scale development phase, APL was used to model the initial GPS system design, to perform design tradeoffs, to model and test candidate algorithms, and to perform error analyses to estimate future system performance. In later phases APL was used to monitor and analyze actual GPS system performance, to compare it with theoretically achievable performance, and to analyze and isolate anomalies [Allan].
[Full Text in PDF Format, 803 KB]
Song of the Whale Parallel Processing Using APL2
by Per Gjerløv, Technical University of Denmark, Lyngby, Denmark (gjerlov@ibm.net), and Izabela Meisel, University of Mining and Metallurgy, Krakow, Poland (Izabella_Owsiak@doctorq.com)
APL2 has often been used in a credit course at the Technical University of Denmark. The objective of the course exercise has been to analyse the vocalisations of Sperm Whales. In January 1996 the course was run again, this time using the IBM SP/2 supercomputer to solve the problem, and in this course an additional objective was to utilize the possibilities of this powerful parallel computer.
During the three weeks of the course the students learned the APL language, solved a non-trivial problem, used a very powerful computer for the solution and wrote excellent and detailed reports.
[Full Text in PDF Format, 691 KB]
ANDYMMO
Animation of the Dynamics of Mechanical and Control Models
by Willi Hahn (whahn@bingen.fh-rpl.de ), Erwin Hasenjäger (hsnjgr@zuse.bingen.fh-rpl.de ) and Jens Trautmann
The dynamics of mechanical and/or control systems is traditionally documented by plots of system variables. The imagination of the underlying movements is restricted to very simple cases. ANDYMMO enhances imagination by introducing the possibility to see animated sequences of movements. The source may be any output generated by standard simulation tools. For linear models ANDYMMO has its own built-in simulator.
[Full Text in PDF Format, 501 KB]
Using J as an Expository Language in the Teaching of Computer Science to Liberal Arts Students
by John E. Howland (jhowland@ariel.cs.trinity.edu)
APL and J are seldom, if ever, used in the teaching of college or university courses. Recently, the author has developed a new laboratory based computer science course for liberal arts students in which students are introduced to 13 core computer science topics. Programming language is used in an expository fashion to describe each topic by building simple working models of each topic. These models are then used as the basis of laboratory experiments in a co-requisite laboratory course. Students are not taught programming in this course, but rather, are taught just enough of the syntax and semantics of the language to be able to read and understand the exposition and models. Initially, Scheme was used in the lecture notes and laboratory materials developed for this course. Recently, however, an experiment is under way to replace the use of Scheme in this course by J. The development of this course and laboratory was funded by the Meadows Foundation and NSF grant DUE 9452050.
Subject Areas: Computer Science Education, J, Arts and Humanities, Exposition.
Keywords: computer science laboratory course, J, exposition.
[Full Text in PDF Format, 694 KB]
A Proposal for Calling Conventions for APL Defined Functions
by Vincent Lin (vlin@ix.netcom.com)
This paper will touch on the lack of mechanisms to pass arguments back from defined functions other than return values, if return values are already used as error codes. An extreme case is the use of call-back functions, or event procedures, to the events of GUI objects. In Dyalog APL/W, functionality of arguments and return values of call-back functions are already well-defined. The way you can pass information back from a call-back function, or event procedure, is by storing it as a global variable or by storing it into the Data property of an GUI object, which is also a global variable. This paper proposes a solution - utilize a Call-by-Reference mechanism of function arguments passing, in addition to return values of defined function, to pass results of defined functions back to calling functions. The programming environment is in Dyalog APL/W Version 7.1.3. This interpreter is robust itself and is feature-rich in terms of the integration of APL and MS Windows GUI environment. This paper starts with a
description of problems encountered when programming in a GUI environment with call-back functions as well as the difference in design logic of programming styles among procedural programming and event-driven programming. Secondly, this paper presents a brief description of two different mechanisms to pass arguments into and out of defined functions. Thirdly, this paper presents a design solution to the problems mentioned above based on the Call-by-Reference mechanism described in second part. Lastly, a conclusion is made and potential pitfalls are explored.
All code segments demonstrated here are implemented and tested in Dyalog APL/W Version 7.1.3.
[Full Text in PDF Format, 1206 KB]
Classifier Systems and Economic Modeling
by Johann Mitlöhner (Vienna, Austria)
Vienna University of Economics, Department of Applied Computer Science
Augasse 2-6, A-1090 Vienna, Austria
(mitloehn@wuu-wien.ac.at)
Human economic decisions are characterized by a number of factors which make them difficult to model with standard mathematical tools. Decisions can be more easily described by a set of rules, and some of them may be "rules of thumb". Economic behavior is adaptive, in that people are able to adjust to a changing environment. It is argued in this paper that the classifier system framework is a suitable means of modeling human economic decisions. A case of a simple economic decision of finding an optimal price is discussed, which is later made more complex by introducing an imput variable that effects the optimal price. It is shown that classifier systems can be used in both tasks, and their performance is compared to human decisions in the same set of circumstances.
Keywords: classifier systems, adaptive agents, economic modeling, economic simulation.
[Full Text in PDF Format, 808 KB]
Economic Forecasting by Deterministic-Adaptive Method
by Sergei M. Obraztsov, Dmitri V. Chelegatski, Inna N. Louneva, and Alexander L. Shimkevich (Obninsk, Russia)
Economic forecasting is of great importance when some economic mechanism is changed rapidly as in Russia nowadays. Any economic system is a deterministic-stochastic entity of great complexity. Because of this, informative models which offer the interplay of the most significant factors are inadequate for satisfactory long-term forecasting.
The paper describes a forecasting procedure based on the joint use of formalized method (numerical simulation) and adaptive method (simulation with a neural network) when the model structure is formed by incoming information.A combination of forecasts selected by experts allows one to make the most likely forecast from the fan of probable tracks.
An APL implementation of this procedure has been used for the forecasting of municipal expenditures and has brought significant economic benefits.
[Full Text in PDF Format, 619 KB]
Genetic Algorithms: APL2 Implementation and a Real Life Application
by Alexander O. Skomorokhov (askom@APL2.obninsk.su)
The paper describes application oriented approach to genetic algorithms technique. The software implemented in APL2 with exploiting benefits of user defined operators and separating of general purpose and problem specific code. The paper present result of genetic algorithms application to solve real life problem of simulation and prediction input stream of orders to large consulting and service company. In the complete variant of the paper implementation of GUI interface to genetic algorithm software in APL2 for OS/2 is described.
[Full Text in PDF Format, 806 KB]
|