ACM-SE 28Pub Date : 1990-04-01DOI: 10.1145/98949.99056
J. Pleasant
{"title":"Systematic program development and proof: Dromey's method versus top-down refinement","authors":"J. Pleasant","doi":"10.1145/98949.99056","DOIUrl":"https://doi.org/10.1145/98949.99056","url":null,"abstract":"This paper compares a program development method proposed in a recent paper by R. G. Dromey with the Wirth-Dijkstra top-down refinement method with regard to proof-of-correctness issues. Several new examples are given to illustrate Dromey's method and to demonstrate its advan tages over the top-down refine ment method with regard to verifiability of the resulting programs. Using Dromey's method, a pro gram is developed by 'making a sequence of refinements, each of which can establish the postcon dition for a corresponding se quence of progressively weaker preconditions until a mechanism has been composed that will es tablish the postcondition for the original given precondition for the problem.' A critical el ement of the method is a collec tion of formal methods for transforming the postcondition of a specification into a form which guides program develop ment. The present paper examines Dromey's method in general and these formal methods in particu lar, with regard to program ver ification via Hoare-type rules. A principle new example of the use of Dromey's method discussed in the paper is the derivation of an algorithm to compute the n-adic representation of a nat ural number (where n is any nat ural number). The paper compares this algorithm with one obtained by use of a more traditional top-down approach, showing that verification for this problem is much more straightforward for the program obtained using Dromey's method. As a first step toward generalizing this result, the paper compares a number of the methods for transforming postconditions (Dromey's method) with commonly used methods for deriving loop invariants for use with Hoare-type rules. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct com mercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires n fee and/or specific per","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115443740","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM-SE 28Pub Date : 1990-04-01DOI: 10.1145/98949.99053
R. Plant
{"title":"Incorporating software quality requirements into a development methodology for knowledge-based systems","authors":"R. Plant","doi":"10.1145/98949.99053","DOIUrl":"https://doi.org/10.1145/98949.99053","url":null,"abstract":"Thus, the relationship between testing and quality can be seen. In order to have a quality product, which in this case is software, we need to ensure that it meets its requirements. This can be considered a validation and verification process and can be approached through the use of testing, where the use of more accurate testing mechanisms leads to increases in the level of system correctness and hence increases in quality.","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115850318","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM-SE 28Pub Date : 1990-04-01DOI: 10.1145/98949.99131
S. Bailey
{"title":"An overview of parallel processing languages","authors":"S. Bailey","doi":"10.1145/98949.99131","DOIUrl":"https://doi.org/10.1145/98949.99131","url":null,"abstract":"Numerous parallel processing languages have been developed and implemented to take advantage of multiprocessor architec tures. Some of these languages are familiar, sequential languages with the addition of new constructs for parallel processing. Others are languages especially designed to be used in a multiprocessor environment. This paper gives an overview of existing parallel processing languages, all of which have been implemented. First, the charac terizing issues of how a language describes parallelism and inter-process communication is discussed. Then, a brief description of eight parallel processing languages is given. Each language is classified into the program ming model used (imperative, functional, logical, or object-oriented) and how each handlçs the issues of parallelism and com munication.","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115067188","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM-SE 28Pub Date : 1990-04-01DOI: 10.1145/98949.99097
J. Mookherje, N. Prabhakaran
{"title":"An object-oriented representation of semantic and graphic interrelationships","authors":"J. Mookherje, N. Prabhakaran","doi":"10.1145/98949.99097","DOIUrl":"https://doi.org/10.1145/98949.99097","url":null,"abstract":"Several semantic modeling schemes represent the semantic properties of objects. Similarly many graphic presentation tools exist which represent the graphic properties of objects. However, most of the objects in the real world have both semantic and graphic properties simultaneously. We focus our attention on the interrelationship that exists between the graphic and the semantic properties of objects. We choose an objectoriented approach and introduce the following concepts: (i) the link between semantic and graphic properties, and (ii) the space ratio. The semantic properties of an entity are represented by an S-space, while the graphical properties are represented by an G-space. These two spaces consist of S-objects and Gobjects which are instances of Sclasses and G-classes respectively. For each semantic object, we have its corresponding S-class, and for each graphic object, we have its correspnding G-class. S-class : Each S-class may have an instance variable of type G-class. Each S-object may or may not have a reference to a corresponding G-object. Only tangible objects will have their S-object referring to a corresponding G-object. G-class : Each G-class will have an instance variable of type S-class. For each graphic class (object), a corresponding semantic class (object) must exist. S-space : S-space is an acyclic graph structure of S-classes for the semantic","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117288587","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM-SE 28Pub Date : 1990-04-01DOI: 10.1145/98949.99009
F. Wallace, Judy Solano
{"title":"Debugging program design documents: graphics vs text-based methodologies","authors":"F. Wallace, Judy Solano","doi":"10.1145/98949.99009","DOIUrl":"https://doi.org/10.1145/98949.99009","url":null,"abstract":"Algorithm design representations can be divided into two classes: text-based (such as, pseudocode and Structured English) or graphic-based (such as, NassiShnciderman and Wamier-OrT). While both types have their proponents, most of the research has been directed toward building the algorithm; very little work has been done to evaluate these techniques with regard to algorithm maintenance. Kammann (1975) studied flowchart vs prose instructions for 16 problems using two groups of people; technically-oriented (Bell Laboratory personnel) and non-technically-oriented (suburban housewives). This research employed two types of flowcharts and English prose to describe procedures used with a complex telephone system. The tasks were 16 standard dialing problems concerning the basic uses of the telephone system. Both groups of subjects were able to complete the tasks faster with flowcharts than with prose. Also, the number of logical errors was less when the subjects used flowcharts than when they used prose instructions. While Kammann's research docs provide interesting data, the study was not oriented toward computer applications. The prose was short English sentences that arc, by their nature, highly unstructured and potentially vague. Textual design techniques, such as pseudocode, are structured and, therefore, make the solution steps somewhat less ambiguous.","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117168940","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM-SE 28Pub Date : 1990-04-01DOI: 10.1145/98949.99153
Ali Keskin
{"title":"Strategies for deductive databases","authors":"Ali Keskin","doi":"10.1145/98949.99153","DOIUrl":"https://doi.org/10.1145/98949.99153","url":null,"abstract":"There has recently been a growing interest in combining the technologies of database management, artificial intelligence and logic programming to produce deductive database systems. An increasing number of applications, including CAD/CAM, office automation, military and medical applications, which deal with large amounts of data and require knowledge-directed processing of these shared data, necessitate this combi nation. This paper discusses the current strategies for deductive databases. It attempts to provide a well organized categorization of the current approaches from the point of views of their overall architecture and how successful they could ultimately be. Particular emphasis is given to query processing strategies for deductive databases. Although the paper mainly refers to the rela tional databases, the main motivation for us for this survey was the need to implement efficient rule evalua tion mechanisms for Active KDL, an object-oriented database system, which is currently under development at the University of Georgia. This led us to view the current strategics for deductive databases from an object-oriented point of view as well.","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125886802","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM-SE 28Pub Date : 1990-04-01DOI: 10.1145/98949.99157
K. Devarajan
{"title":"A user interface system for automated guided vehicles","authors":"K. Devarajan","doi":"10.1145/98949.99157","DOIUrl":"https://doi.org/10.1145/98949.99157","url":null,"abstract":"A considerable cost is incurred in today’s manufacturing industry in the process of manually moving components between work stations. One possible means of reducing this cost may be found through the u se of computer-controllable Automated Guided Vehicles (AGVs). However, development of suitable computer software for the specific require ments of a plant, in a cumbersome, machine-oriented AGV Operational Language, has hindered the wide spread use of AGVs. Development of such software is virtually impossible for the typical AGV-user, a non-programmer. This paper presents a tool that enables a non-programmer to specify an AGVs functions for a dynamic manufacturing plant and automatically gene rates the required control software. Various approa ches considered for developing such a tool are analyzed. Finally an implementation of one approach at the Clemson Apparel Research plant is discussed.","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130633100","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM-SE 28Pub Date : 1990-04-01DOI: 10.1145/98949.99044
S. Wallace
{"title":"Exploiting non-inherent parallelism in an internal mergesort","authors":"S. Wallace","doi":"10.1145/98949.99044","DOIUrl":"https://doi.org/10.1145/98949.99044","url":null,"abstract":"Sorting and searching large data sets are two of the most widely re searched topics in the field of Com puter Science. Many sorting algorithms have been discovered, each with its own advantages and disadvantages (see [3] and [4] for examples). We present an algorithm which effectively utilizes a shared-memory, multi-processor to merge two large sorted lists. This algorithm exploits more parallelism than that inherent in the typical mergesort al gorithm and gets excellent 3peedups. We report the results of sorting a vec tor of 50,000 initially randomly or dered integers on each of four ma chines: a Sequent Balance 21000, a Sequent Symmetry, an Encore Multimax, and an Alliant FX/8.","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125224871","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM-SE 28Pub Date : 1990-04-01DOI: 10.1145/98949.99123
A. Youssefi, D. E. Stevenson
{"title":"An intermediate language for vector processors","authors":"A. Youssefi, D. E. Stevenson","doi":"10.1145/98949.99123","DOIUrl":"https://doi.org/10.1145/98949.99123","url":null,"abstract":"The underlying architecture of a vector processor is different from that of a sequential machine. In addition, there arc also different kinds of vector processors based upon the hardware implementation of vector instructions. Therefore, new software such as programming languages, compilers, operating systems, etc. must be developed which run on these machines. High-level languages for vector processors can be classified into two groups. The first includes sequential languages such as Fortran, Pascal, C, etc. These languages do not explicitly specify vector operations; hence, it becomes the task of the compiler or precompiler to construct vector operations from the sequential code. The second group simplifies the task of the compiler by allowing the programmer to explicitly specify vector operations. Both types of languages have advantages and disadvantages. As a result of the above discussion one would expect there to be many different languages and many different machines. To match languages to machines, one approach is to write a different compiler for each high-level language and each machine. An alternative is to have a common semantic processing program that could interface to different machine-dependent code generators. This second approach could use a common intermediate language as input. The objective is to specify a vector intermediate language, VIL, and to specify machine-independent optimization issues for vector processors. For selecting the intermediateoperationswe have looked at a number of numerical linear algebra algorithms such as Gaussian elimination, matrix multiplication, a set of the most common vector operation subprograms called the Basic Linear Algebra Subprograms (BLAS) , vector languages, and vector processor instruction sets. In addition, some optimization issues are considered. Permission lo copy without fee all or port of this material is granted provided that the copies are not made or distributed for direct com mercial advantage, the ACM copyright notice and the title of the puhlicaiion and its dale appear, and notice Is given that copying is by permission of the Association for Computing Machinery, To copy otherwise, or to republish, requires a fee and/« » specific per mission. The operations and informations in the intermediate language can be classified as follows: Scalar operations. which take one or two scalars and the result is also a scalar as in sequential machines. Vector operations, which take two vectors, or one vector and one scalar, and produce a vector or a scalar as a result. Examples are vector addition, vector multiplication, element by clement division, and dot product. Matrix operations, which take a matrix as one or more of their arguments such as matrix transposition,addition,subtraction, and multiplication. Idioms and user-defined informations. which help the compiler generate better code for vector processors by saving storage and/or computations. If a parser is aware of the shape or the co","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133068750","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
ACM-SE 28Pub Date : 1990-04-01DOI: 10.1145/98949.99048
W. Wand, Y. Li
{"title":"Experiences vectorizing software for elliptic partial differential equations","authors":"W. Wand, Y. Li","doi":"10.1145/98949.99048","DOIUrl":"https://doi.org/10.1145/98949.99048","url":null,"abstract":"ELLPACK is a FORTRAN-based package for solv ing elliptic partial differential equations; this package contains over 100 modules, each typically consisting of a number of subroutines. The enhancement of six ELLPACK modules to take advantage of the vector pro cessing capabilities of Cray supercomputers is discussed and variations in performance due to the use of three different compilers are also noted. Speedup factors arc computed which quantify improvements due to program optimization as well as the compiler effects. Graphic per formance profiles showing CPU time versus grid size arc presented. 1. Statement of the Problem One of the most important models of physical phenomena is the boundary-value problem. Examples of such phenomena include heat flow and diffusion, gravita tional and electrostatic potentials, fluid dynamics, and loading of beams, plates, and other objects. Because of this, much effort has been devoted to the development of reliable methods for numerically solving these equations. The underlying mathematical problem addressed by these methods is a second-order elliptic boundary-value prob lem consisting of a partial differential equation (PDE) Lu = auu + Ibiiry + ctiyy + duz + euy + fu = g (1) defined on a domain R and its accompanying boundary conditions","PeriodicalId":409883,"journal":{"name":"ACM-SE 28","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123003546","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}