The Interpretive Frame System (IFS) is a tool for creating application software with sophisticated interactive interfaces. IFS is based on the notion of a frame network. A frame network consists of many interconnected...
详细信息
The Interpretive Frame System (IFS) is a tool for creating application software with sophisticated interactive interfaces. IFS is based on the notion of a frame network. A frame network consists of many interconnected modules called frames, each of which represents a logical activity in the system. Frames are written in a high-level language. Besides the usual computational constructs such as conditionals, loops, or arithmetics and Boolean expressions, the IFS language also includes facilities for building program/program interactions, such as subprocess invocations or coprocess communications, and constructs for building user/program interactions such as menus or forms. IFS is a suitable tool to integrate existing programs by providing a uniform and easy-to-use user interface. It can also be used to build a new system in a top-down manner by first defining the network of frames and their interactions and user interface, then programming problem-specific parts. Therefore, it provides a general framework supporting any combination of top-down and bottom-up software development methodologies. This paper gives an overview of the frame network concept, the user interface of frame network systems, the frame programming language, and the IFS system implementation.
We consider some methods of internal sorting which are stable in the sense of preserving the sequence of records with equal keys. The efficiency of the proposed algorithms is estimated, and some suggestions are made a...
详细信息
We consider some methods of internal sorting which are stable in the sense of preserving the sequence of records with equal keys. The efficiency of the proposed algorithms is estimated, and some suggestions are made as to the use of the corresponding programs.
作者:
WILSON, CRAllied Canada
Technical Staff Mississauga Ont Can Allied Canada Technical Staff Mississauga Ont Can
The cooperative processing (coprocessing) of data by inter leaving execution (the heart of large time-sharing systems) on a single computer is considered. The use of Modula-2 with its specific programming constructs p...
详细信息
The cooperative processing (coprocessing) of data by inter leaving execution (the heart of large time-sharing systems) on a single computer is considered. The use of Modula-2 with its specific programming constructs permits the coprocessing to develop a real-time concurrent program and to write operating systems and other low-level software. Two essential mechanisms are shown to implement the mechanics of coprocessing: first, a means of identifying and executing a program that establishes it as a process;second, a method so that two coprocesses can signal each other to coordinate their activities. Modula-2 has facilities for these mechanisms imbedded within it.
Because of their significance, sorting algorithms have been thoroughly studied. Some are slow and some are fast. Some sort a few items and some sort millions of items. The author discusses sorting in the context of th...
详细信息
Because of their significance, sorting algorithms have been thoroughly studied. Some are slow and some are fast. Some sort a few items and some sort millions of items. The author discusses sorting in the context of three different algorithms: Selection Sort, for small lists. Quicksort, for larger lists, and Mergesort, for lists of a size so monstrous they can't fit into memory all at once. But first some simple tools are developed to help with the analysis of these algorithms.
The authors present an algorithm to merge priority queues organized as heaps. The worst case number of comparisons required to merge two heaps of sizes k and n is O(log(n)*log(k)). The algorithm requires O(k plus log(...
详细信息
The authors present an algorithm to merge priority queues organized as heaps. The worst case number of comparisons required to merge two heaps of sizes k and n is O(log(n)*log(k)). The algorithm requires O(k plus log(n)*log(k)) data movements if heaps are implemented using arrays and O(log(n)*log(k)) for a pointer-based implementation. Previous algorithms require either O(n plus k) data movements and comparisons, or O(k*log(log(n plus k))) comparisons and O(k*log(n plus k)) data movements. The algorithm presented improves on the previous algorithms for the case when k greater than log(n).
Exploratory programmingsystems, previously confined to the artificial intelligence field, are becoming attractive for many commercial applications. Since they allow designers to defer programming decisions or to avoi...
详细信息
Exploratory programmingsystems, previously confined to the artificial intelligence field, are becoming attractive for many commercial applications. Since they allow designers to defer programming decisions or to avoid them entirely, these systems can cope with rapidly changing, very large application programs. The need for this kind of programming system has come about because some projects are simply not solvable with more conventional programming methods.
This paper contains recommendations for developing computersystems for other organizations using emerging technologies. These recommendations are based on our experience developing a computer-assisted management syst...
详细信息
ISBN:
(纸本)0444877738
This paper contains recommendations for developing computersystems for other organizations using emerging technologies. These recommendations are based on our experience developing a computer-assisted management system for the USS CARL VINSON, a nuclear-powered aircraft carrier, during the past four years. We recommend that such projects be conducted in a highly cooperative manner between the users' organization and the developers' organization over a planned period not longer than 18 months, obtaining feedback via a series of instrumented prototypes that are exercised by both users and developers for actual tasks.
The authors discuss an automated software engineering documentation system. This system is tailored to software engineering. However, it could be tailored to other engineering fields and the concept could be applied t...
详细信息
The authors discuss an automated software engineering documentation system. This system is tailored to software engineering. However, it could be tailored to other engineering fields and the concept could be applied to any field of endeavor requiring systematic documentation. The general concepts of an automated documentation system are presented. An example based on an automated software engineering documentation system is then provided.
A research project at IBM's Palo Alto Scientific Center, called PRISM (PRototype Inference SysteM), is an experimental 'shell' - a general purpose system. This system is designed to provide a base for the ...
详细信息
ISBN:
(纸本)0882830465
A research project at IBM's Palo Alto Scientific Center, called PRISM (PRototype Inference SysteM), is an experimental 'shell' - a general purpose system. This system is designed to provide a base for the construction of a variety of specific expert systems. PRISM is in operation within IBM at several sites where it is being used for building applications. A knowledge base builder uses the English-like rules and parameters to construct an application more rapidly than can be done with standard programming techniques. (Author abstract. )
The advent and promotion of GKS presents a clearly defined set of benefits and features. With these come the inevitable problems. Even though the Graphical Kernel System is an endorsed international standard, that alo...
详细信息
The advent and promotion of GKS presents a clearly defined set of benefits and features. With these come the inevitable problems. Even though the Graphical Kernel System is an endorsed international standard, that alone does not remove the remaining question: 'Under what circumstances will software developers take advantage of it? ' The value of GKS in modern programming lies in two primary areas. The first area (covered by this paper) finds GKS as a subsystem tool for building higher level integration utilities. The second perspective would be to consider the functionality necessary in higher level utilities quite independent from GKS. Once this functionality was determined, the value of GKS could be tested to see if the higher capability could be served. In using this top-down approach, concerns and considerations in GKS do not enter into the initial specifications. Once the specifications has been set, it can be determined whether or not GKS can offer a solution. The focus of this paper will investigate such a procedure and show some examples of how the functionality of GKS can support a robust integration library.
暂无评论