No abstract available.
A method for asynchronous parallelization
Asynchronous parallelization assists the utilization of parallel hardware by sequential software: A sequential program is decomposed into a program network according a given partition. Each generated program may run autonomous, dependencies are realized ...
On the influence of scale in a distributed system
Scale should be recognized as a primary factor influencing the architecture and implementation of distributed systems. This paper uses Andrew, a distributed environment at Carnegie Mellon University, to validate this proposition. The design of Andrew is ...
Programming at the processor-memory-switch level
Users of networks of heterogeneous processors are concerned with allocating specialized resources to tasks of medium to large size. They need to create processes, which are instances of tasks, allocate these processes to processors, and specify the ...
Theory-W software project management: a case study
The search for a single unifying principle to guide software project management has been relatively unrewarding to date. Most candidate principles are either insufficiently general to apply in many situations, or so general that they provide no useful ...
Software development productivity tools and metrics
The continuing emphasis on improving productivity in the building of software has resulted in clearer definitions of software quality and software engineer productivity, and a greater interest by management and software engineer alike in the tools and ...
Integrated support for project management
Conventional `off-line` project management tools are being overtaken by integrated project support environments which are capable of imposing more direct control over project activities. Such environments can lead to a more systematic approach to ...
Models of software development environments
We present a general model of software development environments that consists of three components: policies, mechanisms and structures. The advantage of this formalization is that it distinguishes precisely those aspects of an environment that are ...
SDA: A novel approach to software environment design and construction
- K. Kishida,
- T. Katayama,
- M. Matsuo,
- I. Miyamoto,
- K. Ochimizu,
- Nobuo Saito,
- Johner H. Sayler,
- K. Torii,
- L. G. Williams
A Software Designer's Associate (SDA) is a workstation-based collection of tools which support: 1) the description, evaluation and comparison of software system architectural designs, and 2) cooperation among, and management of, a team of software ...
Rigi-A system for programming-in-the-large
This paper describes Rigi, a model and a tool for programming-in-the-large. Rigi uses a graph model and abstraction mechanisms to structure and represent the information accumulated during the development process. The objects and relationships of the ...
Design and test of distributed applications
It is well known that programming and testing distributed systems can be extremely difficult. Reasons for this include non-deterministic behavior, non-reproducibility of events, complex timing of events, and complex states. This paper presents a ...
Software engineering for distributed applications: the design project
The DESIGN project combines a set of new approaches to software engineering for distributed applications. Distributed applications may thereby consist of a large, varying number of interacting processes. Specific problems encountered with the ...
Using raddle to design distributed systems
We describe our linguistic tool, Raddle, and its use in designing distributed systems. Raddle coordinates concurrent processes with the n-party interaction, a new high-level communication primitive. Another important feature of Raddle is the team, which ...
Heuristic software partitioning algorithms for distributed real-time applications
This paper deals with the problems of software partition for distributed real-time applications. The software partitioning models analyzed are those that take maximizing the efficiency in resource utilization for their objective, while observing the ...
Requirements analysis for real time automation projects
It is in general accepted that the development of software consists of a series of activities which in ideal case follows one another sequentially. This general concept is represented through several life-cycle models, among which the most renowned ...
Tools for real time system design
This paper describes the development of a toolset that supports the specification and design of large real time systems. The starting point is the evolution of a method suitable for use in practical environments; for example in the specification of ...
Assessing the quality of abstract data types written in ADA
As software systems have become more complex, a search for better abstraction mechanisms has led to the use of abstract data types (ADTs). To more appropriately use ADTs, however, it is imperative that their properties and characteristics be understood. ...
Modeling mutation on a vector processor
Mutation analysis is a software testing methodology designed to substantiate the correctness of a program Φ. The mutation approach is to induce syntactically correct changes in Φ, thereby creating a set of mutant programs. The goal of a tester is to ...
A review of automated debugging systems: knowledge, strategies and techniques
Our review is based on descriptions of 18 existing automated systems on program debugging and of a dozen cognitive studies on debugging. We propose a classification of debugging knowledge, and a description of the corresponding knowledge representation ...
Software process modeling: a behavioral approach
Recently, the software engineering community has focused its attention on the process of software creation and evolution as well as the products of that process. Much of this attention has concentrated on modeling the software process. Software process ...
Validating the TAME resource data model
This paper presents a conceptual model of software development resource data and validates the model by reference to the published literature on necessary resource data for development support environments. The conceptual model presented here was ...
Modeling software tools with ICON
This paper describes a new software test automation tool, a powerful new programming language, and the software development process that resulted when these tools were combined. A small development team of software developers and potential customers ...
Static Analysis-based program evolution support in the common lisp framework
The Common Lisp Framework(CLF) is an object-oriented environment to support the development and maintenance of programs written in the language Common Lisp. A static analysis tool, which is part of CLF, supports program evolution in CLF. Since the ...
Modeling of data-processing software for generating and reusing their programs
We propose a new modeling scheme named S-model (which is the abbreviation of “Semantic model”) based on a uniform object-relationship formalism. S-model is the mixture of notations in logic, set theory, and abstract syntax and covers wide range of ...
Interpretation in a tool-fragment environment
The philosophy of composition of new software tools from previously created tool fragments is a useful approach to facilitating the development of software systems. This paper examines the extension of this philosophy to the design of program ...
Implications of hardware advances for software development
During the past few years, advances in hardware technology have significantly changed the nature of software development. In the 1970's, the model of software development environments changed from batch processing to time sharing, with all software ...
Demeter: a case study of software growth through parameterized classes
Demeter™ is a system designed for the development of large software projects using a new software design methodology which focuses on growing rather than building software. We describe the software development process as one of growth and evolution as ...
A programming environment supporting reuse of object-oriented software
We have developed a programming environment for object-oriented programming. This environment supports reuse of classes, especially retrieval of them with an expert system. The user can find classes and methods by describing the features of objects and ...
Extension and software development
Enhancement is the most costly phase of the software development life-cycle. By developing an extension mechanism that allows users to augment a software system without modifying the underlying source code, we address enhancement directly. We describe ...
An operational requirement description model for open systems
Requirement engineering has been successfully applied to many superficial problems, but there has been little evidence of transfer to complex system construction. In this paper we present a new conceptual model which is for incomplete requirement ...
Language and visualization support for large-scale concurrency
SDL (Shared Dataspace Language) is a language for writing and visualizing programs consisting of thousands of processes executing on a highly-parallel multiprocessor. SDL is based on a model in which processes use powerful transactions to manipulate ...
Index Terms
- Proceedings of the 10th international conference on Software engineering