William E. Riddle
University of Colorado Boulder
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by William E. Riddle.
IEEE Transactions on Software Engineering | 1986
George S. Avrunin; Laura K. Dillon; Jack C. Wileden; William E. Riddle
An approach to the design of concurrent software systems based on the constrained expression formalism is described. This formalism provides a rigorous conceptual model for the semantics of concurrent computations, thereby supporting analysis of important system properties as part of the design process. This approach allows designers to use standard specification and design languages, rather than forcing them to deal with the formal model explicitly or directly. As a result, the approach attains the benefits of formal rigor without the associated pain of unnatural concepts or notations for its users. The conceptual model of concurrency underlying the constrained expression formalism treats the collection of possible behaviors of a concurrent system as a set of sequences of events. The constrained expression formalism provides a useful closed-form description of these sequences. Algorithms were developed for translating designs expressed in a wide variety of notations into these constrained expression descriptions. A number of powerful analysis techniques that can be applied to these descriptions have also been developed.
IEEE Transactions on Software Engineering | 1978
William E. Riddle; Jack C. Wileden; John H. Sayler; Alan R. Segal; Allan M. Stavely
A modeling scheme is presented which provides a medium for the rigorous, formal, and abstract specification of large-scale software system components. The scheme allows the description of component behavior without revealing or requiring the description of a components internal operation. Both collections of sequential processes and the data objects which they share may be described. The scheme is of particular value during the early stages of software system design, when the systems modules are being delineated and their interactions designed, and when rigorous, well-defined specification of undesigned components allows formal and informal arguments concerning the designs correctness to be formulated.
Computer Languages | 1979
William E. Riddle
A scheme is presented for the non-procedural specification of a software systems behavior. The scheme is primarily intended for the description of large-scale, complex software systems having (actual or conceptual) parallelism. The scheme is formally defined, used to describe a variety of example software system behavior, shown to be general enough to describe any software system behavior, and compared to other behavior description schemes.
ACM Sigsoft Software Engineering Notes | 1984
William E. Riddle
It is commonly thought that 10 years is needed for technology to pass from its initial conception into wide-spread use. In the process of gathering data to argue the need for a technology improvement program, we investigated the technology maturation process for three environments supporting software development. Our hypothesis was that more than 10 years was needed; our guess was that the period would be more on the order of 15 years; and we found that it takes on the order of 18 years for systems such as these to nature. Technology maturation time lines for the three systems are presented and some comments are provided on what facilitates and inhibits software technology maturation.
Computer Languages | 1979
William E. Riddle
A scheme is presented for the modelling of a software systems operation and it is shown how this scheme may be used in software system analysis. The scheme is primarily intended for the description of large-scale, complex software systems having (actual or conceptual) parallelism. The modelling scheme is shown equivalent to a large number of previously defined schemes for modelling systems with concurrency. An algorithm is given for deriving a non-procedural representation of a systems behavior from a model of its operation and several ways are outlined by which analysis may be performed using the information derived by such an algorithm.
ACM Sigsoft Software Engineering Notes | 1978
William E. Riddle; Jack C. Wileden
We consider the nature of software system specifications and designs, then survey the languages used in representing them. We emphasize the utility of language-based representations as a foundation for computerized tools which provide aid during software system development. The survey is based upon a classification of the languages according to their underlying representational constructs.
IEEE Transactions on Software Engineering | 1987
William E. Riddle; Lloyd G. Williams
Creating and enhancing a software engineering work force requires several different types of continuing education for software professionals, including: task-oriented education, enhancement-oriented education and selection-oriented education. In this paper, we focus on the important, but often neglected, category of selection-oriented education. We begin with a discussion of technology selection, indicating what it involves, how it contributes to improving the state of practice, and why it is key to technology improvement in general. This is followed by a discussion of some criteria for selection-oriented education programs. We then describe the selection-oriented education activities at the Rocky Mountain Institute of Software Engineering and relate some problems encountered in establishing these activities.
international software process workshop | 1988
Samuel T. Redwine; William E. Riddle
Fourteen U.S. aerospace companies have established the Software Productivity Consortium to increase the productivity of their software-related personnel and the suitability of the software systems they produce. The Consortium’s efforts are focused on making prototyping and reuse a routine part of the development and maintenance of complex, embedded software systems. The Consortium’s products include software engineering tools and library facilities supporting both prototyping and reuse, and tools supporting the configuration of integrated environments composed of tools and library facilities obtained from diverse sources. In developing these products the Consortium is pursuing the productivity-improvement benefits to be derived from automation, elimination, integration and reorganization of software process activities.
Advances in Computers | 2006
Brian A. Nejmeh; William E. Riddle
Abstract Improvement game plans—carefully defined, organized and managed sequences of process change activities based on standards, maturity models and best practices—are critical to a company’s success. Also critical is the ability to evolve processes in response to precipitous, unpredictable changes to critical business-context factors such as financial goals, customer desires, personnel availability, and available process performance support technology. This chapter describes an approach—PERFECT—to process evolution resulting from many decades of experience in helping companies—of a variety of sizes and in many industry sectors—rationally, rapidly and incrementally evolve their processes, often but not necessarily in the context of an overall improvement game plan. The approach is based on a framework—PEDAL—identifying twelve categories of activities comprising process evolution. Three Case Studies introduce the framework and process evolution approach and show their application across a wide variety of situations to evolving a company’s processes through narrowly focused, short, overlapping process evolution exercises each addressing a set of tightly inter-related processes. Several important lessons learned are discussed, followed by a description of a variety of simple techniques and tools allowing process change agents to rationally describe, understand, learn from, plan and manage process evolution exercises. The chapter ends with a discussion of various improvements that should be made to the PERFECT process evolution approach and its underlying PEDAL framework.
Lecture Notes in Computer Science | 2005
Brian A. Nejmeh; William E. Riddle
To survive, companies must rationally, rapidly and incrementally evolve their processes in response to changes in customer desires, market pressures, personnel availability and capability, business goals, and available technology as well as many other business-context factors. A Process Evolution Dynamics Framework allows process change agents to address this critical need by rationally describing, understanding, learning from, planning and managing process evolution efforts in a manner that addresses rapid, unpredictable changes to their company’s business context. The framework may be based on an experience-based categorization of process evolution-related activities highlighting their collaborative maturation of a company’s process knowledge base. In addition to clarifying and facilitating a company’s process evolution efforts, the framework suggests several topics which should be addressed by the process research and empirical-study communities.