bluuebunny/crossref_metadata_2025 huggingface dataset:
Development of an APL standard
Authors: Falkoff A. D. , Orth D. L.
Published: January 2007

Following an extended period of development, with more than half a dozen iterations, a standard for APL was not long ago adopted for use within IBM. In this paper we offer some highlights of our experience in this development process, as well as an appendix containing the technical matter in the standard itself. If a standards effort should get under way in the wider APL community, this experience and its work product may perhaps be found useful, and it is offered here in recognition of this possibility, without any commitment on the part of the IBM Company to support or not support such an effort. It should also be understood that this material is not offered as a specification of the function or performance of any particular IBM product.

Standards in a field as rapidly changing as computers are not static. This is particularly true with respect to a language like APL, which is still actively evolving. Hence, the document in the Appendix can only be regarded as a snapshot of where we are now. It does not by itself convey any idea of the development process that produced it, just as it does not necessarily represent in any specific detail what it might be in the future. In this paper, then, we will try to show something of the dynamics of the process we participated in by discussing the evolution of several significant aspects of the standard, and sketching the outlines of some of the broader issues that affected the result.

The paper has three sections. The first deals broadly with the question of what the standard should include; the second is concerned with the structure and tools of description; and the third traces the development of three technical issues.
The derivative operator
Authors: Iverson Kenneth E.
Published: January 2007

This paper defines a single derivative operator which, together with certain related operators, provides a coherent treatment of many aspects of the derivative including the Jacobian, Laplacian, gradient, divergence, and curl. Working models of all operators are provided in a set of APL functions.
A primitive-function APL keyed file system
Authors: Wiland Geoffrey
Published: January 2007

This paper describes a primitive-function
APL
keyed file system which has been implemented by Time Sharing Resources, Inc. and MegaSystems Associates. Its primary features include access to components by a unique identifier called a “key”, and the ability to mix data types within a component via the use of a “list” structure. It has had widespread use as part of Time Sharing Resources'
TOTAL\APL
timesharing system, and has recently been adapted to operate on MegaSystems' mega-minicomputers.
People and organizations in software production: a review of the literature
Authors: Nash Sarah H. , Redwine Samuel T.
Published: January 2007

The growing demand for software requires increasingly productive people and organizations, yet little is known about how best to select, train, organize, and manage people and organizations to produce software. Boehm's COCOMO software costing model has shown that people and organizations can have a dramatic effect on productivity and costs. Issues of project organization, education and training, professional development, career paths, personnel selection, evaluation, group dynamics, and motivation play a significant part in software productivity. As this review of 130 references to the recent research literature indicates, work is being done on these issues, however, some gaps need to be filled and methods developed to insure their effective use.
The talking glove
Authors: Kramer James , Leifer Larry
Published: January 2007

A new bi-directional communication aid is being developed which allows deaf, deaf-blind, or nonvocal individuals to interact verbally with others. The device analyzes a nonvocal person's fingerspelling hand formations and outputs the spelled words as synthesized speech. In effect, this component of the communication aid is a "talking glove". In addition, by using state-of-the-art voice recognition equipment, a deaf user is able to read incoming speech on the miniature LCD screen of a modified digital wristwatch. Similarly, a deaf-blind individual may read incoming speech on a portable braille display module.
An Architecture for Intelligent Interfaces
Authors: Rouse William B. , Geddes Norman D. , Curry Renwick E.
Published: January 2007

Four experiments were conducted to assess procedures for obtaining and testing user-selected terms for task specific concepts in complex, unfamiliar work processing instructions. Experiment 1 tested user-selected terms against both user-nominated and the original technical terms. The final three experiments employed only the user-selected and technical terms. The effect of terminology on subjects' abilities to follow the instructions were evaluated by measuring errors and task completion times during the practice period. Comprehension of the instructions was assessed by performance on a transfer task. Extensive practice produced acceptable and comparable performance for all term types. However, instruction comprehension, as measured by the transfer task, was clearly influenced by terminology. User-selected word processing terms were more understandable than both user-nominated and the original technical terms. In addition, the present study demonstrated that transfer tasks can be a more sensitive (and often a more appropriate) measure of the goodness of a term than learning measures.
FUN
Authors: Carroll John M. , Thomas John C.
Published: January 2007

We are in many ways just getting started on the problem of developing a set of concepts and a vocabulary for describing the quality of software and in particular its usability. Consider:
easy to use, easy to learn, user friendly, productive, fun.
How do these, and other terms used to describe software differ; how do they overlap? In this paper, we examine the confusion between being
fun
and being
easy,
as these terms are applied to end-user software and systems. This confusion is interesting in that we can ask how such a circumstance might have ever occurred. It is challenging in that we need to separately clarify the concepts of
ease
and
fun,
if they are to provide us any analytical leverage in understanding software quality.
Are you a better "Mouser" or "Trackballer"?
Authors: Bied Sperling Barbara , Tullis Thomas S.
Published: January 2007

The method or input device by which a user indicates a selection to the computer is an important element in the design of that system. Recent advances in the technology of human-computer interfaces suggest that a "direct-manipulation" style of interface provides many advantages over traditional human-computer interfaces (e.g. Hutching, Hollan and Norman, 1986). Such an interface is typified by the presence of visual objects on a display screen (e.g., icons or other graphical elements) and the ability to manipulate those objects by somehow "pointing" to them or moving them. This approach has recently been popularized by such microcomputer systems as the Apple Macintosh (TM).
Towards effective and interpretable data mining by visual interaction
Authors: Aggarwal Charu C.
Published: January 2007

The primary aim of most data mining algorithms is to facilitate the discovery of concise and interpretable information from large amounts of data. However, many of the current formalizations of data mining algorithms have not quite reached this goal. One of the reasons for this is that the focus on using purely automated techniques has imposed several constraints on data mining algorithms. For example, any data mining problem such as clustering or association rules requires the specification of particular problem formulations, objective functions, and parameters. Such systems fail to take the user's needs into account very effectively. This makes it necessary to keep the user in the loop in a way which is both efficient and interpretable. One unique way of achieving this is by leveraging human visual perceptions on intermediate data mining results. Such a system combines the computational power of a computer and the intuitive abilities of a human to provide solutions which cannot be achieved by either. This paper will discuss a number of recent approaches to several data mining algorithms along these lines.
Resource description framework
Authors: Candan K. Selçuk , Liu Huan , Suvarna Reshma
Published: January 2007

Universality, the property of the Web that makes it the largest data and information source in the world, is also the property behind the lack of a uniform organization scheme that would allow easy access to data and information. A semantic web, wherein different applications and Web sites can exchange information and hence exploit Web data and information to their full potential, requires the information about Web resources to be represented in a detailed and structured manner. Resource Description Framework (RDF), an effort in this direction supported by the World Wide Web Consortium, provides a means for the description of metadata which is a necessity for the next generation of interoperable Web applications. The success of RDF and the semantic web will depend on (1) the development of applications that prove the applicability of the concept, (2) the availability of application interfaces which enable the development of such applications, and (3) databases and inference systems that exploit RDF to identify and locate most relevant Web resources. In addition, many practical issues, such as security, ease of use, and compatibility, will be crucial in the success of RDF. This survey aims at providing a glimpse at the past, present, and future of this upcoming technology and highlights why we believe that the next generation of the Web will be more organized, informative, searchable, accessible, and,
most importantly,
useful. It is expected that knowledge discovery and data mining can benefit from RDF and the Semantic Web.
Highly-resilient, energy-efficient multipath routing in wireless sensor networks
Authors: Ganesan Deepak , Govindan Ramesh , Shenker Scott , Estrin Deborah
Published: January 2007

Previously proposed sensor network data dissemination schemes require periodic low-rate flooding of data in order to allow recovery from failure. We consider constructing two kinds of multipaths to enable energy efficient recovery from failure of the shortest path between source and sink. Disjoint multipath has been studied in the literature. We propose a novel braided multipath scheme, which results in several partially disjoint multipath schemes. We find that braided multipaths are a viable alternative for energy-efficient recovery from isolated and patterned failures.
Geographical Region Summary Service for geographical routing
Authors: Hsiao Pai-Hsiang
Published: January 2007

Geographical routing requires a distributed location dissemination or location database system to provide forwarding location information. In this paper, we propose a novel location dissemination system called "Geographical Region Summary Service" (GRSS). Mobile nodes in GRSS proactively disseminate aggregated forwarding locations as summaries of node IDs in a defined region. Each node in the network knows either the exact location of every other node, or the region it resides in. Packet forwarding decisions can be made independently at each node. Node only need to maintain state proportional to the logarithm of the network diameter.
LIRS
Authors: Jiang Song , Zhang Xiaodong
Published: January 2007

Although LRU replacement policy has been commonly used in the buffer cache management, it is well known for its inability to cope with access patterns with weak locality. Previous work, such as LRU-K and 2Q, attempts to enhance LRU capacity by making use of additional history information of previous block references other than only the recency information used in LRU. These algorithms greatly increase complexity and/or can not consistently provide performance improvement. Many recently proposed policies, such as UBM and SEQ, improve replacement performance by exploiting access regularities in references. They only address LRU problems on certain specific and well-defined cases such as access patterns like sequences and loops. Motivated by the limits of previous studies, we propose an efficient buffer cache replacement policy, called
Low Inter-reference Recency Set
(LIRS). LIRS effectively addresses the limits of LRU by using recency to evaluate Inter-Reference Recency (IRR) for making a replacement decision. This is in contrast to what LRU does: directly using recency to predict next reference timing. At the same time, LIRS almost retains the same simple assumption of LRU to predict future access behavior of blocks. Our objectives are to effectively address the limits of LRU for a general purpose, to retain the low overhead merit of LRU, and to outperform those replacement policies relying on the access regularity detections. Conducting simulations with a variety of traces and a wide range of cache sizes, we show that LIRS significantly outperforms LRU, and outperforms other existing replacement algorithms in most cases. Furthermore, we show that the additional cost for implementing LIRS is trivial in comparison with LRU.
Analysis of methods for scheduling low priority disk drive tasks
Authors: Bachmat Eitan , Schindler Jiri
Published: January 2007

This paper analyzes various algorithms for scheduling low priority disk drive tasks. The derived closed form solution is applicable to class of greedy algorithms that include a variety of background disk scanning applications. By paying close attention to many characteristics of modern disk drives, the analytical solutions achieve very high accuracy---the difference between the predicted response times and the measurements on two different disks is only 3% for all but one examined workload. This paper also proves a theorem which shows that background tasks implemented by greedy algorithms can be accomplished with very little seek penalty. Using greedy algorithm gives a 10% shorter response time for the foreground application requests and up to a 20% decrease in total background task run time compared to results from previously published techniques.
Scalability of multicast delivery for non-sequential streaming access
Authors: Jin Shudong , Bestavros Azer
Published: January 2007

To serve asynchronous requests using multicast, two categories of techniques---stream merging and periodic broadcasting---have been proposed. For sequential streaming access, where requests are uninterrupted from the beginning to the end of an object, these techniques are highly scalable: the required server bandwidth for stream merging grows
logarithmically
as request arrival rate, and the required server bandwidth for periodic broadcasting varies
logarithmically
as the inverse of start-up delay. A sequential access model, however, is inappropriate to model partial requests and client interactivity observed in various streaming access workloads. This paper analytically and experimentally studies the scalability of multicast delivery under a non-sequential access model where requests start at random points in the object. We show that the required server bandwidth for any protocol providing immediate service grows at least as the
square root
of request arrival rate, and the required server bandwidth for any protocol providing delayed service grows
linearly
with the inverse of start-up delay. We also investigate the impact of limited client receiving bandwidth on scalability. We optimize practical protocols which provide immediate service to non-sequential requests. The protocols utilize limited client receiving bandwidth, and they are near-optimal in that the required server bandwidth is very close to its lower bound.
Admission control and dynamic adaptation for a proportional-delay diffserv-enabled web server
Authors: Lee Sam C. M. , Lui John C. S. , Yau David K. Y.
Published: January 2007

We consider a web server that can provide differentiated services to clients with different QoS requirements. The web server can provide
N
> 1 classes of service. Rather than using a strict priority policy , which may lead to request starvation, the web server provides a proportional-delay differentiated service (PDDS) to heterogeneous clients. An operator for the web server can specify "fixed" performance spacings between classes, namely,

r
i,i+1

> 1, for
i
= 1,…,
N
- 1. Requests in class
i
+ 1 are guaranteed to have an average waiting time which is 1/

r
i,i+1

of the average waiting time of class
i
requests. With PDDS, we can provide consistent performance spacings over a wide range of system loadings. In addition, each client can specify a maximum average waiting time requirement to be guaranteed by the web server. We propose two efficient admission control algorithms so that a web server can provide the QoS guarantees and, at the same time, classify each client to its "lowest" admissible class, resulting in lowest usage cost for the client. We also consider how to perform end-point dynamic adaptation such that clients can submit requests at lower class and further reduce their usage cost, without violating their QoS requirements. We propose two dynamic adaptation algorithms: one is server-based and the other is client-based. The client-based adaptation is based on a non-cooperative game technique. We report diverse experimental results to illustrate the effectiveness of these algorithms.
Energy consumption of TCP Reno, Newreno, and SACK in multi-hop wireless networks
Authors: Singh Harkirat , Singh Suresh
Published: January 2007

In this paper we compare the energy consumption behavior of three versions of TCP --- Reno, Newreno, and SACK. The experiments were performed on a wireless testbed where we measured the energy consumed at the sender node. Our results indicate that, in most cases, using total energy consumed as the metric, SACK outperforms Newreno and Reno while Newreno performs better than Reno. The experiments emulated a large set of network conditions including variable round trip times, random loss, bursty loss, and packet reordering. We also estimated the idealized energy for each of the three implementations (i.e., we subtract out the energy consumed when the sender is idle) and here, surprisingly, we find that in many instances SACK performs poorly compared to the other two implementations. We conclude that if the mobile device has a very low idle power consumption then SACK is not the best implementation to use for bursty or random loss. On the other hand, if the idle power consumption is significant, then SACK is the best choice since it has the lowest overall energy consumption.
Toward reducing processor simulation time via dynamic reduction of microarchitecture complexity
Authors: Cook Jeanine , Oliver Richard L. , Johnson Eric E.
Published: January 2007

As processor microarchitectures continue to increase in complexity, so does the time required to explore the design space. Performing cycle-accurate, detailed timing simulation of a realistic workload on a proposed processor microarchitecture often incurs a prohibitively large time cost. We propose a method to reduce the time cost of simulation by dynamically varying the complexity of the processor model throughout the simulation. In this paper, we give first evidence of the feasibility of this approach. We demonstrate that there are significant amounts of time during a simulation where a reduced processor model accurately tracks important behavior of a full model, and that by simulating the reduced model during these times the total simulation time can be reduced. Finally, we discuss metrics for detecting areas where the two processor models track each other, which is crucial for dynamically deciding when to use a reduced rather than a full model.
Scheduling flows with unknown sizes
Authors: Guo Liang , Matta Ibrahim
Published: January 2007

Previous job scheduling studies indicate that providing rapid response to interactive jobs which place frequent but small demands, can reduce the overall system average response time [1], especially when the job size distribution is skewed (see [2] and references therein). Since the distribution of Internet flows is skewed, it is natural to design a network system that favors short file transfers through service differentiation. However, to maintain system scalability, detailed per-flow state such as flow length is generally not available inside the network. As a result, we usually resort to a threshold-based heuristic to identify and give preference to short flows. Specifically, packets from a new flow are always given the highest priority. However, the priority is reduced once the flow has transferred a certain amount of packets.In this paper, we use the MultiLevel (ML) feedback queue [3] to characterize this discriminatory system. However, the solution given in [3] is in the form of an integral equation, and to date the equation has been solved only for job size distribution that has the form of mixed exponential functions. We adopt an alternative approach, namely using a conservation law by Kleinrock [1], to solve for the average response time in such system. To that end, we approximate the average response time of jobs by a linear function in the job size and solve for the stretch (service slowdown) factors. We show by simulation that such approximation works well for job (flow) size distributions that possess the heavy-tailed property [2], although it does not work so well for exponential distributions.Due to the limited space available, in Section 2 we briefly describe the queueing model and summarize our approximation approach to solving for the average response time of the M/G/1/ML queueing system. We conclude our paper in Section 3.
Towards capturing representative AS-level Internet topologies
Authors: Chang Hyunseok , Govindan Ramesh , Jamin Sugih , Shenker Scott J. , Willinger Walter
Published: January 2007

For the past two years,there has been a significant increase in research activities related to studying and modeling the Internet's topology, especially at the level of
autonomous systems
(ASs). A closer look at the measurements that form the basis for all these studies reveals that the data sets used consist of the BGP routing tables collected by the Oregon route server (henceforth, the
Oregon route-views
) [1]. So far, there has been anecdotal evidence and an intuitive understanding among researchers in the field that BGP-derived AS connectivity is not complete. However, as far as we know, there has been no systematic study on
quantifying
the completeness of currently known AS-level Internet topologies. Our main objective in this paper is to quantify the completeness of Internet AS maps constructed from the Oregon route-views and to attempt to capture
more representative
AS-level Internet topology. One of the main contributions of this paper is in developing a methodology that enables quantitative investigations into issues related to the (in)completeness of BGP-derived AS maps.
Behavioural and organisational factors involved in the turnover of high tech professionals
Authors: Garden A.-M.
Published: January 2007

One of the most critical issues facing managers of high tech companies is keeping their technical employees satisfied and trying to prevent a rapid staff turnover. The shortage of good quality technical people in high tech companies creates a high demand for their skills. This makes it easy for them to change employers and more important for companies to provide working conditions which are attractive enough to keep their technical staff. The managerial problem is to know what are the critical organisational and job features that affect the desire to stay in or leave a company. This commentary provides some insight into this issue. Two main areas are covered; the first is the reasons why technical employees would leave their present company; the second looks at factors influencing the length of time they expect to stay in their present company.The findings presented form part of a much larger study on the motivation of high tech software professionals. The present commentary is based on the preliminary questionnaire results of 302 people from 7 high tech software companies, 3 small companies with less than 50 employees, 3 medium size companies with between 150-200 employees and 1 large company with over 2, 000 employees in total.
Constraint satisfaction problems in logic programming
Authors: Rossi Francesca
Published: January 2007

Due to its relational form, its definite clause syntax and the possibility of writing metaprograms in the same language, it turns out that logic programming is a convenient programming language to represent, relax and solve constraint satisfaction problems (CSPs). Not only we can represent CSPs writing elegant logic programs in a declarative style, but we can also solve them in an efficient way by writing simple metaprograms adding new control strategies to the usual backtrack search strategy of logic programs. This paper defines the classes of CSPs we consider, shows the mapping between these CSPs and logic programs having the same semantics, and describes how to represent relaxation algorithms as logic metaprograms.
Word processing techniques and user learning preferences
Authors: Raban Amiram
Published: January 2007

This study compared guided exploration training and instruction- based training as methods of learning to use a word processing system. User learning preferences and attitudes toward computers were also assessed. Seventy five computer-naive people learned basic word processing functions in two training sessions. Post- training performance and knowledge tests were then administered. Guided exploration proved to be more effective than the instruction-based method. There is evidence for the potential benefit of matching training techniques to user learning preferences.
Articulating the experience of transparency: an example of field research techniques
Authors: Holtzblatt Karen A. , Jones Sandy , Good Michael
Published: January 2007

Over the past two years, our field research with users has indicated that elements of an application design can disrupt users' work. Understanding how applications disrupt users' work has helped us to articulate the meaning of interface transparency. Interface transparency and related concepts have previously been explored from theoretical perspectives, but have not been grounded in user data.
Evolutionary image enhancement with user behavior modeling
Authors: Munteanu Cristian , Rosa Agostinho
Published: January 2007

In this paper we present a novel method for image enhancement of gray-scale images based on the simulation of evolution. Our method employs Genetic Algorithms to evolve the shape of the contrast curve in the image, while attempting to partially automate the subjective process of image evaluation (e.g. user behavior) by performing multiple regression on fitness values. Results obtained show the robustness and efficiency of the evolutive method for image enhancement. For several images in the test set our method obtains better results than the classical histogram equalization technique. Extensive statistics performed, shows that multiple regression can be effectively applied to model the user behavior.
Designing a distributed computing environment for global-scale systems
Authors: Raje Rajeev R. , Chinnasamy Sivakumar
Published: January 2007

With the phenomenal growth of the Internet and other related technological advancements in both hardware and software, the field of computing has reached a state, where we need to think ahead and plan for future needs of computing for developing global-scale systems. Unfortunately, the present computing environments have many shortcomings that may act as bottlenecks for the development of the next generation of global information systems. Since the current scenario envisions a major shift in the way of computing and the way in which computers affect lives, we need to look far define the characteristics of a new computing environment that will address the pitfalls of the present alternatives. In this paper, we identify the common characteristics of a network-based distributed computing environment. Various design and implementational issues, associated with such an environment, are analyzed and a few solutions are proposed.
Correctly detecting intrinsic type errors in typeless languages such as MATLAB
Authors: Joisha Pramod G. , Banerjee Prithviraj
Published: January 2007

Among the main impediments that languages such as MATLAB and APL present to a compiler is the lack of an explicit declaration for a variable's type, The determination of this important attribute could allow a compiler to generate more efficient code, and is a problem that has been extensively studied in the past. This paper revisits this problem but unlike prior efforts, the objective is a uniform approach to type estimation that also accommodates type incorrect programs in a way that facilitates stronger type error detection through the exact localization of the type error at run time. We also show how our methodology makes it possible to further reduce the run-time overhead due to type conformability checking. The techniques are clearly demonstrated by applying them to deduce the intrinsic types of program variables in the MATLAB language.
Replacing an explicit loop by the "each" operator
Authors: Lipovaca Samir , Burchfield Joseph
Published: January 2007

A method of replacing an explicit loop by the "each" operator was studied. The repetitive, computational part of the loop was extracted into a function FOO. Then, the function was applied to each value of the loop counter vector C (FOO "each" C). Since array operations are optimized on most APL systems, this replacement should produce a most reasonable loop, assuming that in the function FOO array operations were used as much as possible. Two examples of performance measurements showed that this, generally, did not lead to smaller execution time. In one example the "each" operator was faster than an explicit loop while in another the opposite was true.
D2Cell data mining utility
Authors: Manges John
Published: January 2007

D2Cell
is a
Data Mining
utility for Windows based PCs, that downloads custom Mainframe DB2 data directly into Microsoft Excel. One may use the self-contained
Wizard
to automatically generate SQL for processing. One may also simply type in their own SQL statements, or cut and paste from another source such as QMF or SPUFI. In any case, the
Results Viewer
will allow you to display the results, and modify when necessary, before exporting to Excel. A feature called Db2Explorer was recently added which further extends the functionality of data mining and includes several database visualization techniques.D2Cell is currently in use by over 275 internal users at Primerica Financial Services (PFS). It is a very popular and well-liked application, and has saved countless hours in every department it has been installed. The D2Cell application is very stable and has been in use for about a year and a half. The program source code, not counting bitmaps and help documents is only 210 kilobytes, and will run on a machine as small as a 486 with 8 meg of memory. The 210 kilobytes is composed of 25 screens and 2119 lines of Dyalog APL code.PLEASE NOTE: The results and data shown in this document were produced using test or altered data. In No Instance has production information been displayed due to client confidentiality.
A dynamic APL GUI equation solver (ADAGE)
Authors: Mansour Stephen M.
Published: January 2007

This paper describes ADAGE, (A Dynamic APL GUI Equation solver), which allows the user to solve a single multivariate equation when values are supplied for all but one of the variables. The application presents a graphical user interface and uses many of the newer features of Dyalog APL. These include dynamic functions and operators, recursion with tail calls, object syntax, and namespace reference array expansion. All of these features, combined with some key mathematical concepts, including function composition, implicit functions and the Secant algorithm, work together to provide a simple solution to a complex problem. Several examples from the mortgage industry will be explored.
Embedding a Tcl web server into APL
Authors: Otto Tilman P.
Published: January 2007

Tcl
stands for
Tool Command Language.
It is a script language, but unlike the well-known
perl,
it is also an extensible interpreter that is designed to be easily embedded into other applications. The Tcl source code is available from the Internet and the package can be used freely even in commercial applications. In addition to its condensed notation and simple syntax, APL's strength is its powerful array handling capacity. Tcl is based on string handling and very strong on gluing different pieces of software together. It is especially the many available Tcl extensions for GUI, network, database, HTML and XML support, which make the combination of APL and Tcl very attractive.With the implementation of a few new APL system commands into the APL2C system, it is possible to create one or several Tcl interpreters from within APL. As each of the Tcl interpreters runs on its own thread, a synchronization mechanism is provided for the communication between APL and Tcl. As an example, a Tcl web server with an APL backbone has been realized to demonstrate the power of the combination between APL and Tcl.
Using APL2 to compute the dimension of a fractal represented as a grammar
Authors: Alfonseca Manuel , Ortega Alfonso
Published: January 2007

In this paper we describe the use of APL2 to implement and depict the equivalence between the mathematical field of fractal curves and the linguistic field of parallel derivation grammars, by tackling the problem of determining the dimension of a fractal from its representation as a grammar. APL2 makes the required computation quite easy.
Client-server based application in the dyalog APL environment
Authors: Balako Alexander
Published: January 2007

This paper is concerned with the problem of creating server-based application for the Dyalog APL environment on the example of "Agent". The "Agent" is a new common tool for the portfolio management system SOFIA® (product of APL Italiana®), and GAMA (product of Infostroy). Briefly, "Agent" can be called as a "third arm of a customer" or an "extra user". This application executes the user-defined tasks in the system based on a specified schedule. The task is any operation (or a sequence of operations), which the user can produce in the portfolio management systems.There are three parts of the "Agent":• The "Agent" itself, which is a database server and application manager.• The "Control application" is the user interface and the client to the Agent's database.• The "Slave application" is the subsystem managed by the Agent to process tasks.
High performance computing through parallel processing
Authors: Barghoorn Martin
Published: January 2007

At the department for computer science of the Technical University of Berlin a workstation network based on Unix was established in the early Nineties as a substitute for the mainframe architecture.In order to satisfy the demand for DOS/Windows a PC-network was also installed. Shortly thereafter, however, the demand for constant control and limitation of the users' space arose. Furthermore the task for administrators to manage large groups of users or several disks under the NT-Server became increasingly important.As a member of the system administration group I got the job of testing the already existing programs as well as developing new ones for these purposes. At very first I had to learn that the Unix-command "du" (disk use) does unfortunately not exist on NT.On the one hand, we started with a modified PERL-program that needed several hours to run. Nor was a DOS/REXX Program more successful in terms of satisfactory performance. On the other hand, I tried to solve the service tasks more rapidly by using a sequential APL2 program combined with AP 100. Finally, I achieved the best results with a parallely designed APL2 program which I will introduce below in "Documentation with some explanation".
Defining APL community
Authors: Brown Robert G.
Published: January 2007

I have been attending APL conferences for just under a quarter century now, and the one theme that runs through many conversations at all of them is how "APL is dying". Between conferences, I hear this time and time again, usually most loudly from people least qualified to know the truth of such remarks. In some organizations, this takes on the momentum of a self-fulfilling prophecy, usually promoted by those who have something to gain from ending the use of APL.Similarly, people often express surprise when I tell them I develop software in APL. The most common answers I get are "You can't be serious! Is APL still available?" or "I thought that was only on mainframes!" or "Really? When I was in school, I really liked APL, but no one uses it anymorel, so I now program in ____."Moreover, I'm sure the great majority of us have had similar experiences; although each of these experiences may be anecdotal, taken together they highlight questions about the health of the APL community.Instead of looking inward, and engaging in exercises such as trying to determine the number of APL programmers in the world, or becoming defensive about who we are and what we have to offer, I decided to take a look outside our little corner and examine two other populations that have re-invigorated themselves. Specifically, I will recount briefly the stories of the LISP community, and the "Free Software" community, as lead by Linux. We'll see if we can draw some lessons, perhaps a common message from this. Is there something we can call an "APL community"? If so, can it be re-envigorated? How would this be undertaken?
Object oriented APL
Authors: Brown Robert G.
Published: January 2007

The importance of Object-Oriented techniques is perhaps one of the most significant changes in programming over the last decade or more; in 1991, a team of three (Jacob Brickman, Michael J. Kent, and the author) began looking into what would be required to extend APL interpreters to provide native support for OO. At this writing, we have a great deal of agreement about overall architecture, some significant issues to resolve, an overall consensus that it is time to share these ideas, and we have also come a long way in learning what is required of APL interpreter developers. This effort has driven each of us into topics we might not have explored otherwise, and this knowledge has been used to good effect elsewhere. The purpose of this paper is not so much in providing exhaustive enumeration of the definitions we have agreed upon, but to introduce our architecture to interested parties, show that APL can be extended with OO in reasonable ways, and stimulate serious discussion of this topic among system developers and other APL implementers.
The killer app
Authors: Clark Ian
Published: January 2007

I've been a programmer for over 30 years, often at the leading edge, never in a classic IT shop. I've worked with several vendors' mainframes, midis and micros, for big firms, small firms, central government, educational establishments, and for myself; in colleges, universities, laboratories and classrooms; in England, in Europe, and in the USA. I've been involved in some total flops, but in one or two real successes too. I could never tell from the outset which it was going to be. The more I see of the software industry, the less I feel I know anything about it. Giving a talk like this is sticking my neck out.But
plus ça change… plus ça la même chose.
I think I've seen enough by now, and maybe my experience will interest somebody. We've all dreamed of writing the APL program which will make our fortunes. I've had to launder my examples, to protect the guilty along with the innocent. But where I name names, what I have to say is already in the public domain. I've omitted a detailed reference --- this will have to await the book. Most of the principles I've discerned I'm going to present as the experience of two fictitious, companies, Company A, Company B.Company A is not just based on one particular company I've known. Nor is Company B. I bought a honeycomb once. It said on the back 'Produce of more than one country'. I thought, what a marvellous thing --- the dear little bees had actually co-operated in an International Honeycomb! A lesson to us all. But my fictitious companies really are a blend. Not an International Beehive. (Not even IBM was like that.)
Communication between PC and mainframe via TCP/IP using APL
Authors: Kolster Nils , Nagel Christian
Published: January 2007

There is a growing demand to be able to process data, maintained within large mainframe databases, using Windows based workstations, thus making communication between workstation and mainframe necessary. The availability of the APL language on both platforms simplifies this problem tremendously, and offers the potential to use almost identical code on both systems. The workspaces (for APL+WIN 3.0 and APL2 Mainframe) written by the authors, allow the user to run a stateless server on one platform, which can then process incoming requests from any platform using TCP/IP. (A host-to-host communication facility is not yet provided.) Several specific server commands let multiple users interact individually with the server, e.g. to combine GUI and mainframe data or to plot mainframe data directly using standard software products such as MS-EXCEL.
Houses, windows and DOHR's
Authors: Mansour Stephen M.
Published: January 2007

Anyone who buys a house can appreciate the complexity of a mortgage. Mortgage analysis requires not only significant computations, but also vast quantities of input and output. The interface between APL and Windows can provide a link between the input and the calculations; however, display of the output remains a problem. Mortgage data are inherently multi-dimensional, resulting in high-rank arrays. The dimensions involve individual mortgages or bond classes, and various prepayment and default scenarios, time periods, and cash flows.Although higher rank arrays can be difficult to visualize and interpret, a matrix can be displayed quite easily as an HTML table with row and column headers identifying the data. In a GUI, it can be displayed as a grid object. A rank-3 array can be displayed as a series of HTML tables each linked from a table of contents at the beginning of the document; as a GUI, it can be displayed as a tab control, each tab containing a grid object.APL has many functions to handle high-rank arrays, e.g. dyadic transpose, indexing, and the reduction operator. Descriptive Objects of High Rank (DOHR's) are nested arrays containing built-in captions, named axes, and named indexes. Certain fundamental operations can be performed on these objects to produce easily readable output. These include selection, summary, orientation and annexation. These fundamental operations are based on upon the following APL concepts: reduction--the removal of an axis, compression--the removal of one or more indexes, transpose--the rearrangement of axes, and catenation/lamination--combining objects along an axis. Most functions that apply to DOHR's can be built upon these fundamental operations.
GrAPL
Authors: Mayer Alan D. , Sykes Alan M.
Published: January 2007

The work of statisticians and data analysts requires the fitting of a wide range of statistical models that attempt to explore relationships between variables. Before doing these computations, it is routine to produce exploratory graphs in order to discover these relationships. After model fitting again graphical tools are required in order to explore how satisfactory the model fitting process has been. It is therefore really important for the statistician to be able to produce a wide range of graphs easily and quickly.GrAPL is a prototype language for this purpose; it uses Adrian Smith's RainPro as a graphics engine and attempts to incorporate some of the latest statistical graphical tools that are available in modern statistical packages within a coherent graphical language. APL is used as a `tool of thought' to encourage experimentation within a short development period.
APL Based medical image analysis
Authors: Otto Tilman P.
Published: January 2007

Ophthalmology (eye care) is an important medical discipline. Since 1961 the representation of the ocular vascular system using fluorescence dyes has been one of the most important methods used in the diagnosis of diseases of the human eye. The recently introduced laser scanning systems allows fast and continuous imaging of the complete inflow of dye into the vascular system. With the aid of APL as a well-suited image analysis tool it is now possible to analyze these image sequences to extract diagnostic relevant blood flow parameters. During the image acquisition there are unavoidable eye movements which render the automatic follow up of a specific area over time more difficult. Therefore a method has been developed to robustly analyze the eye movements. Beside the determination of the filling delay, i.e. the time of dye appearance for every point, the filling time has been measured. Result images will be presented for two different cases. A slightly modified algorithm is able to automatically compose a panoramic wide-angle retinal image out of partially overlapping single images. The APL system itself (called APL2C) and the algorithms for the image processing have been developed by the author and are not commercially available.
An integrated APL2 solution for population screening and control
Authors: Piasentin Umberto , Sandi Claudio
Published: January 2007

When dealing with preventive medicine involving entire population strata, the wide class of problems encountered requires powerful and highly sophisticated data management support tools. In this paper an example is given of how APL2 offers an ideal solution for such complex situations: data acquisition, preprocessing and filtering; real time connections with local and remote relational date base; use of any type of statistical and optimization model for decision support. Furthermore this efficiency is available using the standard graphics interface of Unix, Warp, Windows 95 or NT environments, whichever the user choice may be.The present application uses APL2/2 and DB2/2, available under OS/2 at a district level and APL2/6000 and DB2/6000 for a central coordination at a regional level. Besides the standard type of text information and data processing, the application is open to any kind of image acquisition and retrieval, as well as any advanced mathematical model on population behavior and dynamics.
Redistribution of totals through hierarchical data
Authors: Smith Adrian
Published: January 2007

The early days of APL are full of examples of spreadsheet-style applications which allow the user to maintain aggregated values and quickly redistribute the changes across base data. Generally these use a simple pro-rata approach which always leads to rounding problems where the adjusted values no longer sum to the required total.The example discussed in this paper was developed for the Strategic Planning manager at Nestlé-Rowntree and a key requirement was to permit rebalancing of adjusted totals throughout an arbitrarily deep tree-structure. In this case a simple pro-rata leads to endless imbalances, and the trick is to use Benkard's distributed rounding which ensures that when changes to aggregates are redistributed, the detail always adds exactly to the required total.The concept is illustrated using the
VideoSoft Flexgrid OCX control.
The Flexgrid was used here because it has a very simple and powerful approach to managing gridded data where one of the dimensions has an outline structure.