APL90: Invitation and Abstracts
Vector 6:4, page 33
Transcribed from the printed issue; not yet reviewed. Read it in the PDF of the issue, page 33
APL90¶
The International Conference on APL
13 - 17 August 1990
Falkoner Center, Copenhagen, Denmark¶
Welcome to APL90¶
Some 17 years after the first APL conference was held in Denmark, we cordially welcome both old-timers and new hands to APL90. We can truly say that, in line with tradition, APL90 will be an exciting opportunity for exchange of both ideas and experience within the world of APL. As something new, however, the complete Proceedings, containing all the papers and abstracts, will be be received prior to the conference by those who register before the early dead-line. This will allow participants to prepare for the more than 50 oral and poster presentations, as well as the tutorials, birds-of-a-feather sessions, software exchanges, and vendor forums and exhibitions. The Program Committee is convinced that everyone will be kept busy!
The main theme of the conference is 'For the Future' and many of the presentations and activities will indicate potential directions for new developments. Both as a result of an 'internal drive' to improve APL, but also - and obviously - inspired by and competing with developments in other programming environments. Plotting a course towards the future, however, often involves mapping the present and a number of the presentations will document results already obtained through the use of APL.
Some of you may have noticed a small change of plans. The week before this invitation went to the printer, our first choice of conference centre closed down, and although they are threatening to reopen "soon" we felt it was safest to move the conference to Copenhagen - to the Falkoner Center only 3 km. from the centre of Copenhagen. We believe that the new venue will prove conducive not only to the pursuit of the aim of the conference, but also allow this to take place in a friendly and relaxed atmosphere. Through the choice of presentations and other activities we are convinced that everyone will leave a little wiser, with plenty of food for thought, inspiration and, hopefully, with lots of good memories.
Gitte Christensen, Per Gjerloev
Conference Chair, Programme Chair
Conference Overview¶
A very important part of our motivation for taking on the task of organizing APL90 is that we find APL conferences to be of great personal and professional value. There are very few opportunities for APL users and programmers to educate themselves, except by meeting and talking to other APL'ers. The annual APL conference provides this opportunity which we so sorely need. This is where we can catch up on the latest advances in software and hardware, and the place where we can meet people who, like ourselves, use APL to solve problems. It is an event from which we always return full of new knowledge, energy and inspiration.
APL conferences have a tradition which must be respected - but each organizing comittee is allowed to try out some new ideas. Our primary goal has been to show that APL is a successful tool, and that it will continue to be so in the future. Fortunately, the submitted papers, together with the invited speakers, have delivered some solid documentation to this effect.
Another important goal which we set ourselves from the start was not to force attendees to chose between keeping up with the technical programme and living a social life which provides some of the best opportunities for gathering information and making new friends and business contacts. All participants registering before June 1st will receive a copy of the proceedings before August 1st. We have also set Wednesday afternoon aside for meetings. This means that you can schedule business meetings, Birds-of-a-feather sessions etc. without having to miss part of the conference programme.
We have chosen to give so-called "Poster Sessions" a more prominent role at APL90. These sessions are particularly appropriate for presentations suited to a dialogue between the author and his audience. We have encouraged Software Exchange contributors to perform short presentations of their works in order that it be easier to get an idea of what is being offered.
Finally, we have invited prominent proponents of each of the two main APL dialects to give advanced tutorials, aimed at educating those who believe in the other dialect. An understanding of the actual differences between these systems is a requirement for a fruitful discussion of the future development of APL. An attempt to kick off such a discussion will be made by Mr. Trenchard More who will be expounding upon the latest improvements to his array theory.
We hope that you will enjoy our version of the APL conference - APL90 - and look forward to seeing you all in August.
Invited Speakers¶
Mads Oevlisen: People, Corporations and Information.
Mr. Oevlisen is the President of Novo Nordisk A/S, a Danish biotechnology corporation. How does he envisage Management Information and Information Management in the future, in a research-based and market-driven environment?
Hans-Peter Meinzer: Visualization of medical tomography image series.
Image processing is a computationally intensive task. Dr. Meinzer will not only talk about but also show you how data, harvested from medical scanning procedures, can be analyzed and transformed into very useful three-dimensional images with high informative content, thus aiding physicians in diagnosis and therapy. And, of course, how this has been done with APL.
Trenchard More, Jr.: Looking Beyond APL2 and NIAL.
Mr. More is now retired from his former position as research fellow with IBM. He is the father of the array theory which laid the foundation for nested arrays in APL2. A later version of the array theory was used as a basis for the Nial language. For some years, Mr. More was a visiting professor at the Technical University of Copenhagen, where students of Ole Franksen and Peter Falster have done pioneering work using Nial. More recently, Mr. More has had further insights, particularly with respect to the handling of empty arrays, leading to new revisions of array theory. His address will deal with the consequences of these new insights - the differences between APL2 and Nial, and some ideas about what should be next.
Allan Huang: Massively parallel computing.
Mr. Huang is working as chief scientist with AT&T, Bell Laboratories. The most recent results of his work include the prototype of the world's first optical computer, which runs between 100 and 1,000 times faster than the supercomputers of today. The optical computer is a massively parallel machine, and to help make efficient use of the new architecture, Mr. Huang has developed a concept which he calls 'computational origami'. This is a process by which a large problem with a vast amount of data can be ordered so that it can be computed efficiently by a parallel computer.
Baird Smith: The Soft world.
Mr. Smith of IBM gives a multimedia presentation showing the impact of computers on everyday life. The presentation provides insight into just how deeply our lives are influenced by the use of modern information technology, as well as indicating some of the directions future developments may take.
Mark Dempsey: APL software engineering and CASE, where is the common ground?
For many years, Mr. Dempsey worked on software development tools at I.P. Sharp Associates. He was one of the main architects behind LOGOS - IPSA's APL development environment. Now working for Affinity Systems, Mr. Dempsey will give us a survey of the world of software engineering and CASE.
Poster Sessions:¶
| Jan Ahlqvist | SRS Service System |
| Tony O'Hagan | APL Statistics Library Project |
| Don Erickson | Technical Support Program for APL-related questions |
| Frank Evans | A Structured Approach to Analysis and Design of Complex Systems |
| Sven Gunnar Loenn | DEMOS - a PC-system for population projections for small areas |
| D. Smellie | Structured Expert System Design |
| Adrian Smith | Designing an APL Typeface |
| Howard J. Smith, jr. | What's Ahead for 2000 A.D. |
| Howard J. Smith, jr. | Some Uses of Truncated Boolean Vectors in Analysis |
| Steve Dunwell | An APL monography |
APL90 Papers¶
The following is a list of abstracts from the 47 accepted papers for oral presentation at APL90. The papers have been organized into 8 streams of related subjects.
STREAM 1: APL FOR THE FUTURE¶
These presentations deal with the properties of APL which should secure it a firm position in future data processing, but also with practices necessary to reach this goal.
Kromberg, Morten and Gfeller, Martin: An Application Development Platform. While APL was a highly productive system for personal computing and application development when it was introduced, it is lacking nowadays in the areas of programming-in-the-large and user interface constuction. The design and implementation of a new Application Development Platform (ADP) is described. The ADP frees the programmer from user interface concerns, and frees the application from device specific code.
Promisel, Steven and Merrill, James: Managing a Diamond Jewelry Manufacturing Business Using APL. We discuss the development of several interconnected computer systems designed and built for a manufacturer of finished jewelry. Our approach will be two-fold. We describe how the company uses APL-based computer systems to analyze pricing issues and handle the manufacturing process. We show how the system has been developed by describing what techniques have employed and what tools have been created and used. The purpose of this paper is to show how an APL application development system can be used to build continually evolving interactive computer systems in a combined sales and manufacturing environment.
Recker, Ursula and Rys, Michael: A Preferable Look - APL in Window-based Environments. Currently, most APL systems are line and workspace oriented. Some concepts will be shown on how a modern style APL dialect named AIDA could fit into a real window-based, event driven environment. To achieve this goal, a future user interface in an experimental environment is sketched by presenting the language environment, the editor and the debugging facility.
Rudd, Jack: Toward a Common Prototyping Language. The paper describes a proposal to the U.S. Defense Advanced Research Projects Agency (DARPA) for the development of a very-high-level Common Prototyping Language. The proposal suggests using a subset of APL2 together with an APL2-to-ADA Translator. Although the proposal did not win the first phase of the contract, DARPA returned positive feedback and invited the authors to continue their work and compete in the next phase of contract activity. Together with excerpts from the proposal to DARPA, the paper describes the respects in which the proposal fell short of DARPA's requirements, and how an APL-based solution might yet be brought into conformance with these requirements.
Schulz, Charles A.: Writing Applications for Uniform Operation in a Mainframe or PC: A Metric Conversion Program. A metric conversion program was developed to convert 350 measurements units between inch-pound (or USA customary) and metric systems for engineering design and documentation. The program follows the primary national metric standard with its conversion factors and special rules for arithmetic, rounding, accuracy, formatting, and terminology. The portability of APL2 under VM/CMS and PC DOS was exploited in moving the mainframe program to the PC. Cover-functions to isolate environmental differences are described for file operations, pop-up windows, printing, stack and host system commands.
Soule, Donald: Stability in a Sea of Change. Question: As a developer, how do you continue to productively develop business applications when the hardware/software environment changes twice each year? We describe here a solution for the APL business applications developer to maintain a productive environment under these circumstances, by isolating the user interface in the application from the underlying workstation hardware. This is parallel to IBM's SAA strategy of a common user interface, only at the developer's, not the user's level.
STREAM 2: THE LANGUAGE AND ITS THEORY¶
In this group are found the presentations dealing with the theoretical aspects of APL or, in a sense, its very nature.
Benkard, Philip J.: Nonce functions. Data, functions, and operators exist in diverse current APL systems in primitive, derived, and defined forms. Data, in addition, occur in a literal form. This paper introduces a form of function literal, subsequently extended to include operators. Lexical scope is restricted to the minimum to achieve perspicuousness and syntactic predictability. The short expressions which result form convenient, explicit representations of ordinary structural operators and combinations thereof. The trade- offs between extra key strokes and symbol clutter are discussed.
Girardot, Jean Jacques: The A+ Programming Language, A Different APL. This paper introduces A+, which is an Array Oriented programming language derived from APL, and explains the motivation for creating such a language. After discussing some problems of current APL system, like the lack of control structures, the usage of dynamic binding, and the difficulty of handling functions we demonstrate how these problems are solved in A+. The most important feature of A+ is that is uses lexical binding rather than dynamic binding as APL does, which solves some old problems of APL while making it a safer language, at the same time offering a new kind of programming style.
Girardot, Jean Jacques: Arrays and References. Generalized arrays in APL have remained a controversial subject. Although major APL vendors have long settled their positions, it seems legitimate to reopen the old debate since the creation of an extended standard for APL is now being undertaken. An analysis of both nested and boxed array systems, in the light of the new developments in APL, consisting of the introduction of a new data-type, shows the possibility of and the interest in having both systems with their own specificities in a single implementation.
Hui, Roger et al.: APL\?. The definition of APL in the dictionary can be significantly simplified and enhanced by ignoring some of the inhibitions imposed by conformity with earlier APL, by using the phrasal forms hook and fork, and by more fully exploiting operators. The paper describes a version of APL simplified and enhanced in this fashion. The authors have also explored techniques for obviating special symbols, as a result APL\? will run on any terminal that provides ASCII characters. Finally, the paper describes the unusual style of C programming used to implement APL\?, which is available as freeware on several machines.
STREAM 3: SUPERCOMPUTING¶
In the future, the demand for numerically intensive computing will increase markedly. The presentations in this group address some of the relevant issues.
Bernecky, Robert: ACORN: APL to C on Real Numbers. A crude APL to C compiler was produced while investigating improved tools for solving numerically intensive problems on supercomputers. Although intended only as a proof of the feasibility of compiling APL for numerically intensive environments, ACORN has shown that straightforward compiled APL should be able to compete with hand-optimized FORTRAN in a number of practical applications. The advanced semantics of APL give it a performance edge over more primitive languages, because APL preserves the parallel or array nature of algorithms, allowing them to be mapped onto vector and array-oriented machines in a more direct and obvious fashion than scalar-oriented languages.
Ching, Wai-Mee: Automatic Parallelization of APL-style Programs. APL-style programs use high level primitives on arrays instead of DOloops whenever possible. For such programs, the average size of a basic blocks is much larger than those in their FORTRAN counterparts. Hence, it is sufficiently profitable and relative easy to concentrate parallelization of APL-style programs on basic blocks only. The compiler exploits functional parallelism on data independent sub-expressions and data parallelism of array primitives on array elements. The compiler front end does a local data dependency analysis and emits synchronization flags at function nodes. The back end does partitioning of (assembly code) array loops. A set of low-level synchronization primitives on MVS has also been under development. This will enable running of compiled applications in parallel mode on IBM 3090 multi-processors to access the effectiveness of various scheduling methods on a shared memory model.
Sauermann, Juergen: A Parallel APL Machine. The suitability of APL as a programming language for parallel computers seems to be obvious. Nevertheless, integral concepts of parallel APL machines are rare. At Saarbruecken University, we developed a 32-processor prototype of a parallel APL machine along with a high performance network designed for up to 256 processors. Besides building the prototype, we specified in detail in which way the parallel APL machine is operating. In this paper, we present the basic principles of the parallel APL machine together with the efficiency of the machine for the most important APL functions.
Geyer-Schulz, Andreas et al.: An APL-Simulator of Non-Von Neumann Computer Architectures. APL's powerful primitives and compactness make it an ideal tool for simulating hardware functions in order to gain insight into the functionality, the performance, and the programming of an algorithm without the need of the painstaking process of actually building the target machine. We have developed an APL2 software simulator for Non-Von Neumann computers. The basic data structure of the system is an array whose elements model a number of RAM's containing control registers, data and program code. The user can "define" the machine by specifying the communication network and primitives, the instruction set and its semantics, and the complexity measure. We demonstrate the use of the program system for studying various schemes for adaptive load sharing on multicomputers.
STREAM 4: APL EDUCATION¶
These presentations deal with the art of teaching or presenting APL to both beginners and old hands.
Cherlin, Edward: APL Trivia. APL derives great expressive power from seemingly trivial features, such as empty arrays, but there is still resistance to the implementation of the elementary trivial functions, such as left ]] and right ]] , which perform no calculations. This paper defines functional triviality, describes trivial functions and operators and their uses, discusses the mathematical basis of their expressive power, and defines new trivial functions and operators. It urges implementation of several of these functions as primitives for reasons of efficiency and expressiveness, and considers their efficient implementation via idiom recognition.
Polivka, Raymond: Reading To Write. Teaching a program language offers many challenges. Foremost, of course, is the question of how to present the material. Part of any presentation are the drills and exercises. Frequently, after the content has been presented, the student is asked to write a program. This is much akin to asking a student, who has just been exposed to the grammar and some vocabulary of a new language, to write an essay in that language. This paper will discuss several alternate approaches in presenting exercises to develop the proficiency of a student in the use of a programming language.
Thomson, Norman D.: The Art of Staying Within One's Depth. A barrier to the successful use of APL2 is that many functions by being inherently depth-increasing or depth-decreasing can tempt the programmer to lose control of depth and thereby forfeit the expressive power of APL2. The "spilt pepper" effect following a deluge of 'each's can be just as damaging as ISO APL chains of left-brackets and quotes. The temptations of a fast interactive system as a substitute for thought are considerable, and should be resisted. Informal perceptions of how APL2 functions and operators work can be more valuable than the formal descriptions given in manuals. This paper consists of 4 sections, each with rules or precepts for the disciplined and controlled use of nestedness.
STREAM 5: MANAGING APL: THE SYSTEM ENVIRONMENT¶
The friendliness of APL towards both implementors and users will be one of the 'critical success factors' for its use in the future. The presentations in this group all deal with some facet of this issue.
Foster, Garth H, et al.: An Integrated Programming Environment for APL2/PC. This paper describes how full screen editing and debugging using a mouse and windows can be added to the APL2/PC programming environment. The use of AP124 and a special purpose auxiliary processor to support windowing are described.
Fox, Ralph jr.: Colour APL Beautiful. This paper discusses the many ways you can use colour display attributes to make your use of the APL*PLUS PC and APL*PLUS II systems more productive and enjoyable. An extensive suite of utility functions will be illustrated and demonstrated. These functions enable you to establish colour schemes for the editing, maintenance, and display of functions and various types of data arrays. Many of the utilities are also applicable to monochrome monitors.
Kondrashev, Andrew V.: The Family of Soviet APL Systems. This paper deals with the original implementation of the family of APL systems for diverse mini, micro and personal Soviet computers.
Barker, Guy et al.: Conscientious Programming Using PMA. This paper draws attention to the importance of application support and the need for APL software management. It describes the use of APL systems at Philips to assist in providing a controlled application support environment and examines in detail an APL software management system, PMA (Program Maintenance Aid).
Lucas, Jim: Programming ecology, or the world at large. APL, like any programming language, interacts with various environments and individuals. This paper examines the interactive demands of each external influence and the means by which APL has tried to meet these demands as a set of mutually interdepent systems, i.e. an ecology. It suggests some general principles for ecological success, illustrating them with examples from both natural biological systems and APL. It the proposes some future evolutionary directions for APL which should not only insure its survival but gain it a dominant position in the programming ecology. Not the least important conclusion is that APL must be responsible for its own success.
Rutiser, William A.: Object-Oriented Programming of X Window System Graphical User Interfaces. This paper describes an experimental interface from an APL implementation to the X Window System and an APL object-oriented programming style for creating graphical user interfaces.
Weintraub, David: APL2OS: Design Considerations for a Nested Array File System. APL2OS is an External Function for the APL2 system, designed to enable APL2 applications to access operating system files (and information about these files) in a straightforward and efficient way, using the power of APL2 syntax to maximum advantage. The design goals and approaches for APL2OS are discussed, in the context of a summary of its features.
Wheeler, James G.: Design and Implementation of the Interface to Compiled Languages in APL*PLUS II. APL*PLUS II is a second-generation 32-bit APL interpreter that runs under the MS DOS operating system. A recent release has introduced two new system functions that make it possible for APL to dynamically load and execute programs written in compiled languages such as C and Fortran. These enhancements presented both design and implementation challenges. On the design side, it was necessary to make it as easy as possible for the APL programmer to integrate non-APL routines into applications. The implementation side required considerable technical creativity and invention, since the MS DOS environment provides no built-in functions for dynamic loading and execution of programs.
Oesterman, Johnny: Very high quality user interface and fast data filing using a PC. The user response to any computer system depends very much on the way the user 'sees' and 'feels' the system, or the user interface. In order for APL to remain competitive compared to other PC software products it is imperative that it is easy for the APL programmer/user to exploit the full potential of the PC environment. Since data filing operations are often disproportionally time-consuming on a PC, fast file handling functions are essential. This paper introduces, through the use of a toolbox of compiled utilities, a new way to implement an efficient and attractive user interface combined with fast and flexible handling of fixed length data files.
STREAM 6: APPLICATIONS: HOW TO SOLVE PROBLEMS WITH APL¶
APL is being used to solve diverse but very real problems some large, some smaller. The presentations in this group demonstrate solutions to a selection of problems which may, hopefully, provide inspiration to go and do likewise ..........
Bottoni, Paolo et al.: Definition of image interpretation stategies in APL. Images can be analyzed as digital arrays in which not only numeric, but also topologic, geometric, and shape properties have to be detected. The use of APL functional notation permits the easy definition of interpretation strategies to detect and manipulate these properties: A) in a concise form, avoiding house-keeping details, so that the strategy can be generally understood. B) allowing the decomposition of high-level functions into their components, highlighting substrategies. C) focusing on those activities which are fundamental to each substrategy. These properties facilitate visualization of the general algorithmic ideas underlying a given strategy, while at the same time execution of the generated code allows checking their computational meaning on real data. The concept will be illustrated through the discussion of examples.
Friis, Erik S.: APL2 and MIDI. The Musical Instrument Digital Interface (MIDI) protocol may be effectively modelled in APL2 through the definition of scalar functions. This paper demonstrates various techniques in the modelling and manipulation of MIDI data as well as other musical models for pitch and chords in APL2.
Groner, Leo and Cook, Janice H.: QMOD, an analytical response time model for distributed systems. Network designers are faced with a combinatorial explosion of choices not only among various vendors' workstations, hosts and servers, but also among application distribution strategies, communication media, communication protocols, and network topologies. To study performance tradeoffs among various designs, the authors have developed a generic system throughput and response-time model for distributed systems. We have applied the model to actual customer networks. Since the package is designed with an open set of submodel types, and since APL2 is portable across many architectures and operating systems, we can easily integrate non-APL2 code.
Langlet, Gerard A.: The travelling salesman problem, revisited with APL. This paper introduces a new algorithm for the TSP and the class of n-p complete combinatory problems, which were first found empirically with the help of APL used as a 'tool of thought'. Then follows a demonstration which shows that simplicity - as well as vector programming - may lead to significant progress in some fields of optimization. Programs are short and efficient. Reprogramming in Pascal or Fortran leads to code which to some extent runs faster than the interpreted APL models. The use of parallel processors would significantly improve the solution of the TSP. APL should also play a role in this new field of computer science.
Laurmaa, Timo: Desktop Publishing on mainframe with APL and Ventura Publisher. This paper describes a facility which can provide APL applications with very high quality output, by integrating the mainframe APL environment and a PC desktop publishing system. The concept also shows an example of a VM/CMS server machine running on a PC. The system described in this paper is an unusual example of a distributed Host&PC application - here the mainframe transmits data to be efficiently processed in a PC.
Olsen, Thomas: Multi-Axis NC Postprocessor for Machining Centers. APL2 is applied to postprocessing CL (cutter location) datafiles output from the CADCAM systems APT, CATIA and CADAM NC. For multi-axis (XYZ with one or two rotary axis) applications, an APL2 PP (postprocessor) was found more convenient and expedient than commercially-available PPs. Availability of "source code" plus immediate response to user need outweigh the higher cost of processing with an APL interpreter. The paper briefly reviews the concept of NC postprocessing and evolution of the subject PP from earlier version marketed by IBM Germany. Implementation notes include use of ADRS to maintain NC machine characteristics and APL2 functions, a FORTRAN interface to CL-data, and WSSIZE minimization.
Pritchard, Tom: IBM System/370 Channel Programming Using APL. This paper describes how disk, tape and other devices attached to an IBM System/370 class machine running the VM operating system can be programmed directly from APL. The techniques rely on a few surprisingly simple APL functions and a simple auxiliary processor.
Teileri, Timo and Olkkola, Toivo: LYYTI - An Integrated Design and Control System. LYYTI is an APL2-based integrated system for design and manufacturing of customer-tailored switchgears, containing some expert system features. System development started in 1981. The LYYTI system uses the relational database DB2 and interfaces with FORTRAN, GDDM and CADAM (via FORTRAN). LYYTI runs on a IBM 3090-180S under TSO and all of the approx. 120 daily users access the same packaged workspace. Porting the system to a PC- PS/2 network is in process.
STREAM 7: APPLICATIONS: FINANCIAL AND INSURANCE¶
Traditional strongholds for APL applications have been the worlds of finance and demography. The presentations in this group demonstrate that this is still so.
Foote, William G.: APL2 Analysis and design of mortgage-backed securities. This paper demonstrates the ability of APL2 data structures and algorithmic capabilities to transform a description of a contingent claims pricing model into an implemented representation. The usefulness of the model lies in its ability to generate scenario-based analyses of the impact of varying market conditions on the value of the mortgage-backed security.
Iversen, Torben: The use of APL in Management Information and Economics in the Copenhagen Telephone Company, KTAS. KTAS is operating in complex and dynamic surroundings which has emphasized the need for instant, reliable management information. This paper describes the activities which the company have integrated into a management information system and how this has been achieved through the use of APL.
Kaski, Eeva-Liisa: End-user KESSU. The present-day KESSU IV is the tenth generation of a Finnish medium- term macro-economic computerized model. Since the beginning in the early sixties, the model has constantly been extended and optimized. One of the major advances has been the porting of the system from a mainframe to PC environments. Despite the increasing complexity of the model it performs very satisfactorily on PCs and enables economists to evaluate a multitude of 'what-if' scenarios. The system structure is modular and robust, including error recovery and help facilities. The user interface is largely menu-driven, permitting the model to be used by staff without EDP expertise.
Meyer, Ole M.: An insurance simulation model. This paper describes the developement of an economic simulation model for Topdanmark, an insurance/financial corporation. The model is interactive, menu-driven and permits the manipulation of all relevant economic determinants (interest rates, inflation, investment portfolio, premium income, outstanding claims etc.). Output is in the form of scenario-based P&L accounts and balance sheets. The model was developed by economist end-users.
Miroshnikov, Alexey I.: Algorithm Alterable Models and APL. This paper deals with the software development of a set of economics systems models: algorithm alterable models (AAM). The special feature of AAM is that research work with the model leads to new knowledge about the modelled system, which necessitates changes to the model itself. After the change, the cycle is repeated. As an example, the paper discusses modelling of a long-term planning process in construction. Corresponding software - DSS - is described for planning. DSS has been implemented i APL 2.0 on a CDC Cyber-172 mainframe in LIIAS USSR. Pseudo- parallel executions, combining APL with ALGOL and FORTRAN subsystems, have been developed to improve the dynamic characteristics of the DSS software.
STREAM 8: APPLICATIONS: SCIENTIFIC AND ENGINEERING¶
APL is being used in the scientific and engineering community as a tool to deal with everyday computing needs, as well as to explore theoretical issues, and the presentations in this group illustrate how.
Alfonseca, Manuel: Neural networks in APL. Neural networks are fairly straightforward to program in a matrix oriented language such as APL. The only general improvement that would benefit them would be the implementation of sparse matrices. Small networks can be trained easily using the standard procedures (back propagation, etc).
Apiola, Heikki and Peltola, Pirkka: Integrating APL with symbol manipulation, numerical software and graphics. This presentation deals with the idea of combining symbol manipulation, numerical computation and graphics into a high-level environment for solving problems in scientific computing. The basic building blocks are Fortran subroutine libraries, a symbol manipulation system, and a vector-matrix language. Thus, we have chosen two different high-level host systems which are suitably connected to the Fortran-world (APL and Macsyma). We stress the idea of giving the user building blocks, as well as ideas for extending the system to meet the specific needs of each individual dealing with computational problems in very diverse computing environments.
Capra, Renato: Preliminary Mesh Checking for Structural Analysis. The purpose of this work is to provide tools for checking the nodes and elements of a Finite Element Modeller for Structural Analysis (Nastran). All the checks related to single elements (warping and stretch factor, interior angles) can be performed on the whole model without loops using scalar functions. Operations involving comparisons between elements (such as coincident nodes and coincidents elements checking) require a non-trivial approach. A simple algorithm for recursive space-splitting is described with performance considerations for large models. Graphic output obtained using the Graphics Support Library of RTPC and an interface to Interleaf Workstation Publishing System are also provided.
Hawkes, Alan G.: Markov Processes in APL. Using examples from two areas of application, ion channel models and systems reliability, we illustrate the power of APL as an executable notation for the mathematics of finite-state Markov processes. We stress, in particular, the algebra of partitioned matrices and second-generation features of DYALOG APL which allow a simple natural way of creating certain structured matrices.
Hendriks, Ferdinand and Ching, Wai-Mee: Sparse Matrix Technology Tools in APL. We have implemented sparse matrix technology tools in APL. Such tools have been conspicuously scarce, because APL has not been the language of choice for solving boundary value problems governed by partial differential equations in a way that adds flexibility and, on account of its compactness, maintainability. The main criticism of APL in numerically intensive applications has been execution speed. APL compilation addresses this drawback and shows factors of speed improvement of better than about three.
Lin, Edward Y.H. and Bricker, Dennis L.: Implementing the Recursive APL Code for Dynamic Programming. Despite the importance and wide applicability of Dynamic Programming techniques in optimization, the complexity and uniqueness of various dynamic programming models often makes the comprehension of their solution procedures difficult, particularly for a novice. Although it can be argued that, unlike the Simplex method in linear programming, no general dynamic programming algorithm exists, with the recursive capability of APL, it is feasible to develop a "systematic" solution approach for deterministic dynamic programming. In this paper, we introduce a set of such APL code developed to solve various types of dynamic programming problems with minor modifications on some of its key functions to accommodate the nature of each type of problems.
Pantziarka, Panagiotis: Object Oriented Database Using Frames in Second Generation APL. The appeal of Object Oriented systems and methodologies is that they provide conceptually simple and powerful tools to represent the real world. The essential elements of object orientation include: information hiding, classes, dynamic instantiation of objects, methods and the inheritance of properties by object. Frames are a way to combine both data and procedures to represent knowledge. This paper describes a frame representation system that is used to create a simple object oriented database. The frame structures are described and it is shown that they can be represented as nested arrays. The inheritance mechanisms are detailed and functions developed to handle the frames. Finally, a proposal is made for the further development of frame structured systems in APL.
Springall, Tom and Tollet, Gustav: A Shading Approach to Non-Convex Clipping. The conventional way of clipping a graphic object with a rectangular window or any convex polygon is to cut the object along a line tangent to each side of the polygon. Parts of the object on the exterior side of the line are thrown away. However, this process fails if the clipping window is non-convex, i.e., has one or more corners that point inward, or if the window consists of more than one polygon. One way of dealing with this situation is to break up the window into simple convex polygons. A different approach, presented here, is to use shading logic. The window is seen as an area to be shaded, and the object, as the shading pattern. The method yields not only the clipped object, but also, as a by-product, the reverse clipping, i.e., that part of the object that lies outside the window. This is an advantage in graphics editing where both clippings are often needed at the same time.
The APL90 Conference Exhibition¶
The APL90 Conference Exhibition will be tightly integrated with the Conference itself, as most of the stands are in the lobby area right outside the lecture rooms. The exhibition will show the latest advances from the major vendors of APL and related software and hardware products.
Vendor forums will also be offered, for detailed expositions, and particularly for new and enhanced product launches. These are half hour presentations by vendors in the lecture rooms. The overall schedule of Vendor Forums is shown in the conference programme on page 12; the detailed schedule will be announced at the conference.
Call For Software Contributions¶
Since APL86 in Manchester each APL conference has featured a Software Exchange, and APL90 will continue this tradition. We hereby invite you to share your code with the APL community. In an attempt to raise the visibility of the offered software, APL90 invites you to prepare a short presentation (10-15 minutes) of your masterpiece. In addition, we would like a short (1-2 page) introduction to the software.
We hope to have a complete collection of software from the previous exchanges as well as the new submissions received for APL90. All contributions are welcome. We will accept submissions in the following forms:
1) Workspaces/Files for any APL interpreter running under MS-DOS.
2) APL.68000 or APL*PLUS workspaces for the Apple Macintosh.
3) DOS files in WSIS (Workspace Interchange Standard) form.
Please send your name, address, and a brief description of your proposed submission to:
Morten Kromberg,
APL90 Software Exchange, c/o Insight Systems ApS
119 Nordre Strandvej, 3150 Hellebaek, Denmark
To help us plan, please also indicate the hardware, operating system and interpreter on which your contribution will run. Also indicate whether you are willing to make a short presentation, and any requirements you have in this respect. This preliminary information should be received no later than May 15th, 1990. Contributions in machine-readable form should be received no later than June 30th, 1990.
Registration Procedure¶
Please do not attempt to register until you have received a printed registration form. Invitations containing registration forms can be obtained from the congress bureau or from members of the programme and organizing committees.
The registration form should be returned to the Conference Bureau, DIS Congress Service Copenhagen A/S, at your earliest convenience duly filled in and preferably typewritten, accompanied by the fee and other payments in Danish Kroner (DKK).
Deadline For Early Registration: June 1, 1990.
Registration Fees: Dkk¶
Participant, member of DD/ACM/SIGAPL, before June 1 ...... 3,650.-
Participant, member of DD/ACM/SIGAPL, after June 1 ....... 4,150.-
Participant, not member of DD/ACM/SIGAPL, before June 1 .. 4,300.-
Participant, not member of DD/ACM/SIGAPL, after June 1 ... 4,800.-
Student participant (please see below) ................... 1,000.-
Accompanying person ...................................... 1,150.-
Students: Only full-time students will be accepted as participants on student fee, and sufficient verification must be sent together with the registration form. The verification could be either a copy of your student card (1990) or a letter from the head of your faculty.
The conference fee includes: The conference fee for participants includes full conference documentation, coffee/tea during the conference Monday to Friday, the Get-Together on Monday, the Banquet on Thursday, Tivoli pass Wednesday and Thursday and Bus pass Monday to Friday. Registration before June 1 also includes mailing of the Conference Proceedings to the participant before the conference.
The conference fee for students includes only the conference programme, Proceedings, the Get-Together on Monday and Bus pass Monday to Friday.
The conference fee for accompanying persons includes the Louisiana Museum Tour on Tuesday (incl. lunch), the Get-Together on Monday, the Banquet on Thursday, Tivoli pass Wednesday and Thursday and Bus pass Monday to Friday.
Accommodation¶
The Conference Bureau offers participants of the APL90 Conference hotel rooms at a special discount conference price. Rooms will be booked according to your indication on the Registration Form - in as far as possible. Participants are advised to reserve rooms as early as possible, August being the peak season.
Hotels are available in the following price categories:
| Category | Single | Double |
|---|---|---|
| A | 1,320 | 1,650 |
| B | 725-895 | 850-1,130 |
| C | 550 785 | |
| D | 320-350 | 400-450 |
Extra bedding for children is available at most Hotels on request.
Hotel reservations will be made only when the Conference bureau has received your deposit (indicated on the Registration Form). The deposit will be refunded in full as a deduction from the bill, which must be settled on checking out of the hotel. The deposit also serves as a guarantee for the first night in case of non-arrival.
As a confirmation of your hotel booking you will receive a hotel voucher with full hotel name and address. The voucher must be presented to the hotel upon arrival. When you receive the voucher, please check that it shows the right arrival and departure dates.
Conference Bureau:
DIS Conference Service Copenhagen A/S
Linde Alle 48
DK-2720 Vanloese
DenmarkTel: 45 31 71 22 44
Fax: 45 31 71 60 88