ppxscal/embedding_network huggingface dataset:
Subcontract: a flexible base for distributed programming
Authors: Graham Hamilton, Michael L. Powell, James G. Mitchell
Venue: Proceedings of the fourteenth ACM symposium on Operating systems principles (1994)

A key problem in operating systems is permitting the orderly introduction of new properties and new implementation techniques. We describe a mechanism, subcontract, that within the context of an object-oriented distributed system permits application programmers control over fundamental object mechanisms. This allows programmers to define new object communication mechanisms without modifying the base system. We describe how new subcontracts can be introduced as alternative communication mechanisms in the place of existing subcontracts. We also briefly describe some of the uses we have made of the subcontract mechanism to support caching, crash recovery, and replication.
An annotated bibliography on software process improvement
Authors: Alfonso Fuggetta, Gian Pietro Picco
Venue: ACM SIGSOFT Software Engineering Notes (1994)

Software process improvement is a critical problem that is currently addressed both at the academic and industrial level. The field is relatively young, and there is no "ultimate approach" to the problem. The related scientific literature is rapidly growing, and is more and more difficult to make our way in the plethora of different perspectives, approaches, and case studies. This paper provides a guide to the process improvement literature: we think that both newbies and experts of this field can take advantage from it.
GRPC: a communication cooperation mechanism in distributed systems
Authors: Xingwei Wang, Hong Zhao, Jiakeng Zhu
Venue: ACM SIGOPS Operating Systems Review (1993)

RPC (Remote Procedure Call) is very popular in distributed application design. However, most existing RPC systems have some defects on parallelism and reliability and transparency, they can only support point-to-point and(or) broadcast communication. We try to bring the process group concept into RPC systems and present a new kind of communication cooperation mechanism supporting the cooperation among distributed entities in distributed systems. We call it GRPC(Group Remote Procedure Call) mechanism. According to different application background, the related GRPC mechanism are named lookup, function-convergence and update GRPC. The prototype systems of these three specific classes of GRPC mechanisms have been implemented in the local area network which consists of SUN 4 workstations. The performance evaluation on these prototype systems has been made. Practice has shown: the GRPC mechanism can not only improve the parallelism, reliability and transparency of RPC systems, but also enable RPC systems to support group communication.
AN is department dealing with end-user computing: a case study
Authors: Eelko K. R. E. Huizingh
Venue: Proceedings of the 1993 conference on Computer personnel research (1993)

During the eighties end-user computing has rapidly grown and has become an irreversible phenomenon. Information Systems departments are facing a highly changed environment that calls for new strategies. Finding new strategies is even more important because not only the advantages of end-user computing are widely recognized, but end-user computing includes some potential organizational risks too. Trying to control end-user computing can easily be regarded as a frontal attack on employee productivity. Therefore, a well thought-out and carefully implemented strategy is required. This case study describes the rise of end-user computing at a marketing department. To deal with the rapidly changing environment, the IS department selected a strategy of mastering, in the same way as it always mastered new applications of information technology. However, this strategy was unsuccessful. The IS department has failed to control, or even lead the rise of end-user computing. It became engaged in a struggle with the users, which it was bound to lose. It lost initiative, its knowledge monopoly, and finally control to the end-users. The IS department failed to find a new balance between meeting user requirements and pursuing its own goals, which were mainly related to typical IS-topics as compatibility of hardware and software, preventing data redundancy, maintaining integrity and consistency of data, etc. The conclusion of this case study is that in order to find a successful strategy it is essential that the IS department is aware of its role in the organization. In most organizations this will be limited to a supporting one. This clarifies the necessity to find a balance between IS related goals and meeting user requirements.
Symmetry in self-correcting cellular automata
Authors: Nicholas Pippenger
Venue: Journal of Computer and System Sciences (1994)

We study a class of cellular automata that are capable of correcting finite configurations of errors within a finite amount of time. Subject to certain natural conditions, we determine the geometric symmetries such automata may possess. In three dimensions the answer is particularly simple: such an automaton may be invariant under all proper rotations that leave the underlying lattice invariant, but it cannot be invariant under the inversion that takes each configuration into its mirror image.
Bug analysis of Pascal programs
Authors: K. S. R. Anjaneyulu
Venue: ACM SIGPLAN Notices (1994)

The paper first looks at issues related to the teaching of programming. Solutions to two programming problems written by participants new to the Pascal programming language are analyzed. The types of bugs which were detected in these programs are then described. Results of such analyses could perhaps help in improving the way programming is taught.
Transforming acyclic programs
Authors: Annalisa Bossi, Sandro Etalle
Venue: ACM Transactions on Programming Languages and Systems (TOPLAS) (1994)

An unfold/fold transformation system is a source-to-source rewriting methodology devised to improve the efficiency of a program. Any such transformation should preserve the main properties of the initial program: among them, termination. In the field of logic programming, the class of acyclic programs plays an important role in this respect, since it is closely related to the one of terminating programs. The two classes coincide when negation is not allowed in the bodies of the clauses. We prove that the Unfold/Fold transformation system defined by Tamaki and Sato preserves the acyclicity of the initial program. From this result, it follows that when the transformation is applied to an acyclic program, then the finite failure set for definite programs is preserved; in the case of normal programs, all major declarative and operational semantics are preserved as well. These results cannot be extended to the class of left-terminating programs without modifying the definition of the transformation.
An incremental approach to software engineering in a science-based computing curriculum
Authors: David Cordes, Allen Parrish
Venue: Proceedings of the 1993 ACM conference on Computer science (1993)

The instruction of software engineering within the discipline of computing must not only focus on the development of software, but also provide a process by which the student can improve and evolve their software engineering skills. The student's abilities (in software engineering) must be 'scaled-up' in a logical and orderly process. A student in computer science should, at graduation, be capable of integrating cleanly and smoothly into a real-world, group-oriented software development environment. A modified curriculum is presented that permits this 'scaling-up' to occur.
Combining optimism and pessimism to produce high availability in distributed transaction processing
Authors: Joel M. Crichlow
Venue: ACM SIGOPS Operating Systems Review (1994)

In a distributed system some or all of the data items are replicated and stored at separate nodes. This increases the availability of these items and it is then possible to complete transactions faster than in single node systems. Hovever the concurrent processing of transactions at separate nodes can generate inconsistencies in the stored information. Some mechanism must be employed to address the inconsistencies that can arise. A system has been designed that allows a transaction to be processed immediately (optimistically) at any individual node in a replicated system as long as the transaction satisfies a cost bound criterion. Such a transaction can make external responses but it does not alter the database. All transactions are also run in a global one-copy serializable manner (pessimistically) at which time their updates are committed. It may be necessary to make another external response. The transaction processing system is expressed as a simple computational model and the correctness of the system is discussed.
Identification of parallelism in neural networks by simulation with language J.
Authors: Alexei N. Skurihin, Alvin J. Surkan
Venue: ACM SIGAPL APL Quote Quad (1993)

Neural networks, trained by backpropagation, are designed and described in the language J, an APL derivative with powerful function encapsulation features. Both the languages J [4,6,7] and APL [5] help to identify and isolate the parallelism that is inherent in network training algorithms. Non-critical details of data input and derived output processes are de-emphasized by relegating those functions to callable stand-alone modules. Such input and output modules can be isolated and customized individually for managing communication with arbitrary, external storage systems. The central objective of this research is the design and precise description of a neural network training kernel. Such kernel designs are valuable for producing efficient reusable computer codes and facilitating the transfer of neural network technology from developers to users.
Towards a discipline of class composition
Authors: Franz Weber
Venue: ACM SIGPLAN OOPS Messenger (1993)

Assembling classes to form systems is a key concept in object-oriented software development. However, in order to be composed, classes have to be compatible in a certain way. In current object-oriented languages the compatibility with a specific behaviour is expressed by inheritance from a class which describes this behaviour. Unfortunately inheritance is neither intended to express compatibility nor does it enforce compatibility. This deficiency may lead to inconsistent systems. Therefore, in the Project &ldquo;10&ndash;14&rdquo; inheritance is restricted to express compatibility between classes. Two kinds of compatibilities are distinguished: compatibility required for the integration of subsystems (conformance) and compatibility required for reuse (imitation). A formal basis for the discipline is developed in order to get mathematically precise notions and to enable the verification of object-oriented systems. A design strategy is built on top of these compatibility notions. In actual case studies the discipline has already shown to support a clean design and to promote the reusability of class hierarchies.
Advances derived from real-world experiences: an INTERCHI '93 workshop report
Authors: Michael E. Atwood
Venue: ACM SIGCHI Bulletin (1994)

The INTERCHI workshop titled "Human-Computer Interaction Advances Derived from Real-World Experiences" began as a discussion of personal experiences in doing HCI (human-computer interaction) work in real-world settings. It concluded with discussion of some of the "tricks of the trade" for applying HCI in the real world and with suggestions for using the CHI and INTERACT conferences as vehicles of change for prompting more real-world applications, of HCI. The latter set of suggestions, we present as challenges to the INTERCHI and CHI communities.
Job characteristic preference-reality discrepancies and the job and career attitudes of I/S professionals
Authors: Stanley J. Smits, John R. Tanner, Ephraim R. McLean
Venue: Proceedings of the 1993 conference on Computer personnel research (1993)

A post-employment followup survey of I/S professionals was used to assess the characteristics of the respondents' present jobs and their career and job attitudes. Present job characteristics were compared to the job preferences expressed by the respondents prior to graduation. Significant preference-reality mean score differences were found for 15 of the 20 I/S job characteristics. Each respondent's preference-reality job characteristics discrepancy score was calculated and used in a series of multiple regression analyses as the independent variables with their job and career attitudes serving as the dependent variables. The results of the multiple regression analyses support the theoretical construct that attitudes are related to need fulfillment.
Simulation of communications architecture specifications using Prolog
Authors: Wayne Citrin
Venue: ACM SIGAPP Applied Computing Review (1993)

The design of the Cara simulator, a Prolog-based simulator for communications architecture specifications, is described. Unlike other Prolog-based simulation methods, the Cara simulator supports &ldquo;exploratory simulation&rdquo;, in which high-level, incomplete specifications may be simulated, and various specification alternatives and elaborations added to the specification during the course of the simulation. Unlike other simulation methods, which construct Prolog procedures whose behavior models that of the specification, our simulator maintains execution traces of simulated protocol behavior and adds to these traces through the application of rules of inference reflecting the protocol behavior. This method provides a flexibility not found in other approaches.
Computer based systems&mdash;total quality management and new organizational structures
Authors: F. A. Wilson
Venue: Proceedings of the 1994 computer personnel research conference on Reinventing IS : managing information technology in changing organizations: managing information technology in changing organizations (1994)

The increasing adoption of computer technology within service sector organizations has generated many studies of how effective use may be made of such systems. In this paper an analysis is made of one such implementation and an appraisal made of the way in which the interaction between the total quality management &ldquo;philosophy&rdquo; and computer based systems may evolve new forms of managerial structures and controls.
Variants of matrix-matrix multiplication for Fortran-90
Authors: Craig C. Douglas, Gordon Slishman
Venue: ACM SIGNUM Newsletter (1994)

The Fortran-90 standard requires an intrinsic function matmul which multiplies two matrices together to produce a third as the result. However, the standard does not specify which algorithm to use. We consider an extension to the matmul syntax which allows a Winograd variant of Strassen's algorithm to be added. We discuss an implementation that is in a commercial Fortran-90 offering.
Completeness and predicate-based abstract interpretation
Authors: Alan Mycroft
Venue: Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation (1993)

Traditionally, the theory of abstract interpretation has concentrated on the study of when one interpretation is sound (also safe or correct) with respect to another. We consider the dual notion of when one interpretation is complete with respect to another. Under the usual formulation of abstract interpretation, undecidability in general implies that a finitely computable sound abstraction of the standard interpretation is not complete. (For example, if we simplify 643 * (-192) to (+) * (-) using the &ldquo;rule of signs&rdquo; we cannot expect to retrieve -123456 from the resulting (1), even though we are certain that the result is negative.) Based on the idea that compilers can only depend on a finite number of program properties, we augment interpretations with predicate symbols specifying properties of interest (thereby replacing algebraic interpretations with logic interpretations). Interpretation J being sound (resp. complete) with respect to I is now phrased as &ldquo;all questions (formulae) yielding true for J (resp. I) also yield true for I (resp. J)&rdquo;. The traditional &ldquo;rule of signs&rdquo; turns out to be sound and complete for multiplication but only sound for addition. Sometimes abstract interpretations have spurious domain elements. The state minimisation algorithm for finite deterministic automata can be used to produce a canonical (simplest) abstract interpretation which is sound and complete with respect to any given finite abstract interpretation but possibly simpler to compute. A homomorphism always yields a sound and complete abstraction. Moreover, we show that a sound and complete abstraction map is not necessarily a homomorphism, but its composition with the natural map to the canonical interpretation is a homomorphism, One side-effect of our formulation of abstract interpretation is that it de-emphasises the ordering on the abstract domain which is relegated to an (optional) proof basis.
STATEMATE applied to statistical software testing
Authors: P. Thévenod-Fosse, H. Waeselynck
Venue: ACM SIGSOFT Software Engineering Notes (1993)

This paper is concerned with the use of statistical testing as a verification technique for complex software. Statistical testing involves exercising a program with random inputs, the test profile and the number of generated inputs being determined according to criteria based on program structure or software functionality. In case of complex programs, the probabilistic generation must be based on a black box analysis, the adopted criteria being defined from behavior models deduced from the specification. The proposed approach refers to a hierarchical specification produced in the STATEMATE environment. Its feasiblity is exemplified on a safety-critical module from the nuclear field, and the efficiency in revealing actual faults is investigated through experiments involving two versions of the module.
High performance Fortran language specification
Authors: CORPORATE Rice University
Venue: ACM SIGPLAN Fortran Forum (1993)

(PART I)Fortran Forum is reprinting this High Performance Fortran Language Specification over several issues. The current issue is devoted to the first four chapters of the HPFF Language Specification. Remaining chapters of the HPFF Language Specification, and the HPFF Journal of Development, will be printed in installments in filture issues of Fortran Forum.
Information Filtering: Selection Mechanisms in Learning Systems
Authors: Shaul Markovitch, Paul D. Scott
Venue: Machine Learning (1993)

Knowledge has traditionally been considered to have a beneficial effect on the performance of problem solvers but recent studies indicate that knowledge acquisition is not necessarily a monotonically beneficial process, because additional knowledge sometimes leads to a deterioration in system performance. This paper is concerned with the problem of harmful knowledge: that is, knowledge whose removal would improve a system's performance. In the first part of the paper a unifying framework, called the information filtering model, is developed to define the various alternative methods for eliminating such knowledge from a learning system where selection processes, called filters, may be inserted to remove potentially harmful knowledge. These filters are termed selective experience, selective attention, selective acquisition, selective retention, and selective utilization. The framework can be used by developers of learning systems as a guide for selecting an appropriate filter to reduce or eliminate harmful knowledge.In the second part of the paper, the framework is used to identify a suitable filter for solving a problem caused by the acquisition of harmful knowledge in a learning system called LASSY. LASSY is a system that improves the performance of a PROLOG interpreter by utilizing acquired domain specific knowledge in the form of lemmas stating previously proved results. It is shown that the particular kind of problems that arise with this system are best solved using a novel utilization filter that blocks the use of lemmas in attempts to prove subgoals that have a high probability of failing.
Distribution in a single address space operating system
Authors: Jeff Chase, Valérie Issarnay, Hank Levy
Venue: ACM SIGOPS Operating Systems Review (1993)

The recent appearance of architectures with flat 64-bit virtual addressing opens an opportunity to reconsider the way our operating systems use virtual address spaces. We are building an operating system called Opal for these wide-address architectures. The key feature of Opal is a single global virtual address space that extends to data on long-term storage and across the network. Hardware-enforced memory protection exists within this single address space.This paper outlines our ideas for extending Opal to a distributed environment, focusing on the naming and binding of data and services to allow uniform treatment across the network. Our central point is that although the meaning of names (i.e., the entities denoted by those names) should be uniform throughout the network, at a lower level the binding of names to physical data or servers may vary with the node uttering the name, in order to accommodate caching, replication, and migration. This principle affects Opal's handling of both data names (virtual addresses) and resource names (capabilities).
A formalism for specifying communicating processes
Authors: Fuyau Lin
Venue: Proceedings of the 1993 ACM conference on Computer science (1993)

We present a framework to specify and validate the design of message passing systems with synchronous or asynchronous communications. Our approach allows users to represent concurrent systems in a novel language and to justify the design automatically using the simulator. The method handles safety and deadlock properties. Concurrent systems are specified in an operational manner by transition systems. This tool is built for analyzing the logical consistency of communicating processes, specifically systolic-arrays and communication protocols. We describe how a systolic array and a communication protocol can be specified and justified with respect to its design.
Anticipated benefits of new information systems: the role of the proposer
Authors: Rajesh Mirani, Albert L. Lederer
Venue: Proceedings of the 1994 computer personnel research conference on Reinventing IS : managing information technology in changing organizations: managing information technology in changing organizations (1994)

The assessment of the anticipated benefits of new information systems is important to the process of information system planning. A study of the anticipated benefits of 178 projects revealed nine benefits factors: improved information, strategic advantage, return on investment, reduced technology cost, better applications development, reduced travel costs, reduced workforce costs, business redesign, and adherence to government regulations.A variety of personnel propose new information systems. User departments are the most active proposers. Top management and IS departments are about equally active and strategic planning groups are considerably less active. User departments and top management propose more strategic advantage applications than do IS department or strategic planning groups. IS departments most actively propose reduced technology cost and better applications development applications while user departments propose improved information, return on investment, reduced workforce costs, business redesign, and adherence to government regulations applications.