Leon J. Osterweil

Learn More
We shall take as our elementary notion of a process that it is a systematic approach to the creation of a product or the accomplishment of some task. We observe that this characterization describes the notion of process commonly used in operating systems-namely that a process is a computational task executing on a single computing device. Our(More)
Software process programming is the coding of software processes inexecutable programming languages. Process programming offers manypotential benefits, but their realization has been hampered by a lack ofexperience in the design and use of process programming languages.APPL/A is a prototype software process programming language developed tohelp gain this(More)
Property specifications concisely describe what a software system is supposed to do. It is surprisingly difficult to write these properties correctly. There are rigorous mathematical formalisms for representing properties, but these are often difficult to use. No matter what notation is used, however, there are often subtle, but important, details that need(More)
In this paper we analyze the complexity of algorithms for two problems that arise in automatic test path generation for programs: the problem of building a path through a specified set of program statements and the problem of building a path which satisfies impossible-pairs restrictions on statement pairs. These problems are both reduced to graph traversal(More)
Change is pervasive during software development, affecting objects, processes, and environments. In process centered environments, change management can be facilitated by software-process programming, which formalizes the representation of software products and processes using software-process programming languages (SPPLs). To fully realize this goal SPPLs(More)
The challenge of research in software quality is to provide tools and technology that will enable the software industry to deploy software products and services that are safe, dependable, and usable within an economic framework allowing companies to compete effectively. Meeting this challenge will have a significant effect on national economies, national(More)
Little-JIL, a language for programming coordination in processes is an executable, high-level language with a formal (yet graphical) syntax and rigorously defined operational semantics. The central abstraction in Little-JIL is the “step,” which is the focal point for coordination, providing a scoping mechanism for control, data, and exception(More)
This paper proposes the unification of two complementary approaches to software process research. The two approaches can be characterized as macroprocess research, focused on phenomenological observations of external behaviors of processes, and microprocess research, focused on the study of the internal details and workings of processes. The paper suggests(More)