bluuebunny/crossref_metadata_2025 huggingface dataset:
Factors influencing business data processors turnover—a comparative case history
Authors: Bradford P. A. , Cottrell L. R.
Published: January 2007

Historically computer personnel have had the reputation of working for the profession and not the company. In this relatively new field the data processor has enjoyed a mobility of job opportunities between industries that just does not exist in most other professions. This tool "the computer" is being used more and more extensively in diverse applications as manpower and related costs increase and the computer power costs decrease. The practitioners within the computer field then find themselves in the enviable position of the demand usually exceeding the supply in a very wide variety of scientific, academic, industrial, governmental and professional arenas. This is well and good for the computer professional but it has a profound adverse effect upon the various employers that must contend with this turnover.
Job satisfaction as a predictor of tenure
Authors: Awad Elias M.
Published: January 2007

Work is central to man's development and provides a situation for satisfying needs. A new employee makes adjustments to the job and contributes to its purposes and objectives. When he/she quits the job, the employing organization faces various adjustments in finding a replacement.
Interactive graphics for volume modeling
Authors: Wolfe R. , Fitzgerald W. , Gracer F.
Published: January 2007

This paper describes the GRaphic INput subsystem (GRIN) of an
experimental volume modeling system called the Geometric Design Processor (GDP) developed at the IBM Thomas J. Watson Research Center. Sitting at an interactive graphic workstation, a mechanical designer generates computer volume models of complex physical objects and mechanisms built up from primitive volumes, e.g., cuboids, cylinders, swept surfaces, etc., entered at any orientation in 3-dimensional space. Objects are represented in the model as polyhedral approximations. The central issue is the provision of an efficient, natural means for a mechnical designer to enter and interact with these models.
Towards more informative Fortran compilers
Authors: Verma Ajit Kumar
Published: January 2007

The paper discusses a very simple but effective way to detect the spelling mistakes in the variable names, which are very common in the development of Fortran programs and go undetected by the compiler.
The glorious future vs. the good old days (editorial)
Authors: Adams Jeanne C.
Published: January 2007

X3J3 (the Technical Committee responsible for developing Fortran standards under procedures of the American National Standards Institute) is now in the process of a major evaluation of its work since 1978. Such an evaluation is required by ANSI procedures: specifically, the Technical Committee is required to reach consensus on a draft proposed revision. In effect, the Committee members must agree that, on the whole, the current draft is the best proposal it can produce, given all of the diverse constraints that must be satisfied.
Lets kill future Fortrans
Authors: Aharonian Gregory
Published: January 2007

With the work on Fortran 77 completed, the work on Fortran 88 underway, and the work on Fortran 99 comtemplated, it is worthwhile to stop and consider if this progression is needed. While there are many technical arguments in favor of future versions of Fortran, there have been few social arguments. What follows are some social arguments against any further development of Fortran, stated more to start an argument than to prove a point. These arguments also apply to crutches such as Toolpack.
Automated Fortran conversion
Authors: Aharonian Gregory
Published: January 2007

What to do with a million lines of Fortran code? Managers at every major Fortran installation are asking this question every day. Newer programming languages (C and ADA), and newer computer architectures (parallel, data flow) pose a serious dilemma. How will the algorithms and mathematical techniques in tens of thousands of Fortran programs be moved to these environments? Further, since no language will dominate the science and engineering arena, another question arises. With strained programming staffs and budgets, how will algorithms be maintained in multiple languages and architectures?
From the editor
Authors: Wagener Jerrome L.
Published: January 2007

I visited the "Computer Faire" in San Francisco recently. This event, which was started as a local showcase a few years ago, has expanded almost beyond the bounds of one of the largest conference centers (Brooks Hall) in the San Francisco area. I spent an entire afternoon asking the question, "Does your PC have a Fortran 77 compiler?" In reply, I got a spectrum of replies, promises, nonsense, un-information, and a little bit of information. One implementation of ANSI Subset Fortran 77 is rather widely available, but of course it takes some probing in most cases to identify the fact that a particular machine runs that specific version. Another implementation is available for 8-bit micros, but it seems to have some serious deficiencies in handling of REAL numbers: although it purports to be completely ANSI-78 standard conforming, one fellow who seems to know tells me that it ignores the "storage sequence" rules for integers, reals, double precision and complex numbers, and logicals.
SIGFORTH and the challenge of commercialization
Authors: Furman Alan T.
Published: January 2007

From data reduction on deep-space probes to doctoral thesis research on natural language processing, Forth has been used successfully in the entire range of computer applications. RISC processors are now commercially available that execute high-level Forth directly in hard logic. Yet, paradoxically, those who want to program in Forth have been losing ground in the job market for the past several years. In robotics, industrial automation, and machine vision, fields that the author watches closely, Forth's market share, initially small, has shrunk. The story is similar in CAD, graphics, data communication, and so on. This paper examines the situation, the reasons behind it, and the approach to take in fighting back.
F-PC
Authors: Ting C. H.
Published: January 2007

F-PC is a public domain Forth system optimized for IBM PC/XT/AT type of computers under MS-DOS operating system. It is supplied on a set of four diskettes with all the source code and documentation. Files are all compressed in the ARC format. The diskettes are not copy-protected and the users are free to make backup copies and, with one exception, to give copies to others.
Creating a processor
Authors: Johnsen Charles
Published: January 2007

Creating a processor is great fun: programming down to the bare (semi)metal. At the same time your eye is on the output loads of 3000 NAND gates, your hand rests on the pulse of the market place, and something like a conscience watches to make sure that any possible instruction a compiler wants it can create. I remember the trouble I had with a literal fetch (a number is fetched from the next code address). It was a tough design because it required an increment of the instruction pointer twice in two clock cycles. I actually spent time satisfying myself that such an instruction was absolutely necessary. Increment wasn't, after all. One could always add a one to X. But where will that one come from? I am not sure what other instructions a real minimum instruction set computer might have but I am sure it will have a literal fetch. It is absolutely necessary. Nothing --- no address, no data, no jump---is possible without some form of literal fetch.
How to move data in the wrong direction
Authors: Curley Charles
Published: January 2007

The segmented architecture of the Intel 80x8x family has some subtle implications which will byte programmers from thyme to thyme. What follows is a well seasoned example of one of these implications at work.
Euroforth
Authors: Schleisiek-Kern Klaus
Published: January 2007

East German Forthers held their first national technical conference from April 20th - 22nd 1988 in Suhl, GDR (Democratic Republic of Germany). Nineteen papers were presented which mostly deal with applications
A Forth exception handler
Authors: Rodriguez B. J.
Published: January 2007

This paper describes a flexible, nestable, exception mechanism for Forth. Different exception handlers may be defined for any portion of the application code, and may either abort or continue the application. A simple syntax of four new Forth words defines both the scope and the actions of each exception handler. The 68000 source code requires only three screens.
ANS report
Authors: Shaw George
Published: January 2007

The May 2-6 X3J14 ANS Forth committee meeting went very well. Over sixty proposals were considered and dealt with. Much progress was made. Several people, however, were absent, Notably, vendors Greg Baily of Athena Programming (the Technical Sub-Committee chairman), Ray Duncan of Laboratory Microsystems and Don Colburn of Creative Solutions.
FORTHought
Authors: Moore Chuck
Published: January 2007

Recently I've been doing something really odd. I've been using someone else's software. Takes me right back to the preForth days. You see, I want to design another chip. This means playing by the rules. At present that means workstation, Pascal program (I think) and UNIX. An opportunity to get an update on the state-of-the-art.
Interactive package for analysis and synthesis of multivariable control systems
Authors: Gadzinski F. , Anderson James H. , Anand P.
Published: January 2007

This paper describes an interactive package for designing multivariabl e control systems. It is assumed that a model of the system, either in the form of a matrix of transfer functions or in state-space form is known. The design procedure is by successive analysis. In each iteration the designer checks the stability and transient response of the system. The package is implemented on a PDP-9 computer with precision display, disk, line printer and teletype.
Intellectual property rights and computer software
Authors: Arms William Y.
Published: January 2007

At the Snowmass Conference in 1982, the keynote speech by Harlan Cleveland dealt with the question of intellectual property rights. I will not attempt to repeat the material he covered then, but he certainly convinced many of us that we do not really understand the correct reward system, so that people who create intellectual ideas or new concepts in the computing business are adequately and appropriately rewarded for those efforts. Over the last few years, since listening to that talk, what was a very intellectual, inspiring, philosophical discourse has suddenly become a very practical, down-to-earth and difficult problem for many of us. This has been because of software for personal computers, which is the topic I want to emphasize.
Using college computing centers as testing centers for outside firms
Authors: Myers William
Published: January 2007

This article describes a liberal arts college's experience with a particular minicomputer.
A methodology for assessing user needs
Authors: Mihalo William E.
Published: January 2007

University computing centers frequently gather information about user needs. Such information can provide direction for the acquisition of new equipment, purchase of new software, and assessment of computing center staff.
How to move your computer center 1.7 miles (with only five user complaints)
Authors: Stager Susan , Sitko Toby
Published: January 2007

In March of 1986, the Indiana University Board of Trustees approved a plan to relocate Bloomington Academic Computing Services (BACS) to a new facility. The target date for relocation was July 1, 1986. If everything went perfectly, the earliest operational date would be seven days later.
How much did you pay for your word processor?
Authors: Smith Don
Published: January 2007

Current word processors for microcomputers seem to have stratified into a "three-tiered" market, sometimes called the "Papa Bear, Mama Bear, Baby Bear" approach. It is common for one vendor to sell three different products, at three different price levels. For example, MultiMate International sells MultiMate Advantage for $600, MultiMate version 3.31 for $500, and Just Write for $145. Micropro markets WordStar 2000 Plus ($600), WordStar version 3.3 ($300), and Easy ($150). Other products are broken down by the model of computer they will run on. SSI Software sells WordPerfect (IBM/PC version) for $495, while the Apple II version goes for $180.
Small is beautiful
Authors: James E. B.
Published: January 2007

New developments in cheap electronics have spawned a bewildering range of choices in future computer use. New financial constraints are imposed daily, and the future cannot simply be more of the familiar. Larger systems lead to greater complexity and an unacceptable error rate. Computing needs to become user-centered, task-orientated, cost-conscious, aware of limits to growth, vastly more reliable, management and design-conscious. Research, educational, administrative and computer center support functions must become more professional in computer use, and must be aware of the need for training.A variety of issue-clouders is considered, structured programming, expert systems, more and bigger languages,
Unix
, network protocols, icons and mice.Finally a check list of specimen questions is provided, to probe efficiency in computer use in the reader's own area.
A fair share job scheduling approach for MVS
Authors: Conrad L. Dean , Hsu C. Jack
Published: January 2007

One of the more challenging problems to handle in a university computing center is how to schedule the use of scarce computing resources fairly among the various elements of the customer community. The researcher community on our campus does a good job of monitoring for possible "holes" in our resource allocation schemes that might be exploited to the benefit of some ... and the detriment of others. This paper discusses the MVS scheduling problem we encountered and describes the approach taken to solve it.
Planning for student computing
Authors: Stager Sue , Boesen Leota
Published: January 2007

At some point in time, on every college and university campus, computing diffuses to the "masses," or to the multitude of diverse computer users. Services geared to early adopters of computing technology, such as faculty and graduate students in the hard sciences and engineering, are often inappropriate for the masses. Due to their numbers, students become the largest user group among the masses, requiring restructuring, expansion, and enhancement of traditional computing services.
Interactive vs. procedural modelling in computer-aided design
Authors: Tountas Christos
Published: January 2007

Architects' interest in computer-aided design (CAD) is growing rapidly and most large firms either have or are in the process of acquiring such systems. With the appearance of CAD on microcomputers, smaller firms are also moving in that direction. The driving force varies: fascination with the new technology, expectation of expanded capabilities or greater economy, desire to be current, fear of not being competitive. In architecture, as elsewhere, the inconclusive debates of the past decades on the virtues and vices of automation have proved irrelevant: the machine is creeping in on its own steam, wanted or not, and its momentum is growing.
Looking at optical disk storage technology
Authors: Chandler T. J.
Published: January 2007

The field of information science is currently in the midst of another technological revolution --- one that promises to alter our lives in ways yet to be imagined. This revolution is being led by a vanguard of highly collimated electromagnetic radiation; an aggregation more commonly known as a
laser beam.
This laser beam is being used to store and retrieve data at vastly greater densities and at far greater speeds than today's most sophisticated methods of data storage and retrieval. It is this breakthrough that has given rise to a number of new technological innovations. These innovations are heralding a new era for such diverse fields as educational psychology, computer science and stereophony.
Can I get there from here? Network nostalgia, nature, and navigation
Authors: Schenk Kay
Published: January 2007

Computer networks are generally distinguished from decentralized access systems (for instance, early airlines reservations systems) by the type of equipment on the communication line or connection. In computer networks, messages or information is passed from one host machine to another machine or terminal along the network. In a decentralized access system, users in different locations are, in actuality, accessing only one centralized host machine. Almost from the introduction of second-generation timesharing computing equipment in the early 60's, it became apparent that the easy transfer of information between computers would be advantageous. To this end, research into the subject of computer networks began in the late 1960's funded by the U.S. Department of Defense through its Defense Advanced Research Projects Agency. Since the implementation of the first network developed by this agency, tagged ARPANET, computer networking and its implications have had and will continue to have a profound effect on society. You need only watch a few television commercials that introduce you to home computers connected to various networking services such as computerized bill payment, stock market reporting and the like to be convinced of the important role this relatively new technology will play in our lives.
Source code security
Authors: Corelis Jon
Published: January 2007

Although computer security is usually thought of as data security, the protection of the executable software which creates and maintains that data is an equally important aspect of security. This article will describe the general principles for securing source code integrity in the computer services department of a medium to large size organization. It is addressed to the EDP manager, auditor, or user who has primary administrative, rather than technical, responsibility for the security of such code. My treatment of these issues will inevitably reflect my own primary experience of them, which has been with mainframe batch data processing applications. But the underlying principles of source code security are the same for all types of software, whether batch, interactive, or micro. Accordingly, I may hope that my discussion of these problems will be of some use also to those who must manage other types of data processing.
Electronic consulting
Authors: Eggers Mark D.
Published: January 2007

Traditional computer consultation is usually carried out by phone or in person through appointments. In addition, a desk is usually manned during normal working hours to handle walk - in problems. Given that there is a large body of users and a limited consulting staff, some users end up not receiving timely help. In addition, a user services staff that attempts to always deliver timely help to its user community runs the serious risk of "burn-out", since the load will always exceed available consulting capacity.
Performance comparison of cellular and multi-hop wireless networks
Authors: Hsieh Hung-Yun , Sivakumar Raghupathy
Published: January 2007

In this paper we study the performance trade-offs between conventional cellular and multi-hop ad-hoc wireless networks. We compare through simulations the performance of the two network models in terms of raw network capacity, end-to-end throughput, end-to-end delay, power consumption, per-node fairness (for throughput, delay, and power), and impact of mobility on the network performance. The simulation results show that while adhoc networks perform better in terms of throughput, delay, and power, they suffer from unfairness and poor network performance in the event of mobility.We discuss the trade-offs involved in the performance of the two network models, identify the specific reasons behind them, and argue that the trade-offs preclude the adoption of either network model as a clear solution for future wireless communication systems. Finally, we present a simple hybrid wireless network model that has the combined advantages of cellular and ad-hoc wireless networks but does not suffer from the disadvantages of either.
Characterizing the memory behavior of Java workloads
Authors: Shuf Yefim , Serrano Mauricio J. , Gupta Manish , Singh Jaswinder Pal
Published: January 2007

This paper studies the memory behavior of important Java workloads used in benchmarking Java Virtual Machines (JVMs), based on instrumentation of both application and library code in a state-of-the-art JVM, and provides structured information about these workloads to help guide systems' design. We begin by characterizing the inherent memory behavior of the benchmarks, such as information on the breakup of heap accesses among different categories and on the hotness of references to fields and methods. We then provide detailed information about misses in the data TLB and caches, including the distribution of misses over different kinds of accesses and over different methods. In the process, we make interesting discoveries about TLB behavior and limitations of data prefetching schemes discussed in the literature in dealing with pointer-intensive Java codes. Throughout this paper, we develop a set of recommendations to computer architects and compiler writers on how to optimize computer systems and system software to run Java programs more efficiently. This paper also makes the first attempt to compare the characteristics of SPECjvm98 to those of a server-oriented benchmark, pBOB, and explain why the current set of SPECjvm98 benchmarks may not be adequate for a comprehensive and objective evaluation of JVMs and just-in-time (JIT) compilers.We discover that the fraction of accesses to array elements is quite significant, demonstrate that the number of "hot spots" in the benchmarks is small, and show that field reordering cannot yield significant performance gains. We also show that even a fairly large L2 data cache is not effective for many Java benchmarks. We observe that instructions used to prefetch data into the L2 data cache are often squashed because of high TLB miss rates and because the TLB does not usually have the translation information needed to prefetch the data into the L2 data cache. We also find that co-allocation of frequently used method tables can reduce the number of TLB misses and lower the cost of accessing type information block entries in virtual method calls and runtime type checking.
Understanding TCP vegas
Authors: Low Steven H. , Peterson Larry , Wang Limin
Published: January 2007

This paper presents a model of the TCP Vegas congestion control mechanism as a distributed optimization algorithm. Doing so has three important benefits. First, it helps us gain a fundamental understanding of why TCP Vegas works, and an appreciation of its limitations. Second, it allows us to prove that Vegas stabilizes at a weighted proportionally fair allocation of network capacity when there is sufficient buffering in the network. Third, it suggests how we might use explicit feedback to allow each Vegas source to determine the optimal sending rate when there is insufficient buffering in the network. We present simulation results that validate our conclusions.
What TCP/IP protocol headers can tell us about the web
Authors: Smith F. Donelson , Campos Félix Hernández , Jeffay Kevin , Ott David
Published: January 2007

We report the results of a large-scale empirical study of web traffic. Our study is based on over 500 GB of TCP/IP protocol-header traces collected in 1999 and 2000 (approximately one year apart) from the high-speed link connecting The University of North Carolina at Chapel Hill to its Internet service provider. We also use a set of smaller traces from the NLANR repository taken at approximately the same times for comparison. The principal results from this study are: (1) empirical data suitable for constructing traffic generating models of contemporary web traffic, (2) new characterizations of TCP connection usage showing the effects of HTTP protocol improvement, notably persistent connections (
e.g.
, about 50% of web objects are now transferred on persistent connections), and (3) new characterizations of web usage and content structure that reflect the influences of "banner ads," server load balancing, and content distribution. A novel aspect of this study is a demonstration that a relatively light-weight methodology based on passive tracing of only TCP/IP headers and off-line analysis tools can provide timely, high quality data about web traffic. We hope this will encourage more researchers to undertake on-going data collection and provide the research community with data about the rapidly evolving characteristics of web traffic.
A M/M/ queue in a semi-Markovian environment
Authors: Nain Philippe , Núñez-Queija Redusindo
Published: January 2007

We consider an M/M/1 queue in a semi-Markovian environment. The environment is modeled by a two-state semi-Markov process with arbitrary sojourn time distributions
F
0
(
x
) and
F
1
(
x
). When in state
i
= 0, 1, customers are generated according to a Poisson process with intensity λ

i

and customers are served according to an exponential distribution with rate μ

i

. Using the theory of Riemann-Hilbert boundary value problems we compute the
z
-transform of the queue-length distribution when either
F
0
(
x
) or
F
1
(
x
) has a rational Laplace-Stieltjes transform and the other may be a general --- possibly heavy-tailed --- distribution. The arrival process can be used to model bursty traffic and/or traffic exhibiting long-range dependence, a situation which is commonly encountered in networking. The closed-form results lend themselves for numerical evaluation of performance measures, in particular the mean queue-length.
Interval parameters for capturing uncertainties in an EJB performance model
Authors: Lüthi Johannes , Lladó Catalina M.
Published: January 2007

Exact as well as approximate analytical solutions for quantitative performance models of computer systems are usually obtained by performing a series of arithmetical operations on the input parameters of the model. However, especially during early phases of system design and implementation, not all the parameter values are usually known exactly. In related research contributions, intervals have been proposed as a means to capture parameter uncertainties. Furthermore, methods to adapt existing solution algorithms to parameter intervals have been discussed. In this paper we present the adaptation of an existing performance model to parameter intervals. The approximate solution of a queueing network modelling an Enterprise JavaBeans server implementation is adapted to interval arithmetic in order to represent the uncertainty in some of the parameters of the model. A new interval splitting method is applied to obtain reasonable tight performance measure intervals. Monotonicity properties of intermediate computation results are exploited to achieve a more efficient interval solution. In addition, parts of the original solution algorithm are modified to increase the efficiency of the corresponding interval arithmetical solution.
Restoration path concatenation
Authors: Bremler-Barr Anat , Afek Yehuda , Kaplan Haim , Cohen Edith , Merritt Michael
Published: January 2007

A new general theory about
restoration
of network paths is first introduced. The theory pertains to restoration of shortest paths in a network following failure, e.g., we prove that a shortest path in a network after removing
k
edges is the concatenation of at most
k
+ 1 shortest paths in the original network.The theory is then combined with efficient path concatenation techniques in MPLS (multi-protocol label switching), to achieve powerful schemes for restoration in MPLS based networks. We thus transform MPLS into a flexible and robust method for forwarding packets in a network.
Obtaining high performance for storage outsourcing
Authors: Ng Wee Teck , Hillyer Bruce K.
Published: January 2007

The viability of storage outsourcing is critically dependent on the access performance of remote storage. We study this issue by measuring the behavior of a broad variety of I/O-intensive benchmarks as they access remote storage over an IP network. We measure the effect of network latencies that correspond to distances ranging from a local neighborhood to halfway across a continent. We then measure the effect of latency-hiding mechanisms. Our results indicate that, in many cases, the adverse effects of network delay can be rendered inconsequential by clever file system and operating system techniques.
Fast firewall implementations for software-based and hardware-based routers
Authors: Qiu Lili , Varghese George , Suri Subhash
Published: January 2007

Routers must perform packet classification at high speeds to efficiently implement functions such as firewalls and diffserv. Classification can be based on an arbitrary number of fields in the packet header. Performing classification quickly on an arbitrary number of fields is known to be difficult, and has poor worst-case complexity.In this paper, we re-examine two basic mechanisms that have been dismissed in the literature as being too inefficient: backtracking search and set pruning tries. We find using real databases that the time for backtracking search is much better than the worst-case bound; instead of Ω((
logN
)

k
-1

), the search time is only roughly twice the optimal search time
1
. Similarly, we find that set pruning tries (using a DAG optimization) have much better storage costs than the worstcase bound. We also propose several new techniques to further improve the two basic mechanisms. Our major ideas are (i) backtracking search on a small memory budget, (ii) a novel compression algorithm, (iii) pipelining the search, (iv) the ability to trade-off smoothly between backtracking and set pruning, and (v) algorithms to effectively make use of hardware if hardware is available. We quantify the performance gain of each technique using real databases. We show that on real firewall databases our schemes, with the accompanying optimizations, are close to optimal in time and storage.
Applications of pipelining to firmware
Authors: Proulx David M.
Published: January 2007

It has been found that pipelining at the firmware level of machine organization can provide significant execution time benefits for certain types of instructions. The essential concept involved with this approach is the pipelining of operations within the hardware under direct control of the firmware, rather than the pipelining of microinstructions. Specifically, multiple data values exist within the machine's datapaths which have undergone different amounts of processing.

This paper describes the application of these techniques to a specific pipelined computer. A brief description of the system level pipeline is provided with two examples of the firmware pipeline approach. The operations of floating point normalization and memory transfers have been described in detail.
Software tools used in the development of a VLSI VAX Microcomputer
Authors: Gries Robert , Woodward James A.
Published: January 2007

This paper presents an overview of the software tools used in the development of the microcode for Digital's VLSI VAX Microcomputers. The software tools effort consisted of five basic areas: assembly, simulation, verification, and statistical analysis.
An improvement of trace scheduling for global microcode compaction
Authors: Su Bogong , Ding Shiyuan , Jin Lan
Published: January 2007

Fisher's trace scheduling procedure for global compaction has proven to be able to produce significant reduction in execution time of compacted microcode, however extra space may be sometimes required during bookkeeping, and the efficacy of compaction of microprogram loop is lower than that of hand compaction.

This paper introduces an improved trace scheduling compaction algorithm to mitigate the drawbacks mentioned above. The improved algorithm is based on a modified menu of moving microoperations, an improved trace scheduling algorithm, and a special loop compaction algorithm. Preliminary tests indicate that this global compaction algorithm gives shorter execution time and less space requirement in comparison with Fisher's algorithm.
TDL
Authors: Staas Gary
Published: January 2007

TDL is an interpreter for a high level test language used in the development of hardware and microcode. A user can supply commands interactively at a terminal, or from a prepared command file to facilitate automated testing. TDL can communicate to either real hardware or a program simulating the hardware, supplying a uniform interface to both. TDL's features simplify test writing, generating test cases, and calculating test results.
An automatic migration scheme based on modular microcode and structured firmware sequencing
Authors: Papachristou C. A. , Immaneni V. R. , Sarma D. B.
Published: January 2007

The aim of this work is to construct an automated migration system from software into firmware for functions or algorithms with complex logical structure. The approach is based on an already developed structured microcontrol scheme endowed with compound sequencing capabilities suitable for modular microprogramming. The basic idea is to extract, via compilation techniques, the sequencing structure of the function. This is expressed into complex firmware sequencing constructs such as modular calls and modular loops. Migration is then effected by sequence calls into microcode modules interpreting a target machine architecture on which the function is tested. The migration technique is implemented in a simulated environment consisting of several firmware design tools. The system has the option to produce firmware code suitable for PLA embodiment, thus facilitating function migration into VLSI microcode.
Microcode verification using SDVS-the method and a case study
Authors: Levy Beth
Published: January 2007

This paper describes SDVS (State Delta Verification System), its application to microcode verification, and the verification of a particular example referred to as the H-machine example. The example illustrates how particular microcode that interprets a computer instruction set can be proved correct and how this proof is accomplished with an existing, automated verification system.
A model of clocked micro-architectures for firmware engineering and design automation applications
Authors: Dasgupta Subrata
Published: January 2007

An aspect common to many problems in firmware engineering is the use of a micromachine model that is, an abstract and selective view of the structure and behavior of the computer at the micro-architectural level. The success, utility and generality of a particular microprogramming language, compaction technique, or verification strategy may rest critically on the expressive power and generality of the underlying micromachine model. While a number of such models have been proposed in the past we believe that these are all, for one reason or another, in adequate. In this paper we present a new, generalized, multipurpose model of clocked micro-architectures intended to provide a uniform framework for use in both firmware engineering and design automation applications.
A three dimensional wire frame graphics system
Authors: Gujar Uday G.
Published: January 2007

This paper describes the design and implementation of an APL based three dimensional graphics system. The system is composed of several functions which are grouped into individual modules such as modelling functions, viewing functions, transformation functions, view aid functions, special view functions, text manipulating functions and several other helpful functions. The task of obtaining a perspective view from an arbitrary observer position has been simplified - all that is needed is the (x, y, z) co-ordinates of the eye position and the 3-D description of the object(s). One can obtain parallel, perspective and oblique projections using this system. Functions are provided to obtain a movie type strip chart of perspective views of an object as the eye position moves slowly along a specified path. Several functions, such as plane sweep, surface revolution, are provided to simplify the task of generation of 3-D description of the objects. Many sample functions are written to generate various types of 3-D objects; an accompanying workspace contains these functions. The paper contains several illustrative examples.
Control system development tools
Authors: Kimbrough Scott
Published: January 2007

This paper provides a core of APL algorithms for control system development and demonstrates their use by solving a typical control problem. In doing so it outlines useful numerical techniques for simulating dynamic systems and for solving some of the central equations of control theory.

Although some sections of the paper are addressed to APL2 users, the majority of the paper applies to APL. Moreover, by doing a little extra work to handle complex numbers and by installing a “callable” compiled eigenvalue-eigenvector routine, all of the material presented can be adapted to any APL system.

While APL is a comfortable environment for control system development, APL2 contains two especially useful enhancements: 1) complex numbers included in a natural way, and 2) the function EIGEN.

APL2's facility with complex numbers permits the direct and clear coding of frequency domain methods such as root locus, bode plots, and the generation of transfer functions. APL2's facility with complex numbers also makes it possible to include a native eigenvalue-eigenvector utility function, EIGEN. This function generates the eigenvalues and eigenvectors of general square matrices, which can then be used for root locus studies, for transforming system equations to canonical forms, and for efficiently solving the Riccati and Lyapunov equations.

Non-EIGEN-based functions are also provided so that all APL users will find enough tools to model, simulate, analyze, and develop regulators, observers, and filters for linear dynamic systems.
Teaching theory of computation at the junior level
Authors: Chua Y. S. , Winton C. N.
Published: January 2007

Theory of computation courses have traditionally been taught at the advanced-undergraduate or graduate level, primarily due to the level of mathematical rigor associated with the topics involved. The topics covered include automata theory, formal languages, computability, uncomputability, and computational complexity. If the essentials of these topics are introduced earlier in the undergraduate computer science curriculum, students gain deeper insights and better comprehend the underlying computational issues associated with the material covered in subsequent computer science courses. Such a course is required of all computer science majors at the University of North Florida. Experience has demonstrated that a minimum background for the course includes Freshman-Sophomore mathematics (presently calculus) and a typical introduction to computer science. Thus the course is best positioned within the curriculum at the Junior-level. Recognizing that Junior level students are rarely mathematically sophisticated, the treatment is not as rigorous as that of a more advanced course on the theory of computation. Moreover, to reinforce the “theory” covered in class, an integral portion of the course is devoted to “hands-on” exercises using APL and software tools implemented in APL. These exercises generally require the construction of automata of various forms, with observation of their step by step operation. Further exercises illustrate the connections between various automata and areas such as hardware design and compiler construction. The paper describes the course, the unique advantages of APL in conducting the “hands-on” component of the course, and the exercises.
The APL:9SPlus:2E System for the Macintosh: an overview
Authors: Myers Edward R.
Published: January 2007

The APL*PLUS System for the Macintosh™ is a full-featured APL interpreter that integrates the Macintosh user interface style into a standard APL*PLUS System environment. An overview of these Macintosh-specific features along with a comparison of the capacity and performance of the APL*PLUS Mac System to other APL systems suggests that APL applications that are highly interactive, require large workspaces, and need advanced graphics are best implemented on the Macintosh.
Replicate each, anyone?
Authors: Benkard J. Philip
Published: January 2007

In both the IPSA and APL2/NARS extensions of APL, the SLASH symbol always represents an operator. Some new users of APL2, having been taught in the past that SLASH is an ambiguous symbol which is a dyadic function when it immediately follows data, find that the result when SLASH occurs between data and another operator is incompatible with that interpretation. The situation did not arise in APL1 because derived functions could not be operands. The classification of SLASH as an operator can be traced to the description given in the book. A Programming Language, from which APL ultimately derives. It was done so that the closely related MASK operation could be specified with the same symbol. In this paper the syntactic differences between dyadic functions and aonadic operators with data operands are explicated using the APL2 concept of syntactic binding. Two straightforward language extensions are considered based on the notions of a depth property, which APL2 shares with STSC's NARS, and pairwise evaluation, which derives from syntactic binding. Together they allow either dyadic functions or monadic operators with data operands to be executed in three structural contexts, which, in the cases of REPLICATE and EXPAND, can be loosely described as the same mask for each of several arrays, a separate mask for each array, and the same array for each of several masks.
Development of APL—based distributed processing systems
Authors: Promisel Steven I.
Published: January 2007

Business users of APL generally need to maximize results while minimizing costs. Current APL technology gives the APL developer many environments to work in (mainframe, mini and micro). In addition, there are more tools available to work with in these environments. These tools include APL compilers and commercial database management systems on mainframes; full-screen input and communications utilities on microcomputers. To the end user, Distributed Processing applications combine mainframes and microcomputers into a single working environment. By programming a Distributed Processing solution in APL, the user will not need to know the details of telecommunications. The purpose of this paper is to propose questions and suggest techniques to develop Distributed Processing applications using APL.
An integrated microprogram development methodology based on APL
Authors: Jacobs Jan W. M. , Hacking Roger J. H.
Published: January 2007

This paper describes a development methodology for generating code for a microprogrammable processor.

The development system is built around a formal model of the required functionality and some tools that automate, to a large extent, the generation of the final microcode. The tools include the generation and validation of the model, the generation of the symbolic microcode and an assembler for translation into the final microcode.

The main advantage of using this method is the reduction in development time and the removal of all logic errors in early stages of the design (prototyping).
Using the LOGOS programming environment—a case history
Authors: Chapman Steve
Published: January 2007

LOGOS is a unique programming environment for the APL language. It provides a uniform framework within which APL systems can be created and maintained. This paper describes how LOGOS is used to manage and maintain a large, Sharp APL-based information management system, VIEWPOINT.

A brief overview of both LOGOS and VIEWPOINT is presented, and the steps taken to retrofit VIEWPOINT into the LOGOS environment are traced. Emphasis is placed on the practical considerations and consequences of the conversion, and how the facilities of LOGOS are used in practice. Examples are given to demonstrate the effect LOGOS had in changing the way problems relating to the organization and management of VIEWPOINT were approached and solved. Finally, the paper describes areas in which LOGOS provided techniques to solve problems that might not otherwise have been addressed.
AUTOMAT, an end-user approach in handling applications as multi-dimensional arrays
Authors: Monnier Jean Marie
Published: January 2007

“AUTOMAT” is an end user, general purpose tool developed initially in APL-SV currently running under VSAPL and APL2 (IBM PC version currently under consideration).

The basic underlying concept is to tap the power of APL in handling multi-dimensional arrays, and make it available to the end user in a very natural and intuitive fashion.

The productivity gains generated by the system are extremely high, as a new application can be set up in terms of fraction of hours, with immediately usable results.

A lot of provisions have been made to handle instantaneously any changes in the structures, whether they are due to new business requirements or to initially overlooked facts.

The system has been and still is successfully used for Data consolidation / analysis, Planning Models and application prototypes. The use of APL as internal language enables the system to communicate very easily with other applications (e.g. Graphics).
The FinnAPL keyword editor
Authors: Sandberg Juhani , Paavola Olli , Ylinen Tauno
Published: January 2007

Most terminals used do not support APL characters. Although many microcomputers support soft fonts and some interpreters are equipped with a keyword option, and end-user APL applications should do without APL characters when in normal use, there still is a need for managing APL programming from terminals without APL characters. The authors propose a simple toolbox for the management of such situations in VM/SP environment.
How to win the respect and admiration of the rest of the DP world
Authors: Andreasen Kim S. , Frandsen Svend Elkjaer , Kromberg Morten
Published: January 2007

At a recent Workshop organized by the APL Group in Denmark, the three of us were given the task of finding ways to improve APLs image in the DP community. This paper is the result of that work. We hereby present a strategy for reducing the clashes between US (APLers) and THEM (those dim-witted DP experts). The conclusion is that the rest of the world does have a right to their own beliefs. What's more, we found that some of the things they say about us are not entirely mad - APLers are quite often more ignorant of the rest of the DP world than they are of us, and we have a responsibility to do something about this. Here, in ten easy steps, is the way to make friends with the DP department and win their respect (and if you are lucky, perhaps even their cooperation). This is an OPERATIONAL plan which should be used in planning the use of APL within an organization. Based on common statements made by those who criticize us, we have found ten areas in which work is required within an organization if APL is to prosper as a valuable tool. One member of the group - Svend Frandsen - has hopes of implementing our plan at ATP, and hopefully, by the time this paper is presented, he will be able to tell us whether it works!
Designing APL2 programs for unification
Authors: Brown James A. , Guerreiro Ramiro
Published: January 2007

Unification is one of the fundamental algorithms of logic programming. It is fundamentally a pattern matching process which includes variables that match anything. This paper explores various alternatives for the APL2 programmer to create unification programs. The paper discusses the trade offs that the application programmer has to make as he analyzes the alternatives. Rather than advance a specific proposal as the best alternative, the reader is asked to make his own choice.
Typesetting APL using TROFF
Authors: Dickey Leroy J.
Published: January 2007

In this paper it is explained how we developed an APL preprocessor to work with TROFF and a laser printer for typesetting APL text along with equations, tables, and ordinary text. In doing this work, we addressed these problems: (1) the representation of APL material, (2) the development of a language to control the APL font, and (3) the design of a pre-processor.