S. M. J Sutton
University of Massachusetts Amherst
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by S. M. J Sutton.
international conference on software engineering | 2000
Aaron G. Cass; A.S. Lerner; Eric K. McCall; Leon J. Osterweil; S. M. J Sutton; Alexander E. Wise
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 flow and for agent and resource assignment. Steps are organized into a static hierarchy, but can have a highly dynamic execution structure including the possibility of recursion and concurrency. Little-JIL is based on two main hypotheses. The first is that coordination structure is separable from other process language issues. Little-JIL provides rich control structures while relying on separate systems for resource, artifact and agenda management. The second hypothesis is that processes are executed by agents that know how to perform their tasks but benefit from coordination support. Accordingly, each Little-JIL step has an execution agent (human or automated) that is responsible for performing the work of the step. This approach has proven effective in supporting the clear and concise expression of agent coordination for a wide variety of software, workflow and other processes.
ACM Transactions on Software Engineering and Methodology | 1995
S. M. J Sutton; Dennis Heimbigner; Leon J. Osterweil
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 experience. It is intended for the coding of programs torepresent and support software processes including process, product, andproject management. APPL/A is defined as an extension to Ada, to whichit adds persistent programmable relations, concurrent triggers onrelation operations (for reactive control), optionally and dynamicallyenforceable predicates on relations (which may serve as constraints),and composite statements that provide alternative combinations ofserializability, atomicity, and consistency enforcement (for programminghigh-level transactions). APPL/A has been used to codeengineering-oriented applications, like requirements specification anddesign, as well as management-related activities, such as personnelassignment, task scheduling, and project monitoring. APPL/A has alsoenabled us to experiment with process program design techniques andarchitectures, including process state reification, intermittent (orpersistent) processes, reflexive and metaprocesses, and multiple-processsystems. Our ability to address a wide range of software processes andprocess characteristics indicates that the APPL/A constructs representimportant and general capabilities for software processprogramming.n—Authors Abstract
foundations of software engineering | 1997
S. M. J Sutton; Leon J. Osterweil
Process languages remain a vital area of software process research. Among the important issue for process languages are semantic richness, ease of use, appropriate abstractions, process composability, visualization, and support for multiple paradigms. The need to balance semantic richness with ease of use is particularly critical. JIL addresses these issues in a number of innovative ways. It models processes in terms of steps with a rich variety of semantic attributes. The JIL control model combines proactive and reactive control, conditional control, and more simple means of control-flow modeling via step composition and execution constraints. JIL facilitates ease of use through semantic factoring, the accommodation of incomplete step specifications, the fostering of simple sub-languages, and the ability to support visualizations. This approach allows processes to be programmed in a variety of terms, and to a variety of levels of detail, according to the needs of particular processes, projects, and programmers.
ACM Sigsoft Software Engineering Notes | 1999
David D. Jensen; Yulin Dong; Barbara Staudt Legner; Eric K. McCall; Leon J. Osterweil; S. M. J Sutton; Alexander E. Wise
Knowledge discovery in databases (KDD) is an increasingly widespread activity. KDD processes may entail the use of a large number of data manipulation and analysis techniques, and new techniques are being developed on an ongoing basis. A challenge for the effective use of KDD is coordinating the use of these techniques, which may be highly specialized, conditional and contingent. Additionally, the understanding and validity of KDD results can depend critically on the processes by which they were derived. We propose to use process programming to address the coordination of agents in the use of KDD techniques. We illustrate this approach using the process language Little-JIL to program a representative bivariate regression process. With Little-JIL programs we can clearly capture the coordination of KDD activities, including control flow, pre- and post-requisites, exception handling, and resource usage.
european workshop on software process technology | 2003
Aaron G. Cass; S. M. J Sutton; Leon J. Osterweil
This paper indicates how effective software-process programming languages can lead to improved understandings of critical software processes, as well as improved process performance. In this paper we study the commonly mentioned, but seldom defined, rework process. We note that rework is generally understood to be a major software development activity, but note that it is poorly defined and understood. In this paper we use the vehicle of software-process programming to elucidate the nature of this type of process. In doing so we demonstrate that an effective language (i.e. one incorporating appropriate semantic features) can help explain the nature of rework, and also raise hopes that this type of process can be expedited through execution of the defined process. The paper demonstrates the key role played in effective rework definition by such semantic features as procedure invocation, scoping, exception management, and resource management, which are commonly found in programming languages. A more ambitious program of research into the most useful process-programming language semantic features is then suggested. The goal of this work is improved languages, for improved understandings of software processes, and improved support for software development.
european workshop on software process technology | 1998
Barbara Staudt Lerner; Leon J. Osterweil; S. M. J Sutton; Alexander E. Wise
Process programming languages have not been readily adopted by practitioners. We are addressing this problem through the development of Little-JIL, a language that focuses on the coordination aspects of processes and provides a visual representation, yet one that is rigorous enough for execution and formal reasoning. We have used Little-JIL to program several software engineering processes, knowledge discovery processes, and are working on processes to coordinate robot teams. We believe the simplicity gained by focusing on coordination and visualization should make Little-JIL both readily adoptable and widely useful.
international workshop on software specification and design | 1998
Barbara Staudt Lerner; S. M. J Sutton; Leon J. Osterweil
Software design methods typically focus on the activities that individual designers should perform under ideal circumstances. They rarely, if ever, address the activities that should be performed when things do not go according to plan, such as when a customer requests changes to the specification, or when early design decisions must be changed. They also rarely address issues involving coordination of multiple designers in cooperative design tasks or in competition for limited resources. We are investigating fundamental concepts required for more complete definition of design methods, developing linguistic mechanisms within a process programming language to support these concepts, and validating these through the definition of a process program that incorporates the Booch method.
international workshop on software specification and design | 1996
S. M. J Sutton; Leon J. Osterweil
We have been developing PDP, a system for programming the process of designing software that is based on G. Booch (1994) object oriented design. Process programming can help in capturing and managing the inherent complexities of design processes and products, while programmability is necessary to accommodate the dynamic and creative aspects of design. PDP views the design process as comprising process steps, product artifacts, and execution resources. The process is multi user and multi role. The control model includes both proactive and reactive elements. Explicit consistency conditions interrelate product state and process control. Issues that arise in the programming of PDP include the integration of proactive and reactive control, the capturing of interrelations among steps, artifacts, and constraints, the identification of consistency conditions for design products and their implications for process control, and the accommodation of inconsistency and indeterminacy in evaluating design product state. Programmability is intended to provide organizations, managers, and developers with degrees of structured flexibility that are appropriate for their roles in the design process. A number of issues arise with the introduction of programmability, eg., what distinguishes different design processes and their variants? What is a legal design process or product and to what extent can it be varied? What controls should be available to process managers and to design engineers?.
Archive | 1995
S. M. J Sutton; P. L. Tarr; Leon J. Osterweil
Archive | 1998
Alexander E. Wise; Barbara Staudt Lerner; Eric K. McCall; Leon J. Osterweil; S. M. J Sutton