Jacob Katzenelson
Technion – Israel Institute of Technology
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Jacob Katzenelson.
Software - Practice and Experience | 1983
Jacob Katzenelson
The main goals of EC are to design a set‐oriented, extensible, C‐like language and to build a translator for this language that produces efficient run‐time code.
Journal of Convergence Information Technology | 1990
Harold Abelson; Andrew A. Berlin; Jacob Katzenelson; William H. McAllister; Guillermo Juan Rozas; Gerald Jay Sussman
The Supercomputer Toolkit, a proposed family of standard hardware and software components from which special-purpose machines can be easily configured, is introduced. Using the Toolkit, a scientist or an engineer, starting with a suitable computational problem, will be able to readily configure a special-purpose multiprocessor that attains supercomputer-class performance on that problem, at a fraction of the cost of a general purpose supercomputer. Some applications, the hardware, and the software are described.<<ETX>>
Proceedings of the IEEE | 1967
David S. Evans; Jacob Katzenelson
A program which provides man-machine communication for the analysis of electronic circuits on a time-sharing computer is presented. The program is a part of AEDNET, a simulator for nonlinear networks, written in the AED-0 language and operating on the Project MAC time-sharing computer. The Electronic Systems Laboratory display console is used as a graphical input-output device on which the circuit diagram is plotted and the calculation results are observed. The requirements imposed on such a man-machine communication system are discussed and a unified way of answering these requirements is presented by developing some basic network concepts and their associated data structure. From the experience gained in writing and using the system, several conclusions are reached regarding the features that such a communication program should have to insure convenient and natural man-machine interaction.
ACM Transactions on Programming Languages and Systems | 1992
Jacob Katzenelson; Shlomit S. Pinter; Eugen Schenfeld
This work considers type systems that are defined by type-graphs (tgraphs), which are rooted directed graphs with order among the edges leaving each node. Tgraphs are uniquely mapped into polynomials which, in turn, are each evaluated at a special point to yield an irrational number named the tgraphs magic number. This special point is chosen using the Schanuel conjecture. It is shown that each tgraph can be uniquely represented by this magic number; namely, types are equal if and only if the corresponding magic numbers are equal. Since irrational numbers require infinite precision, the algorithm for generating magic numbers is carried out using a double-precision floating-point approximation. This approximation is viewed as a hashing scheme, mapping the infinite domain of the irrational numbers into finite computer words. The proposed hashing scheme was investigated experimentally, with the conclusion that it is a good and practical hashing method. In tests involving over a million randomly chosen tgraphs, we have not encountered a single collision. We conclude that this method for representation and management of types is practical, and offers novel possibilities for enforcing strict type matching at link time among separately compiled modules.
Software - Practice and Experience | 1983
Jacob Katzenelson
In this work the topological sort algorithm is programmed in EC, taking advantage of ECs set‐oriented features and its macro‐like data abstractions. The main issue was whether efficient run‐time code could be achieved while maintaining program structure and readability.
Software - Practice and Experience | 1971
Jacob Katzenelson
The purpose of this article is to discuss documentation and management technique in a software production project. It is claimed that clear and concise documentation is a major contribution to communication between people who are either inside or outside the software project and that such documentation plays an important role in the management of the project. A university software project is used as a case study to illustrate the above points and to describe the means for achieving them. This project developed a supervisor and an assembler for a small 4K words machine and at various times it involved up to ten parttime people (instructor and students). One of the goals of the project was the development and improvement of documentation technique, and the techniques described in this article were practised and improved as the project progressed. It is felt that with minor changes the conclusions of the university project can be used in industrial projects of similar size.
IEEE Transactions on Software Engineering | 1979
Jacob Katzenelson
The extensible set language (ESL) uses clusters for extending the set oriented language and for mapping the sets and their operators into base language data structure and operators. The main difficulty in this mapping is the dependency among clusters, i.e., the use of one data structure requires the modification or the constraint of another. The dialogue is a compile time procedure which is part of a cluster. It manipulates data structures and enables each cluster to appear independent; it also enables the user to choose one of a family of data implementations defmed by the cluster. Thus the dialogue makes it possible for a data structure to appear as a building block which can be used simply and flexibly.
Journal of Computer and System Sciences | 1972
Jacob Katzenelson
The Markov algorithm [1, 2] can be used as a language parser and as means fordefining languages [2-5]. This work is concerned with the amount of computing time which the algorithm requires. Computing time is measured by the number of comparisons between the rules of the grammar and the input string. A modification is introduced into the algorithm which reduces the computation time. It is proved that under certain conditions imposed on the rules of the grammar the computing time required by the modified algorithm is bounded linearly by the length of the input string. One set of such conditions requires that each application of a grammar rule reduces the length of the input string. Another set requires that each application does not increase the length of the input string and that the graph associated with the rules of the grammar satisfies certain restrictions.
Software - Practice and Experience | 1987
Jacob Katzenelson; Avy Strominger
Enhanced C (EC) is a set‐oriented, extensible, C‐like language. EC uses data abstractions to define new types. These data abstractions, called clusters, are macro‐like devices that perform substitution on the typed syntax tree. Debugging programs that use clusters raise problems that are not encountered in ordinary programming languages. At compile time there is a need to determine and report whether the macro expansion will result in a legal program before this expansion actually takes place. At run‐time the problems are how to account for replaced statements and how to handle variables whose types have been established by the clusters, variables that disappear, or variables whose names have been changed.
International Journal of Computer Mathematics | 1975
Jacob Katzenelson; Elie Milgrom
This paper presents an extensible programming language (AEPL) which has been designed as a tool for the implementation of a large class of languages for specific applications. AEPL includes a powerful data definition facility which enables one to define data structures and new types of data elements as well as new operators to manipulate both new and old data elements. A syntax driven parsing scheme derived from the Markov Algorithm makes it possible to control the syntax of the language dynamically, thus allowing one to define new language structures such as expressions and statements. As a result of the method used for syntactic definition, languages obtained by extension of AEPL belong to the general class of phrase structure languages, i.e. they are not restricted to the class of context-free languages. AEPL was extended to produce a language for the manipulation of linear graphs. Our experience indicates that such extensions are fairly simple and, in many cases, straight-forward.