leff@smu.CSNET (Laurence Leff) (04/20/87)
The following abstracts describe Non-Proprietary Technical Reports available from MCC's Software Technology Program. Please send requests to the person in the sign off banner. ******************************************************************** SOFTWARE TECHNOLOGY PROGRAM TECHNICAL REPORTS (Non-Proprietary) (Updated April 6, 1987) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-053-85 DATE ISSUED: July 22, 1985 TITLE: A Distributed Algorithm for N-Party Interactions AUTHOR(S): Rajive Bagrodia ABSTRACT: Presents distributed algorithm to implement generalized alternative construct, which allows a process to select one of several possible n-party interactions (n-process rendezvous) for execution. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-113-85 DATE ISSUED: October 18, 1985 TITLE: An introduction to temporal logic and its application to software systems. AUTHOR(S): ABSTRACT: (In preparation; due in 2nd half 1986) CLASSIFICATION: REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-117-85 DATE ISSUED: October 18, 1985 TITLE: Support for Exploratory Design AUTHOR(S): Jeff Conklin and Charles Richter ABSTRACT: Paper presented at 1985 AIAA Computers in Aerospace Conference and appears in the proceedings of that conference. A snapshot, taken in August, of an evolving theory of the dimensions of the design space and the relationships between objects in that space. While our ideas have changed considerable since this paper was written, the paper is indicative of the scope of this work. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-125-85 (OUT OF CIRCULATION) DATE ISSUED: October 30, 1985 TITLE: BiggerTalk: Object-Oriented Prolog AUTHOR(S): Eric Gullichsen ABSTRACT: BiggerTalk is a system of Prolog routines which provide capability for object-oriented programming in Prolog. When compiled into standard Prolog environment, the Biggertalk system permits programming in object-oriented style of message passing between objects, themselves defined as components of a poset (the `inheritance structure') created through other Biggertalk commands. An exploration of integration of logic programming and object-oriented computational metaphors is also conducted. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-053-86 DATE ISSUED: February 25, 1986 TITLE: BiggerTalk* = BiggerTalk + Gordion AUTHOR(S): Eric Gullichsen ABSTRACT: BiggerTalk is a system of Prolog routines that provides a capability for object-oriented programming in Prolog. When compiled into a standard Prolog environment, the BiggerTalk system permits programming in the object-oriented style. The aim of the development of BiggerTalk* was to provide a tool to: (1) Explore the integration of logic programming and object-oriented computational metaphors, (2) Experiment with inheritance strategies, and (3) Act as a local front-end programming environment for Gordion, the MCC-STP Object Server, a shared persistent repository of objects. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-182-85 DATE ISSUED: February 27, 1986 TITLE: Raddle - An Informal Introduction AUTHOR(S): Ira R. Forman ABSTRACT: Raddle is a new model for the design of distributed systems. The two main (and novel) features of the model are the synchronization/communication primitive, called interaction, and the abstraction mechanism, called a team. An interaction is an N-party synchronization that allows multiway communication among the parties. The team provides a mechanism for building complex interactions from primitive interactions. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-078-86 DATE ISSUED: March 10, 1986 TITLE: Design Technology Assessment: Overview AUTHOR(S): Susan L. Gerhart ABSTRACT: The purpose and structure of the Software Technology Program Design Process Group Technology Assessment project are described. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-107-86 DATE: March 20, 1986 TITLE: Design Technology Assessment: The Statecharts Approach AUTHOR(S): Glenn R. Bruns, Susan L. Gerhart, Ira Forman, Michael Graf ABSTRACT: The technology assessed is "Statecharts", a visual formalism for presenting and analyzing specifications of reactive systems. This report provides additional understanding gained from an intensive two-week study to supplement two attached technical reports by the originators of the Statecharts methods and technology. An example, the lift problem, is described in some detail to illustrate the methods and the lessons learned during the study. Assessments are made for both the originators' goals and the goals of STP. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-097-86 DATE: March 31,1986 TITLE: petri - A UNIX Tool for the Analysis of Petri Nets AUTHOR(S): Ira R. Forman ABSTRACT: An analyzer of Petri nets is described. Petri nets are a tool for modeling concurrent systems. The program supports three forms of analysis: simulation, reachability analysis, and invariant analysis. The combination of these forms of analysis yields an engineering tool that should be useful in many software engineering environments. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-113-86 DATE: April 3, 1986 TITLE: Software Psychology: The Need for an Interdisciplinary Program AUTHOR(S): Bill Curtis, Elliott Soloway, Ruven Brooks, John Black, Kate Ehrlich, H. Rudy Ramsey ABSTRACT: This paper was prepared for the National Science Foundation and has been revised and updated for publication in the Proceedings of the IEEE. This review focuses on the state of the art in software psychology - the study of human factors in computer sstems. One area of software psychology, the psychology of programming, is picked for an in-depth discussion of research results. The review then discusses the methodological issues involved in performing experimental research in software psychology. Future trends are discussed both for the programming research reviewed here and for the whole field of software psychology. The conclusions identify multidisciplinary training and research as critical to further progress in this field. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-114-86 DATE: April 3, 1986 TITLE: Key Leverage Points in software Productivity and the MCC Software Techology Program AUTHOR(S): Bill Curtis ABSTRACT: These viewgraphs present the keynote address delivered by the author at the Second National Conference on Software Productivity and Quality on March 12, 1986 in Alexandria, VA. This talk provided a brief review of MCC, discussed some of the productivity and quality data collected over the last decade from which we have identified some key leverage points, reviewed the research strategy we are pursuing in addressing the software productivity and quality of our shareholders, elaborated on models of software process, and ended with a call for government procurement officers to keep abreast of how advances in software technology should influence their standards and practices. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-068-86 DATE: April 7, 1986 TITLE: Theories of Design: An Introduction to the Literature AUTHOR(S): Glenn R. Bruns and Susan L. Gerhart ABSTRACT: The body of general knowledge concerning theories and methodology of design will be important to STP, in particular to its Design Process Group, in the development of Leonardo's design process model. This report surveys theories found in the worldwide and cross-area design movement and in the computer science literature in the light of the Leonardo conceptual framework. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-133-86 DATE: April 11, 1986 TITLE: Future Requirements for Testing - Position paper for Workshop on Software Testing, Banff, July 1986 AUTHOR(S): Johannes Grande ABSTRACT: The Software Technology Program (STP) at MCC is developing and integrating technologies for future design of large, complex systems. Validation and verification are important aspects of those technologies and the possible use of current software testing methods would be desirable. This paper takes a brief look at the future testing requirement of STP, assesses the suitability of current methods, and identifies several areas in which testing technologies and other methods for achieving software quality might advance to meet the needs of STP. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-141-86 DATE: April 16, 1986 TITLE: What Is Leonardo? AUTHOR(S): Peter Marks ABSTRACT: MCC's Software Technology Program (MCC-STP) was created in 1984 by the participating companies to perform focused research aimed at achieving enormous iimprovements both in the productivity of the process of developing large, complex, software-intensive systems and in the quality of the resulting products. The output of STP's efforts - Leonardo - is to be a prototype technology subject to further development by the shareholders. In late 1985 a committee was formed to write a document describing "the dream of Leonardo". The result was this report, a terse, thought-provoking discussion of Leonardo's problem domain. A second report {TR# STP-140-86Q, "The Leonardo Problem Domain"} was created re-stating the problem domain discussion (Chapters 0-3 only) into an easier-to-read format. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-168-86 DATE: Mary 21, 1986 TITLE: Reusability Overview AUTHOR(S): Ted J. Biggerstaff ABSTRACT: Reusability is a strategy of great promise and it is one whose promise has been largely unfulfilled. I will try to explain why I believe that this is true and describe what can be done to allow reusability to fulfill its promise. In the remaining sections I will: (1) Describe the problems that stand in the way of fulfilling the promise, (2) describe and categorize some of the technologies that can be brought to bear on the reusability problem, (3) describe some of the dilemmas presented by the reusability problem, (4) describe the important research issues, and (5) make some predictions on the evolution of reusability technology. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-172-86 DATE: May 30, 1986 TITLE: Design and Implementation of GORDION, An Object Base Management System AUTHOR(S): Aral Ege and Clarence A. Ellis ABSTRACT: An experimental object base management system called Gordion is presented. Gordion is a server which provides permanence and sharing of objects for workstations within an object-oriented environment. Among the unique aspects of Gordion are: its ability to communicate with multiple languages, introduction of new concurrency control primitives, ability to manipulate objects of arbitrary size, and object sharing across the languages through a base set of classes. The system is currently interfaced to two languages, BiggerTalk and Zetalisp Flavors. Beside its language interface, Gordion has an interface for the system administrator, and an interface for debugging. A discussion of the future prospects for Gordion concludes the paper. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-201-86 DATE: June 23, 1986 TR TITLE: PROJECT NICK: Meetings Augmentation and Analysis AUTHOR(S): Michael Begeman, Peter Cook Clarence Ellis, Mike Graf, Gail Rein, Tom Smith ABSTRACT: This paper describes research work on analysis and augmentation of design meetings ongoing within the Design Interface Group of the Software Technology Program at MCC. The paper presents a model of meeting progression which serves as a framework for our research. Primary topics covered in the paper are meetings analysis, where measures of quantities such as meeting effectiveness are considered, and meetings augmentation, where facilities and techniques for capture and presentation of meeting information are considered. CLASSIFICATION: Non-Proprieitary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-197-86 DATE: June 25, 1986 TR TITLE: Research Problems in Automating the Reuse of Designs AUTHOR(S): Ted J. Biggerstaff ABSTRACT: This talk uses an Object Oriented model to discuss the problem of reusing designs. The Object Oriented model has a number of appealing characteristics (e.g., encapsulation of information, inheritance and so forth) and works reasonably well for reusing code. In trying to adapt the Object Oriented model to the reuse of designs, we run into some problems. We will characterize these problems and speculate about how we might change the model in order to adapt it to the reuse of designs. We conclude that these problems are not central to the Object Oriented aspect of the model, but rather are a result of representations that are more suited to coding and speculation than to designing. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-202-86 DATE: June 27, 1986 TR TITLE: Skills versus Knowledge in Software Engineering Education: A Retrospective on the Wang Institute MSE Program AUTHOR(S): Susan L. Gerhart ABSTRACT: This report contains a paper submitted to a workshop Software Engineering Education - 1986: The Educational Needs of the Software Community sponsored by the Carnegie-Mellon University Software Engineering Institute Education Division, Pittsburgh, Pa. February 27-28, 1986. Proceedings of the workshop will be published in late 1986 by Springer-Verlag. The audience for this report is members of STP shareholder companies with an interest in internal industrial or external traditional education of high-quality industrial software engineers. A preface summarizes the Workshop context and directions towards the development of a software engineering curriculum. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: NONE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-229-86 DATE: July 22, 1986 TR TITLE: Requirements for Environments for Analysts AUTHOR(S): Susan L. Gerhart ABSTRACT: Most programming environments have several kinds of users. These users often play several roles in the content of software development. This paper looks at the requirements for one such role - the ANALYST - whose job is to perform detailed technical analyses and to produce reports and recommendations for other designers and developers. The role of analyst specialists is characterized, providing a context for team work in software design and development. Three existing environments for analysts are summarized and generalized to derive requirements for support from programming environments. The paper's primary purpose is to follow a systematic approach for support from programming environments. The paper's primary purpose is to follow a systematic approach to reach requirements for supporting the analysts role. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-266-86 DATE: August 5, 1986 TR TITLE: Design Issues for Window Managers AUTHOR(S): James L. Peterson ABSTRACT: Window managers are becoming an important new part of modern computer systems. A window manager allocates screen space to several different output sources, either from a single application or from multiple processes to share a single display, or set of displays. Window manager clients create windows to display their output. Windows are virtual or logical terminals which are mapped by the window manager onto the physical displays. Windows can be created, moved, resized, and deleted. Window systems can be tiled or overlapped. Control over the windows can be internal or external. Either bit-mapped or character-oriented displays may be used. Often a keyboard and mouse (or other pointing device) is also required. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-284-86 DATE: August 20, 1986 TR TITLE: A Software Metrics Survey AUTHOR(S): S.D. Conte, Purdue University; H.E. Dunsmore, Purdue University V.Y. Shen, MCC; W.M. Zage, Purdue University ABSTRACT: This paper was adapted from the book Software Engineering Metrics and Models, Benjamin Cummings Publishing Company (1986), by S.D. Conte, H.E. Dunsmore, and V.Y. Shen. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-286-86 DATE: August 21, 1986 TR TITLE: Future Technologies for Design of Complex Systems AUTHOR(S): Johannes Grande ABSTRACT: Microelectronics and Computer Technology Corporation (MCC) is performing research aimed at improving the process of developing complex, software intensive systems. This research focuses on the up-stream design activities, the process of team design, and the technologies for design representation and design visualization. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-296-86 DATE: September 8, 1986 TR TITLE: Technology Assessment: PAISley AUTHOR(S): Glenn R. Bruns ABSTRACT: The technology assessed is "PAISley", an executable specification language intended to be well suited to real-time and distributed systems. This report provides an overview and assessment of the PAISley language, tools, and method. The assessments are made for both the originators' goals and the goals of STP. Additionally, two PAISley elevator system specifications are shown, described, and compared. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-345-86 DATE: October 15, 1986 TR TITLE: Reusability Framework, Assessment, and Directions AUTHOR(S): T. Biggerstaff and C. Richter ABSTRACT: Reusability is widely believed to be a key to improving software development productivity and quality. The reuse of software components "amplifies" the software developer's capabilities. It allows him or her to write fewer total symbols in the development of a system, and allows him or her to spend less time in the process of organizing those symbols. However, while reusability is a strategy of great promise, it is one whose promise has been largely unfulfilled. We will try to explain why we believe that this is true and describe what can be done to allow reusability to fulfill its promise. This paper is intended to provide a short overview of the reuse of software and then assess the current state of reusability technology. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-361-86 DATE: October 28, 1986 TR TITLE: Design Representation Technology: A Survey AUTHOR(S): Dallas Webster ABSTRACT: This report presents a broad, qualitative survey of design representation technologies. Representation of software design information, along with the associated representational requirements, is stressed. Most notably, a preliminary or working "technology map" is exhibited, illustrating relationships among a broad range of current and developing technologies and providing a context for continued research in design representation. Limitations of the representation mechanisms of conventional software development technologies are pointed out, and several alternatives that are under investigation and development at STP are described. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-369-86 DATE: November 5, 1986 TR TITLE: Technology Assessment: Gist AUTHOR(S): G. Bruns, D. Bridgeland, D. Webster ABSTRACT: Gist is an operational specification language developed by Bob Balzer and others at USCs Information Sciences Institute. It is a rich language that uses multiple paradigms including object-oriented, rule-based, logic-based, and constraint-based. The purpose of having multiple paradigms is to allow a high degree of expressiveness. We found Gist to be difficult to understand from published papers and a two-day training session, but interesting enough to warrant further investigation. This preliminary report describes Gist and evaluates the language, technology, and method. Two appendices assess Gist as a knowledge representation language. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-440-86 DATE: December 23, 1986 TR TITLE: The Application of KL-ONE to Software Design Information: A Case Study AUTHOR(S): Charles Richter ABSTRACT: One of the goals of the Design Information Group is to develop a "theory" of the information space. As a first step toward that goal, we are evaluating the applicability of selected knowledge representation schemes to the domain of software design information. In this paper we evaluate KL-ONE [2] as a foundation for a particular application, an issue manager. This paper is divided into four major sections. In section 1 we discuss the purpose and limits of the evaluation. We also outline our reasons for choosing KL-ONE. Section 2 summarizes the features of KL-ONE. In section 3, we apply KL-ONE on an issue manager. We first describe what tasks an issue manager might perform; we then represent certain issue-oriented information in KL-ONE and discuss how the issue manager could be built on top of such a knowledge base. Section 4 lists our conclusions and future directions. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-236-86 DATE: July 25, 1986 (printed in Jan., 1987) TR TITLE: A Theory and Tool for Coordination AUTHOR(S): Jeff Conklin ABSTRACT: Teamwork depends heavily on successful communication and coordination. This paper describes research which combines work on Issue Based Information Systems, conversational protocols, hypertext, and a preliminary theory on the internal structure of design decisions (ISAACs). A tool is proposed which allows designers to capture and structure their own deliberations about design decisions in a way that (1) makes this deliberative process directly communicable to the designer's teammates, and (2) supports the uncertain and exploratory of early design conversations. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-365-86 DATE: January 8, 1987 TR TITLE: System Development as a Performing Art - A People-Centered View of Leonardo AUTHOR(S): Peter Marks ABSTRACT: This report explores a view of system development, drawn by analogy to performing arts like theater and competitive sports, as an ongoing progression of Practice-Performance-Postmortem cycles. These stages are defined with regard to their treatment of errors, and the roles of Performer, Audience, and Coach. Potential impact of this model on STP's part in "building Leonardo" is suggested. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-098-86, Revision 1.0 DATE: January 26, 1987 TR TITLE: On the Design of Large Distributed Systems AUTHOR(S): Ira R. Forman ABSTRACT: Higher level abstractions are needed for the design of distributed systems. Such an abstraction is the N-party interaction, which is the synchronous state change of N processes. It is proposed that this be used as the main primitive for the design of distributed systems. A language called Raddle is described that supports the N-party interaction as its synchronization and communication primitive. A problem is solved in which it is shown how this language can be used to develop a distributed system by refinement of interactions. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: Rev. 1.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-026-87 DATE: January 27, 1987 TR TITLE: PARIS: A System for Reusing Partially Interpreted Schemas AUTHOR(S): Shmuel Katz, Charles Richter, and Khe-Sing The ABSTRACT: This paper describes PARIS, an implemented system that facilitates the reuse of partially interpreted schemas. A schema is a program and specification with abstract, or uninterpreted, entities. Different interpretations of those entities will produce different programs. The PARIS system maintains a library of such schemas and provides an interactive mechanism to interpret a schema into a useful program by means of partially automated matching and verification procedures. Key words and phrases: partially interpreted schemas, reusability, abstract programs, specification and verification, distributed programming, matching problems to specifications, applying automatic theorem proving. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: HI-400-86* DATE: December 1986 (printed and distributed in February, 1987) TR TITLE: From Modern Alchemy to a New Renaissance AUTHOR(S): Kim Fairchild, Human Interface Program and Eric Gullichsen, Software Program ABSTRACT: Western society today stands at a turning point, largely unaware that it is poised on the brink of a new revolution in: computing power including the technology of hardware capable of providing affordable computer power for all and software to provide: flexible dynamic hypermedia, and techniques based on object-orientation to manage the complexity and volume of data required to support multiple layers of abstractions; participant systems which permit group collaboration on large-scale problems; and electronic communication capabilities which both support participant systems and can supplant traditional paper and telephone-based media to effect radical changes in our society. Synergy of the three areas of new improvements leads to the possibility of construction of elaborate Artificial Realities. Combined with electronic interpersonal communication, these have the potential to generate change in individual consciousness and social structure. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None * ? Jointly developed by STP & Human Interface Program; in Feb. 87, Mr. Fairchild joined STP. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-039-87 DATE: January 30, 1987 TR TITLE: Information Management Challenges in the Software Design Process AUTHOR(S): T. Biggerstaff, C. Ellis, F. Halasz, C. Kellogg, C. Richter, D. Webster ABSTRACT: The upstream software design process challenges database technology via its requirements for effective handling of diverse data -- both unstructured and structured, fuzzy and concrete, incomplete and fully specified. Informal and formal, complex and primitive. Commercial databases provide robust commercial products that deal well with the "easy" (complete, regular, precise, formal, consistent) problems. Data, knowledge and information based technologies must be developed further and merged to deal with the "hard" ones. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-356-86, Rev. 1 DATE: February 9, 1987 TR TITLE: A Survey of Hypertext AUTHOR(S): Jeff Conklin ABSTRACT: Hypertext is a computer-supported medium for information in which many interlinked documents are displayed with their links on a high-resolution computer screen. The links may be directly activated by a pointing device such as a mouse, which causes the document referenced by the link to appear instantly in a new window on the screen. While the concepts of hypertext are not new, the technology to make it effective is new. This paper reviews most of the existing hypertext systems, and then explores in some detail the fundamental features of hypertext and some of the design options in constructing hypertext systems. The advantages and disadvantages of hypertext are discussed in terms of four major application categories: macro literary systems, problem exploration systems, and structured browsing systems, and systems developed to explore hypertext technology. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: Rev. 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-070-87 DATE: February 24, 1987 TR TITLE: Highlights of the MCC Software Technology Program (Charts + Video) AUTHOR(S): Ted Biggerstaff ABSTRACT: This is a chart plus video presentation of some current activities in the Software Technology Program (STP). The viewgraphs contain an overview of STP and introductions to PlaneText, a hypertext system; IDeA, a design reuse system; and VERDI, a visual environment for the design of distributed systems. The videotape consists of short demonstrations of PlaneText, IDeA, and VERDI. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-072-87 DATE: February 25, 1987 TR TITLE: A Study of the Relation Between Coordination Primitives of Raddle and other Languages AUTHOR(S): Devendra Kumar ABSTRACT: This report presents a comparison between the coordination primitives of Raddle and those of the following languages: ADA, SR, Cell, Modula-2, and ARGUS. The purpose of the study is to gain insight into the relation of other paradigms of coordination and insight into how Raddle designs may be implemented. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-086-87 DATE: March 13, 1987 TR TITLE: SMDC: An Interactive Software Metrics Data Collection and Analysis System AUTHOR(S): T. J. Yu, AT&T Bell Laboratories, B. A. Nejmeh, AT&T Bell Laboratories, H.E. Dunsmore, Purdue University, V.Y. Shen, MCC ABSTRACT: This paper presents the data and capabilities provided by the Software Metrics Data Collection (SMDC) system. SMDC is an APL-based system which runs on the UNIX 4.3BSD system at Purdue University. The data stored in SMDC was collected from hundreds of (1) software products developed at industrial environments and (2) experiments conducted at Purdue University. The largest software product in SMDC has more than 1,000,000 lines of code. SMDC also provides a number of statistical functions and plotting routines which can be used for detailed analysis of existing data. The data and tools in SMDC are available for use by non-Purdue researchers with some limitations. This paper has been submitted to the Journal of Systems and Software for publication. CLASSIFICATION: Non Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: STP-087-87 DATE: March 13, 1987 TR TITLE: An Analysis of Several Software Defect Models AUTHOR(S): Tie-Jie Yu, AT&T Bell Laboratories, Hubert E. Dunsmore, Purdue University ABSTRACT: This paper presents the results of analyzing several defect models using data collected from two large commercial projects. Traditional models typically use either program metrics (i.e., measurements from software products) or testing time or combinations of these as independent variables. The limitations of such models have been well documented. The models considered in this paper all use the number of defects detected in the earlier phase of the development process as the independent variable. We have found a very strong correlation between the number of earlier defects and that of later ones. Using this relationship, we constructed a mathematical model which may be used to estimate the number of defects remaining in software. This paper has been accepted for publication in IEEE Trans. on Software Engineering. The publication data is currently not known. CLASSIFICATION: Non Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ADDENDUM ##################################################### ##################################################### The reports listed below are NOT the property of MCC. They are supplemental material to other STP Technical Reports (as noted) and are made available to STP Participants with the express permission of the authors. ------------------------------------------------------------------------------------------------------------ TR NUMBER: None (Reference STP-114-85) DATE ISSUED: October 18, 1985 TITLE: Partially Interpreted Schemas for CSP Programming AUTHOR(S): Orit Baruch and Shmuel Katz ABSTRACT: Partially interpreted program schemata are suggested as a tool for formally specifying and defining the range of applicability of patterns of communication. The schemata syntactically resemble programs, but contain free variables which represent uninterpreted program sections, domains, functions, or other aspects of the program. The specification of the schema includes both applicability requirements and result assertions, as well as specifications for the free variables. NOTE: This paper is not the property of the MCC Software Technology Program. It is being distributed as background for STP-114-85 through the expressed permission of the authors. CLASSIFICATION: None REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TR NUMBER: None (Reference STP-107-86) DATE ISSUED: January 1985 TITLE: On the Development of Reactive Systems AUTHOR(S): D. Harel and A. Pneuli ABSTRACT: Some observations are made concerning the process of developing complex systems. A broad class of systems, termed reactive, is singled out as being particularly problematic when it comes to finding satisfactory methods for behavioral description. In this paper we recommend the recently proposed statechart method for this purpose. NOTE: This paper is not the property of the MCC Software Technology Program. It is being distributed as background for STP-107-86 through the expressed permission of the authors. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ADDENDUM (Cont'd) TR NUMBER: None (Reference STP-107-86) DATE: February 1986 TITLE: Statecharts: A Visual Approach to Complex Systems AUTHOR(S): David Harel ABSTRACT: We present a broad extension of the conventional formalism of state machines and state diagrams, that is relevant to the design, specification, documentation and maintenance of a complex discrete-event entity, such as a large multi-computer real-time system. Our diagrams, which we call statecharts, are intended to capture the dynamic behavioral aspects of a system, rather than its physical or functional ones, in a clear, flexible and concise manner. Statecharts can be used either as a stand-alone behavioral description or as part of a more general design methodology that deals also with the system's other aspects. NOTE: This paper is not the property of the MCC Software Technology Program. It is being distributed as background for STP-107-86 through the expressed permission of the authors. CLASSIFICATION: Non-Proprietary/Unrestricted REVISIONS: None - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ########################################################################### END of ABSTRACT LISTING ########################################################################### -- James D. Babcock @ MCC Software Technology Program P.O. Box 200195 9390 Research Blvd. Austin, Tx. 78720 512/338-3489 uucp: {seismo,harvard,gatech,pyramid}!ut-sally!im4u!milano!babcock arpa: babcock@mcc.com
leff@smu.UUCP (Laurence Leff) (01/20/89)
The following abstracts describe Non-Proprietary Technical Reports available from MCC's Software Technology Program. Please send requests for SINGLE copies to the person below. INCLUDE your U.S. MAIl address since copies cannot be electronically distributed. Jim Babcock <babcock@mcc.com> ###################################################################### STP Technical Reports ------------------------------------------------------------------------- NON - PROPRIETARY ABSTRACTS for TRs ISSUED Mid-1987 Thru NOVEMBER 1988 ------------------------------------------------------------------------- __________________________________________________________________ Rpt num : STP-132-87 Date : May 01, 1987 Author : B.Curtis # pages : 23 Title : Five Paradigms in the Psychology of Programming Abstract: This is a review chapter prepared for the Handbook of Human-Computer Interaction to be published by North-Holland in 1987. -- Since the 1950s, psychologists have studied the behavioral aspects of computer programming. However, it has been difficult to integrate their data with theory because of the mixture of psychological paradigms that have guided their research. This chapter will review the research results that have been generated under the five psychological paradigms used most often in exploring programming problems. These five paradigms are 1) individual differences, 2) group behavior, 3) organizational behavior, 4) human factors/cognitive ergonomics, and 5) cognitive science. The major theoretical and practical contributions of each area to the theory and practice of software engineering will be discussed. Based on current trends, it appears that research guided by the paradigm of cognitive science will be the easiest to integrate with new developments in artificial intelligence and computer science theory. __________________________________________________________________ Rpt num : STP-257-87 Date : February 24, 1988 Author : D.Volpano # pages : 24 Title : STS - Software Templates System Abstract: The Software Templates System (STS) is described. STS is a collection of tools that permits you to build abstract specifications of algorithms called software templates and instantiate them for use in many different applications. This document is intended to serve as a description as well as a manual for users of STS. A portion of STS is bootstrapped using STS itself. This bootstrapping process is used to illustrate the features of STS. __________________________________________________________________ Rpt num : STP-299-87 Date : September 24, 1987 Author : B.Curtis # pages : 13 Title : Cognitive Issues in Reusing Software Artifacts Abstract: This paper reviews the cognitive aspects of reusing the artifacts of computer programming. This paper will first review how programming knowledge is organized and used. It will then discuss how professionals design programs and where the information they use comes from. It will end by describing the requirements for reusability tools generated by a cognitive analysis of programming. The thesis is that programmers' primary source of information during programming is their store of problem specific design schema, and that a body of reusable artifacts must provide links into these schema in order for programmers to be able to search and retrieve information effectively from a store external to their own memory. __________________________________________________________________ Rpt num : STP-304-87 Date : November 04, 1987 Author : C.Potts;G.Bruns # pages : 25 Title : Recording the Reasons for Design Decisions Abstract: We outline a generic model for representing design deliberat ion and its relation to the generation of method-specific artifacts. A design history is regarded as a network consisting of artifacts and deliberation nodes. Artifacts include specifications or design documents. Deliberation nodes represent issues, alternatives or justifications. Existing artifacts give rise to issues about the evolving design, an alternative is one of several positions that respond to the issue (perhaps calling for the creation or modification of an artifact), and a justification is a statement giving the reasons for and against selecting the related alternative. The model is applied to the development of a text formatter. The example necessitates some tailoring of the generic model to the method adopted in the development, Liskov and Guttag's design method. We discuss the experiment and the method-specific extensions. The example development has been represented in hypertext and as a Prolog database, the two representations being shown to complement each other. We conclude with a discussion of the relation to this model with other work, and its implications for tool support and methods. __________________________________________________________________ Rpt num : STP-316-87 Date : November 10, 1987 Author : P.Cook # pages : 20 Title : The Role of Champions in Successful Computer Applications Abstract: A structure to understand the reasons for computer success or failure is reported. It is represented as a matrix, where the rows relate to the elements of a successful application, and the columns are derived from diffusion theory as it relates to technology transfer. Vertically listed is the result of a number of years of implementation efforts and observation of the efforts of others. It asserts that to be successful, a computer application must have: A real need, Good hardware, Adequate software, A receptive environment, and A champion. The column structure is derived from diffusion theory, particularly the work of Everett Rogers. It categorizes user environments into four categories: Innovator, Early adopter, Majority, and Late Adopter. Observations are made about each of the cells of the resulting matrix. _________________________________________________________________ Rpt num : STP-320-87 Date : November 20, 1987 Author : F.Halasz # pages : 22 Title : Reflections on Notecards: Seven Issues for the Next Generation of Hypermedia Systems Abstract: NoteCards is a general hypermedia environment designed to help people work with ideas. Its intended users are authors, designers, and other intellectual laborers engaged in analyzing information, designing artifacts, and generally processing ideas. The system provides these users with a variety of hypermedia-based tools for collecting, representing, managing, interrelating, and communicating ideas. This paper presents the NoteCards systems as a foil against which to explore some of the major limitations of the current generation of hypermedia systems. These seven issues are: search and query, composite nodes, virtual structures, computational engines, versioning, collaborative work, and tailorability. For each of these issues, the papers describes the limitations inherent in NoteCards and the prospects for doing improving the situation in future systems. __________________________________________________________________ Rpt num : STP-340-87 Date : March 25, 1988 Author : P.Attie # pages : 61 Title : A Guide to Raddle87 Semantics Abstract: Defines the Raddle87 design language. Describes syntax and an operational semantics. __________________________________________________________________ Rpt num : STP-353-87 Date : November 06, 1987 Author : X.Liangfang;K.Fairchild # pages : 7 Title : Harnessing the Computer Revolution to Further Modernization in China Abstract: The People's Republic of China has a commitment to develop expertise and sweeping changes in science and technology. This paper describes many of the authors' observations about China's growing computer technology abilities. First, we discuss the problems and existing capabilities that influence China's entry into the computer revolution. Then we discuss several of the recent success stories and we close with suggestions about two new research areas that might be particularly useful to further computer modernization. __________________________________________________________________ Rpt num : STP-362-87 Date : October 19, 1987 Author : B.Curtis # pages : 41 Title : The Tarpit and a Rope: A Presentation to Aetna on STP Abstract: These viewgraphs constitute the presentation made by the author to the Aetna's Information Systems Executives Conference on October 19, 1987. The presentation started with a description of systems development problems observed in the STP Field Study and then described how the research program of STP is developing technology to reduce or eliminate some of these problems. __________________________________________________________________ Rpt num : STP-365-86 Date : January 08, 1987 Author : P.Marks # pages : 19 Title : System Development as a Performing Art Abstract: This report explores a view of system development, drawn by analogy to performing arts like theater and competitive sports, as an ongoing progression of Practice-Performance-Postmortem cycles. These stages are defined with regard to their treatment of errors, and the roles of Performer, Audience, and Coach. Potential impact of this model on STP's part in building Leonardo" is suggested. __________________________________________________________________ Rpt num : STP-368-87 Date : November 20, 1987 Author : F.Halasz # pages : 22 Title : Reflections on the State of the Art: Seven Issues for the Next Generaton of Hypermedia Systems Abstract: These slides briefly review the state of the art in workstation-based hypermedia systems (e.g., NoteCards, Neptune, and Intermedia). Seven major issues for the next generation of hypermedia systems are then presented and briefly discussed. These slides accompany the paper contained in MCC Technical Report STP-320-87. These slides were presented at Hypertext '87, Chapel Hill, NC, November, 1987. __________________________________________________________________ Rpt num : STP-375-87 Date : December 17, 1987 Author : I.Baxter # pages : 53 Title : PCL: A Production Control Language (A Proposal) Abstract: A program development [Wile83a] or metaprogram ([Feather86a]) is a description of the steps necessary to convert a specification into an implementation using a transformation system (we prefer the term metaprogram). PCL is a metaprogramming language intended as part of an Implementation Maintenance System, a software package whose goal is the efficient re-derivation of transformationa l implementations given a change to a specification. This document specifies PCL. __________________________________________________________________ Rpt num : STP-383-87 Date : December 31, 1987 Author : L.Power # pages : 10 Title : OOPSLA'87 Panel Discussion: Object-Oriented Concurrency conference held at OOSPLA'87. Abstract: This report covers the panel discussion on object-oriented concurrency held at OOPSLA '87, the ACM-sponsored object-oriented programming conference, held in Orlando, Florida, October, 1987. The panelists were Barbara Liskov, Akinori Yonezawa, David A. Thomas, and Carl Hewitt. In addition to a summarizing the panelists' comments and questions from the floor, the author has included background material on the panelists' object models. Characterizing these as variations on active objects", the author identifies important issues and trade-offs for future research. __________________________________________________________________ Rpt num : STP-386-87 Date : March 24, 1988 Author : V.Shen # pages : 62 Title : Using Superimposition to Add Fault to an EFT System Abstract: Describes the application of a new control construct, the superimposition, to the design of a distributed system expressed in Raddle. __________________________________________________________________ Rpt num : STP-016-88 Date : January 12, 1988 Author : J.Conklin;M.Begeman # pages : 6 Title : gIBIS: A Hypertext Tool for Team Design Deliberation Abstract: This paper describes an application specific hypertext system designed to facilitate the capture of early design deliberations. It implements a specific method, called Issue Based Information Systems (IBIS), which has been developed for use on large, complex design problems. The hypertext system described here, gIBIS (for graphical IBIS), makes use of color and a high speed relational database server to facilitate building and browsing typed IBIS networks. Further, gIBIS is designed to support the collaborative construction of these networks by any number of cooperating team members spread across a local area network. Early experiments suggest that the IBIS method is still incomplete, but there is a good match between the tool and method even in this experimental version. __________________________________________________________________ Rpt num : STP-018-88 Date : April 08, 1988 Author : G.Rein;C.Ellis # pages : 36 Title : The Nick Summer Experiment: A Field Study on the Usage of Meeting Support Technology by Software Design Teams Abstract: Presents the study, results and interpretations of this experimentation to explore and increase the understanding of the use of the prototype Nick electronic meeting room by software design teams working on fuzzy, high-level design problems. __________________________________________________________________ Rpt num : STP-025-88 Date : January 19, 1988 Author : M.Lubars # pages : 10 Title : Code Reusability in the Large Versus Code Reusability in the Small Abstract: As a general rule, the goals of software engineering involve the development of techniques for improving software development productivity. It is no surprise, then, that a lot of attention has been focused on facilitating the reuse of program code. However, much of this attention has been directed with only shortsighted and self-supporting goals, and has thus condemned code reuse techniques to limited areas of success. This paper brings to light some of the issues involving code reusability and contrasts the two ends of the reusability spectrum; code reusability in the large" and code reusabilaity in the small". Methods for possibly improving code reusability are examined. __________________________________________________________________ Rpt num : STP-048-88 Date : March 03, 1988 Author : P.Cook;C.Ellis;G.Rein # pages : 20 Title : Meetings Research - A Nick Retrospective Abstract: Overview of research work performed by the Nick project team since its inception in late 1985. States the motivation and scope of the research followed by an explanation of the modeling work, systems building work and experimentation work. __________________________________________________________________ Rpt num : STP-042-88 Date : February 08, 1988 Author : S.Gibbs # pages : 9 Title : LIZA: An Extensible Groupware Toolkit Abstract: Software for supporting groups of collaborating users - groupware - raises a number of problems in such areas as communication, distribution, concurrency control and user interface design. This paper gives a definition of groupware and presents a high-level model of groupware systems. The model has been applied to the design and implementation of an extensible groupware toolkit known as LIZA in terms of their user interface and functionality. __________________________________________________________________ Rpt num : STP-047-88 Date : February 16, 1988 Author : C.Ellis;G.Rein;S.Jarvenpaa # pages : 15 Title : Nick Experimentation: Some Selected Results Abstract: Presents the study, results and interpretations of this experimentation to explore and increase the understanding of the use of the prototype Nick electronic meeting room by software design reams working on fuzzy, high-level design problems. __________________________________________________________________ Rpt num : STP-058-88 Date : February 10, 1988 Author : M.Lubars;M.Harandi # pages : 31 Title : Addressing Software Reuse Through Knowledge-Based Design Abstract: The reuse of available software components is one important method for improving the productivity of new software product development. Software reuse benefits are especially apparent during specification and design where the foundations are established for the development and maintenance of the software product. Effective reuse of software designs requires a collection of good design components, knowledge about how to locate the components, and strategies for combining and customizing them into new designs. Schemes are also required for representing and manipulating reusable software components and various types of rules and heuristics for design construction. This paper presents both the philosophical and practical aspects of a knowledge-based design environment, called IDeA. __________________________________________________________________ Rpt num : STP-061-88 Date : February 24, 1988 Author : D.Volpano # pages : 9 Title : The Templates Approach to Software Reuse Abstract: Programs written in conventional, imperative languages usually cannot be reused in other applications because commitments have been made to specific types and representations of data. A software template is an algorithm specification that is free of these kinds of commitments. A template is expressed in a typed, functional notation. As a separate programming activity, abstract types are implemented in an imperative language. Templates for standard algorithms, and implementations of commonly-used data types are catalogued for reuse. A programmer chooses implementations for a template's data types at which time the template is translated into a program tailored to the chosen implementations. __________________________________________________________________ Rpt num : STP-081-88 Date : April 08, 1988 Author : R.Miller # pages : 26 Title : Representing Communication Protocols Abstract: Aims at showing how some of the ways of representing protocols can be directly converted into Raddle representations. __________________________________________________________________ Rpt num : STP-082-88 Date : March 09, 1988 Author : J.Conklin;M.Begeman # pages : 23 Title : gIBIS: A Hypertext Tool for Exploratory Policy Discussion Abstract: This paper describes an application specific hypertext system designed to facilitate the capture of early design deliberations. It implements a specific method, called Issue Based Information Systems (IBIS), which has been developed for use on large, complex design problems. The hypertext system described here, gIBIS (for graphical IBIS), makes use of color and a high speed relational database server to facilitate building and browsing typed IBIS networks. Further, gIBIS is designed to support the collaborative construction of these networks by any number of cooperating team members spread across a local area network. Early experiments suggest that the IBIS method is still incomplete, but there is a good match between the tool and method even in this experimental version. __________________________________________________________________ Rpt num : STP-088-88 Date : March 11, 1988 Author : T.Biggerstaff # pages : 12 Title : The Ada Reuse Picture: What is Wrong with this Picture? Abstract: This presentation argues that the reuse oriented structure provided by Ada, or any programming language for that matter, are insufficient to produce payoffs that approach an order of magnitude and in fact, will tend to be in the range of 20% to 30% at absolute best. Further, such reuse improvements derived through reuse of program language code are a part of, not in addition to, other improvements derived by modern programming practices. To gain larger improvements, it is argued one must reuse design abstractions and this will require the development of an environment infrastructure for dealing with such constructs. Thus, the reuse (design/maintenance) problem is not a language problem, but an environment problem. __________________________________________________________________ Rpt num : STP-187-88 Date : July 18, 1988 Author : R.Miller;I.Forman # pages : 6 Title : The Readers-Writers Problem Using Interactions Abstract: Short technical note to record an interesting problem in the expressive power of Raddle. __________________________________________________________________ Rpt num : STP-120-88 Date : April 29, 1988 Author : M.Lubars # pages : 6 Title : Environmental Support for Reuse Abstract: Discusses reuse methods which should be embedded with CASE tools and environments as an integral part of the methodology, rather than treated as a separate problem. __________________________________________________________________ Rpt num : STP-122-88 Date : April 12, 1988 Author : G.Bruns # pages : 12 Title : Germ: A Metasystem for Browsing and Editing Abstract: Focuses on the modeling primitives underlying a Germ schema and how they relate to the features of browsing and editing tools. __________________________________________________________________ Rpt num : STP-182-88 Date : June 18, 1988 Author : V.Shen # pages : 64 Title : Problem-Driven Software Engineering Research Abstract: Contains the charts presented at a workshop in Taipei, July 18-22, 1988. __________________________________________________________________ Rpt num : STP-155-88 Date : May 18, 1988 Author : S.Gerhart # pages : 25 Title : A Broad Spectrum Toolset for Upstream Testing, Verification, and Analysis Abstract: Describes a suite of tools to analyze properties of sequences associated with a specification, with input or output to a program, or with simple behavioral models of a system under design. __________________________________________________________________ Rpt num : STP-186-88 Date : June 10, 1988 Author : G.Bruns;C.Potts # pages : 36 Title : Domain Modeling Approaches to Software Development Abstract: Reviews and discusses a representative sample of software design approaches that contain a domain modeling component. __________________________________________________________________ Rpt num : STP-195-88 Date : June 20, 1988 Author : S.Gibbs;C.Ellis # pages : 12 Title : Action Objects: Realities and Possibilities Abstract: Defines and explains the concept of active object. Presents and justifies examples of active objects. __________________________________________________________________ Rpt num : STP-206-88 Date : July 21, 1988 Author : E.Gullichsen;D.D'Souza;P.Lincoln;K.The # pages : 44 Title : The PlaneTextBook Abstract: Describes PlaneText as a hypertext system written in C to run under the SunView window manager on a SUN workstation. Users can create and share a general graph structure of nodes. __________________________________________________________________ Rpt num : STP-214-88 Date : July 07, 1988 Author : R.Guindon # pages : 15 Title : Software Design Tasks as Ill-Structured Problems, Software Design as an Opportunistic Process Abstract: Reviews the main cognitive studies of software design and their findings contrasted to informal observations by practitioners and researchers in software development. __________________________________________________________________ Rpt num : STP-236-88 Date : July 22, 1988 Author : P.Attie # pages : 13 Title : The Generation of ADA Code from RADDLE/VERDI Designs Abstract: Addresses the problem that, given a suitably low level VERDI design, what the problems involved in generating ADA code from this design. Discusses the problems, presents suggestions for solutions and gives an example of VERDI to ADA translation. __________________________________________________________________ Rpt num : STP-250-88 Date : August 02, 1988 Author : M.Evangelist;I.Forman;G.Bruns # pages : 26 Title : Tebasco: A Team-Based Coordination System Abstract: Proposes on how such a system should operate. __________________________________________________________________ Rpt num : STP-263-88 Date : September 14, 1988 Author : C.ElLIS;S.Gibbs;G.Rein # pages : 12 Title : Design and Use of a Group Editor Abstract: GROVE is a prototype outline editor specifically designed for use by a group of people working simultaneously on the same text outline. It has been used in work sessions by several groups ranging in size from two to six people, in both face-to-face and distributed modes, for a variety of design tasks. This paper describes the function of GROVE and presents some of the important observations from these work sessions. __________________________________________________________________ Rpt num : STP-256-88 Date : September 07, 1988 Author : M.Lubars;M.Harandi # pages : 7 Title : The Knowledge-Based Refinement Paradigm and IDeA: Concepts, Limitations, and Future Directions Abstract: The knowledge-based refinement paradigm of software development is a paradigm that views the software development process as a succession of knowledge-based refinements to an initial model of a desired system. IDeA (Intelligent Design Aid) was developed as a prototypical design environment to support the knowledge-based refinement paradigm. This paper outlines the knowledge-based refinement paradigm, capabilities of IDeA, and evaluates IDeA's effectiveness in supporting the paradigm. Suggestions are made for improving the paradigm and for constructing future supporting environments. __________________________________________________________________ Rpt num : STP-270-87 Date : September 13, 1988 Author : I.Forman # pages : 16 Title : Leader Election: An Exercise in Raddle Design Abstract: This report presents three Raddle solutions to the Leader Election Problem. The solutions demonstrate three strengths of Raddle: (1) The use of the N-party interaction to express algorithms that are independent of architectural and optimization considerations. In this way Raddle supports the extreme upstream phase of the design process in that designers can express concepts that were previously unexpressible in any design notations for distributed systems. (2) The decomposition of N-party interactions to achieve optimization and customization to specific architectures. This supports the designer in his second problem: how the performance requirements can be achieved. (3) The composition of library teams to obtain a desired team. This supports designers in their quest to reuse designs. __________________________________________________________________ Rpt num : STP-033-88 Date : January 27, 1988 Author : C.Ellis;S.Gibbs;G.Rein # pages : 23 Title : The Groupware Project: An Overview Abstract: This paper is an overview of the groupware project, a computer-supported collaborative work research project at MCC in the Software Technology Program. We present the goals of the groupware project and the design philosophy of our prototype systems. The paper is organized into three sections: The Early Work, the Current Work, and the Future Vision. Highlights of the past work on Project Nick are presented, including a description of the electronic meeting room (hardware and software) and a summary of the key findings from an extensive empirical study conducted at STP during the summer of 1987. Other early groupware systems (HyperMate and LIZA) are briefly described. Then we describe our current activity to build a group outlining tool (grove), and conclude with a description of our long term vision. __________________________________________________________________ Rpt num : STP-289-88 Date : September 09, 1988 Author : T.Biggerstaff # pages : 6 Title : The Nature of Semi-Formal Information in Domain Models Abstract: This position paper describes the nature and importance of informal and semi-formal information in the understanding, interpretation and reuse of large complex programs. The understanding of large, complex, existing programs is sometimes called the "dusty deck" problem. The emphasis of this research is on how one might create a model of a domain that would help in the job of understanding and eventually reusing large scale designs from large, complex and generally unmastered existing programs. The role of informal and semi-formal information is central to this domain model. __________________________________________________________________ Rpt num : STP-233-88 Date : August 01, 1988 Author : B.Curtis;H.Krasner;N.Iscoe # pages : 30 Title : A Field Study of the Software Design Process Abstract: We studied the major problems experienced in designing large software systems by interviewing personnel from 17 large projects. We use a layered behavioral model to analyze how three of these problems - the thin spread of application knowledge, fluctuating and conflicting requirements, and communication bottlenecks and breakdowns - affected software productivity and quality through their impact on cognitive, social and organizational processes. __________________________________________________________________ Rpt num : STP-294-88 Date : September 09, 1988 Author : M.Lubars # pages : 19 Title : The IDeA Design Environment Abstract: The design of software is a complex process requiring the software designer to simultaneously perform a variety of activities. These include the intellectual activities of exploring and analyzing design alternatives, the consideration and reuse of previous solutions, the organizational tasks of managing design goals, dependencies, and partial solutions, and the clerical aspects of recording design decisions. Very few environments have been developed that provide all of these aspects of design support. The IDeA system is a prototypical design environment that was developed to demonstrate that a single environment could integrate many different aspects of software design support. This report describes the IDeA environment and the aspects of design support that it provides. __________________________________________________________________ Rpt num : STP-275-88 Date : August 18, 1988 Author : S.Smith;S.Gerhart # pages : 52 Title : STATEMATE and Cruise Control: A Case 2 Study Abstract: The STATEMATE system uses a state transition formalism embodied in activity and control charts and supported by simulation, analysis, and documentation tools. This paper describes its application to an automobile cruise control system, emphasizing the methodology lessons of the case study. __________________________________________________________________ Rpt num : STP-249-88 Date : July 29, 1988 Author : J.Conklin # pages : 16 Title : Design Rationale and Maintainability Abstract: Design decisions and assumptions occur within and during the process of system design, but are not documented. This rationale is thus generally lost. The careful deliberation and much of the domain learning that went into resolving key design issues is thus wasted, increasing overall system costs. This cost is most apparent during maintenance, when a significant portion of engineer's time is spent trying to recover the lost rationale of the system structure. An approach is proposed for capturing this process oriented material during development, indexed so that it provides this critical information to maintainers. __________________________________________________________________ Rpt num : STP-252-88 Date : August 04, 1988 Author : J.Conklin;M.Begeman # pages : 20 Title : gIBIS: A Tool for all Reasons Abstract: This paper describes an application specific hypertext system designed to facilitate and capture policy and design discussions. The system, gIBIS, implements a specific method, called Issue Based Information Systems (IBIS), which was developed for use on large, complex design problems. gIBIS (for graphical IBIS) makes use of color and a high speed relational database server to facilitate building and browsing typed IBIS networks. Further, gIBIS supports the collaborative construction of these networks by any number of cooperating team members spread across a local area network. Experience to date suggests that the gIBIS tool is quite useful tool for communication and organizing informal information. __________________________________________________________________ Rpt num : STP-400-87 Date : October 12, 1988 Author : C.Ellis;F.Harary # pages : 23 Title : The Forced Color Assignment Problem Abstract: The 4-color problem has received widespread attention within mathematical circles; it is concerned with coloring nodes of a graph in such a way that no adjacent nodes have the same color. This paper introduces and investigates a new, related concept within graph theory which is motivated by the needs of software engineering. The concept is a graph invariant, f(G) which we call the node color forcing number of G. This invariant specifies the minimum number of nodes of a graph G which must be colored in order to completely determine all remaining node colors. A significant open problem is how to characterize f(G). __________________________________________________________________ Rpt num : STP-363-88 Date : October 26, 1988 Author : T.Biggerstaff # pages : 23 Title : Reuse of Very Large Scale Components Abstract: This presentation argues that the reuse of very large scale components (10KLOC and above) is where we can expect the increase in productivity and quality to approach an order of magnitude. For smaller components, the improvements to the overall project are significantly less. In addition to productivity and quality, other factors change as one scales up the size of components. In particular, the key research problems change. The problems of finding components and component standards are now overwhelmed by problems such as understanding the nature of the large components so that they can be modified and adapted to new situations. This introduces the need for a new kind of tool -- one that aids in recovering the design of a program. Such Design Recovery tools aid both in the population of libraries of reusable components as well as in the understanding and maintenance of existing programs. __________________________________________________________________ Rpt num : STP-213-88 Date : September 22, 1988 Author : I.Forman # pages : 14 Title : Data Flow Anomaly Detection for Raddle87 Abstract: The problem of detecting data flow anomalies in Raddle87, a language for the design of distributed systems, is addressed. An algebra A is described that is specialized for the detection of data flow anomalies by interpreting the regular expression for the paths in a program as an A expression. A method for efficiently computing data is presented; the method is based on the iterative algorithm of global data flow analysis. __________________________________________________________________ Rpt num : STP-335-88 Date : October 18, 1988 Author : J.Peterson # pages : 17 Title : XSCOPE: A Debugging and Performance Tool for X11 Abstract: The X Window System architecture consists of separate processes for the window server and its clients. When poor performance or errors are a problem in such a system, it may be difficult to determine if the problem is with the client, some client toolkit, or with the server. Xscope allows a programmer to view the actual request, reply, error, and event packets sent between the client and the server, providing the data needed to understand the system. The design of Xscope indicates some problems with the syntax of the X11 protocol. __________________________________________________________________ Rpt num : STP-298-88 Date : September 18, 1988 Author : R.Guindon # pages : 13 Title : A Framework for Building Software Development Environments: System Design as Ill-structured Problems and as an Opportunistic Process Abstract: One model of the design process is as a process of stepwise refinement, which is useful to describe the process of designing programs and simple software systems. Any theory or model, however, is an abstraction of the actual phenomenon studied and accounts only for a subset of the potentially relevant events. Other abstractions might more appropriately account for the process of designing realistic systems and have early impact on the building of environments to support software designers. An analysis of system design tasks reveals that they are ill-structured problems. An empirical study, using a system design task of realistic complexity, shows that the design process is highly opportunistic. Opportunistic planning is planning in which interim decisions can lead to subsequent decisions at arbitrary points in the planning space. On the basis of this analysis of system design tasks and the empirical results, implications for environments to support designers are derived. __________________________________________________________________ Rpt num : STP-271-88 Date : September 27, 1988 Author : E.Levy # pages : 34 Title : A Survey of Distributed Coordination Abstract: Distributed Coordination is a problem of implementing a synchronous communication event between an arbitrary number of processes in a distributed environment. The problem captures two primary aspects in distributed computing: exclusion and synchronization. After presenting a clear specification of the Distributed Coordination problem, the paper surveys and assesses algorithms for solving it. Both message passing and broadcast algorithms are discussed. Classes of algorithms which exhibit common properties are identified and analyzed. __________________________________________________________________ Rpt num : STP-295-88 Date : November 04, 1988 Author : M.Lubars # pages : 11 Title : Domain Analysis and Domain Engineering in IdeA Abstract: IDeA is a design environment that provides several forms of design assistance during the construction of software designs. IDeA concentrates in supporting the reuse of abstract software designs, represented as design schemas. Before IDeA can provide design reuse support, a designer experienced in certain application domains must populate IDeA's design reuse library with schemas for those domains. In performing a domain analysis, the analyst must consider which objects to include and to what degree they should be abstracted. After completing the analysis, the domain must be engineered to support reuse. This paper outlines the domain analysis and domain engineering steps for populating IDeA's reuse library and considers how much abstraction is appropriate within a reusable domain. __________________________________________________________________ Rpt num : STP-366-88 Date : November 04, 1988 Author : M.Lubars # pages : 31 Title : A Domain Modeling Representation Abstract: A serious problem in most software development projects is that key information fails to get recorded, and many other kinds of information are not uniformly integrated. A possible solution to the problem is to evolve a model of the software system that includes the relevant knowledge about its development. It is conjectured that if all this information could be recorded, its use would provide better quality software, facilitate communication between software engineers, enhance software maintenance, and provide software artifacts that are more reusable. This paper presents a domain modeling representation (DMR) that represents a large portion of the desired information. __________________________________________________________________ Rpt num : STP-367-88 Date : November 11, 1988 Author : D.Webster # pages : 35 Title : Mapping the Design Information Representation Terrain Abstract: This report attempts to establish a context for design information representation research, via a qualitative survey and comparison of a broad range of relevant technologies. We discuss associated representation requirements, and present a working "technology map", which reflects relationships among the surveyed technologies. Within the context provided by the map, we point out limitations of the representation mechanisms of conventional software development technologies, and prospects for overcoming them. __________________________________________________________________ ========== End of Data ========== -------