The termination-indicator technique is presented, which can be used to solve the class of multi-exit loop problems. A multi-exit loop problem is a programming problem that has several terminating conditions for a loop...
详细信息
The termination-indicator technique is presented, which can be used to solve the class of multi-exit loop problems. A multi-exit loop problem is a programming problem that has several terminating conditions for a loop: either a loop will run through a full cycle or be terminated prematurely when some condition is met. The class of multi-exit loop problems has generated a great deal of controversy on the goto statement in the literature from time to time. The paper illustrates the generality and efficiency of the termination-indicator technique by applying it to the class of multi-exit loop problems and thus puts the goto controversy to rest.
A new algorithm, discrete ascent optimal programming, for optimal power flow in distribution systems is presented. The new algorithm will converge to the same solution as the Lagrange multiplier approach, as demonstra...
详细信息
A new algorithm, discrete ascent optimal programming, for optimal power flow in distribution systems is presented. The new algorithm will converge to the same solution as the Lagrange multiplier approach, as demonstrated by example. An intuitive discussion illustrating the path of convergence is presented along with a theorem concerning convergence. The algorithm is explained with two DC examples which illustrate both unconstrained and constrained solutions. A switch placement design problem is also solved. Advantages of the new algorithm include its simplicity, ease of incorporating inequality constraints, and the ability to predict the number of steps required for convergence.
programming techniques necessary for high performance on the 3090 Vector Facilities are illustrated, showing that VS Fortran programs can achieve near-maximum execution rates. Relevant features of the 3090 architectur...
详细信息
programming techniques necessary for high performance on the 3090 Vector Facilities are illustrated, showing that VS Fortran programs can achieve near-maximum execution rates. Relevant features of the 3090 architecture are reviewed, stressing the need to make efficient use of a hierarchical storage system and take advantage of the compound vector instructions. The key programming techniques for managing the storage hierarchy are loop sectioning, loop distribution, and data compaction. Vector register, cache reuse, and virtual memory, storage format, and page reuse are shown to lead to efficient use of the vector registers, the high speed cache, and the virtual memory system, respectively. The multiply-and-add compound instruction is discussed
The acceptance of a software product depends to a considerable extent on the user interface. The class of graphic-oriented user interfaces that are called Intuitive User Interfaces (IUI) is described. These interfaces...
详细信息
The acceptance of a software product depends to a considerable extent on the user interface. The class of graphic-oriented user interfaces that are called Intuitive User Interfaces (IUI) is described. These interfaces allow the user to learn to operate software programs quickly. In the following the graphical layout put to use in an IUI is elaborated. All images the layout consists of are created with the aid of a paint program. Using these images, a procedure for creating, programming and linking an IUI to software applications is discussed and recommendations are made concerning software and hardware demands for easily creating IUIs. Practical experience of the authors with this procedure, mainly in the medical area, is described.
The days of specifying missions for mobile robots using traditional programming languages such as C++ and LISP are coming to an end. The need to support operators lacking programming skills coupled with the increasing...
详细信息
The days of specifying missions for mobile robots using traditional programming languages such as C++ and LISP are coming to an end. The need to support operators lacking programming skills coupled with the increasing diversity of robot run-time operating systems is moving the field toward high-level robot programming toolsets that allow graphical mission specification. This paper explores the issues of evaluating such toolsets as to their usability We first examine how usability criteria are established and performance target values are chosen. The methods by which suitable experiments are created to gather data relevant to the usability criteria are then presented. Finally, methods to analyze the data gathered to establish values for the usability criteria are discussed. The MissionLab toolset is used as a concrete example throughout the article to ground the discussions, but the methods and techniques are generalizable to many such systems.
With the unbelievable rise in personal computing and wide acceptance of inexpensive, user-friendly operating systems and productivity tools, programming may have lost its place as a major activity in the modern world ...
详细信息
With the unbelievable rise in personal computing and wide acceptance of inexpensive, user-friendly operating systems and productivity tools, programming may have lost its place as a major activity in the modern world of computing. Gone are the days when learning a programming language would open up a well-paid and challenging career. Now careers in information technology (IT), are not necessarily built out of programming skills only. As a matter of fact, working knowledge of a programming language is not considered adequate and must be supplemented by familiarity with different working environments. Experts in noncomputing fields are becoming computer professionals of great potential, with expertise in productivity and profession-specific tools, because of their in-depth knowledge of the application area-\"knowledge that was never easy to share with a team of programmers and analysts during a system development exercise in the past,\" they admit with a sigh of relief.
In compute-intensive multimedia applications, the computer not only manipulates media, but also digests it and performs independent actions based on media content, We present a design approach that applies the program...
详细信息
In compute-intensive multimedia applications, the computer not only manipulates media, but also digests it and performs independent actions based on media content, We present a design approach that applies the programming techniques of visualization systems to the development of compute-intensive multimedia applications, We describe an implementation based on this approach, and report performance measurements that demonstrate it is practical, We conclude with a description of some applications that have been implemented and a discussion of the implications for the design and engineering of operating systems.
作者:
Hong, JUniv Ulster
Sch Comp & Math Newtownabbey BT37 0QB Antrim North Ireland
We present a Prolog programming technique-based approach to guided programming and automated error analysis in Prolog tutoring. The concept of Prolog programming technique is used to characterize and classify programs...
详细信息
We present a Prolog programming technique-based approach to guided programming and automated error analysis in Prolog tutoring. The concept of Prolog programming technique is used to characterize and classify programs. Each class of programs use the same programming technique and share the common pattern of code. A set of programming technique grammar rules are defined for each class of programs. These rules are used for programming technique recognition, program construction, and program parsing. A programming technique frame is used to represent the programming technique-related knowledge for each class of programs. A program frame is used to represent the coding-related knowledge for the reference program of each of the most specialized programming techniques. The representation of the programming technique grammar rules, programming technique-related knowledge, and coding-related knowledge provides the basis for guided programming and automated error analysis in tutoring. Our approach to error analysis however does not rely on the representation of buggy versions of the program. Automated error analysis in our approach is done on the basis of comparing the parsings of both the student program and the reference program. Our approach has been implemented in a Prolog tutoring system called the Prolog Tutor, which has been tested on a collection of 125 programs for list reversal. The Prolog Tutor performs well on these tests in terms of programming technique recognition, error detection, and error correction. (C) 2004 Elsevier Ltd. All rights reserved.
Conventional methods for solving computing problems may not work for today's tasks. The methods employed in AI programming are more flexible, as they are designed for programming under uncertainty. For example, pr...
详细信息
Conventional methods for solving computing problems may not work for today's tasks. The methods employed in AI programming are more flexible, as they are designed for programming under uncertainty. For example, programming in AI languages means that programmers can defer commitment to a design decision until run time if necessary. The concept of embedded languages will also have attractions for programmers outside the realms of AI. Also available in AI development systems are highly sophisticated graphics interfaces. These and other tools can be used by programmers to great effect in many areas of computing.
We present the kernel language approach;a new way to teach programming that situates most of the widely known programming paradigms (including imperative, object-oriented, concurrent, logic, and functional) into a uni...
详细信息
ISBN:
(纸本)140207266X
We present the kernel language approach;a new way to teach programming that situates most of the widely known programming paradigms (including imperative, object-oriented, concurrent, logic, and functional) into a uniform setting that shows their deep relationships and how to use them together. Widely different practical languages (exemplified by Java, Haskell, Prolog, and Erlang) with their rich panoplies of abstractions and syntax are explained by straightforward translations into closely related kernel languages, simple languages that consist of small numbers of programmer-significant concepts. Kernel languages are easy to understand and have a simple formal semantics that can be used by practicing programmers to reason about correctness and complexity.
暂无评论