206 research outputs found
Recommended from our members
The use of sequencing information in software specification for verification
Software requirements specifications, virtual machine definitions, and algorithmic design all place constraints on the sequence of operations that are permissible during a program's execution. This paper discusses how these constraints can be captured and used to aid in the program verification process. The sequencing constraints can be expressed as a grammar over the alphabet of program operations. Several techniques can be used in support of testing or verification based on these specifications. Dynamic aalysis and static analysis are considered here. The automatic generation of some of these aids is feasible; the means of doing so is described
Recommended from our members
The uses of process modeling : a framework for understanding modeling formalisms
There is wide-spread recognition of the urgent need to improve software processes in order to improve the performance of software organizations. Process models are essential in achieving understanding and visibility of processes and are important for other uses including the analysis of processes for improvement. It has been increasingly difficult to compare and evaluate the variety of process modeling formalisms that have appeared in recent years without a clear understanding of precisely for what they will be used. The contribution of this paper is to provide an understanding and a fairly comprehensive catalog of the applications of process modeling for which formalisms may be used. The primary mechanism for doing this is a guided tour of the literature on process modeling supplemented by recent industrial experience. In the paper, basic definitions concerning processes, process descriptions and process modeling are reviewed and then uses of process modeling are surveyed under the following headings: communication among process participants, construction of new processes, control of processes, process· analysis, and process support by automation. Comments are offered on paradigms for process modeling formalisms and directions for future work to permit evolution of a discipline of process engineering are given
Recommended from our members
Prototyping a process-centered environment
This paper describes an experimental system developed and used as a vehicle for prototyping the Arcadia-1 software development environment. Prototyping is viewed as a knowledge acquisition process and is used to reduce risks in software development by gaining rapid feedback about the suitability of a production system before the system is completed. Prototyping a software development environment is particularly important due to the lack of experience with them. There is an acute need to acquire knowledge about user interaction requirements for software environments. These needs are especially important for the Arcadia project, as it is one of the first attempts to construct a process-centered environment. Our prototyping effort addresses questions about effective interaction with a process-centered environment by simulating how Arcadia-1 would interact with users in a representative range of usage scenarios. We built a prototyping system, called PRODUCER, and used it to generate a variety of prototypes simulating user interactions with Arcadia-1 process programs.Experience with PRODUCER indicates that our approach is effective at risk reduction. The prototypes greatly improved communication with our customer. They confirmed some of our design decisions but also redirected our research efforts as a result of unexpected insight. We also found that prototyping usage scenarios provides conceptual guides and design information for process programmers. Most of the benefits of our prototyping effort derive from developing and interacting with usage scenarios, so our approach is generalizable to other prototyping systems. This paper reports on our prototyping approach and our experience in prototyping a process-centered environment
Recommended from our members
A metaphor and a conceptual architecture for software development environments
A conceptual architecture for software development environments (SDEs) is presented in terms of a new metaphor drawn from business enterprises. A metaphor is employed as the architecture is complex, requiring understanding from several perspectives. The metaphor provides a rich set of familiar concepts that strongly aid in understanding the environment architecture and software production. The metaphor is applicable to individual programming environments, software development environments supporting teams of developers, and to large-scale software production as a whole.The paper begins by considering three perspectives on SDEs, a function-based view, an objects-and-relations view, and a process-centered view. The process view, being the most encompassing, is held through the remainder of the paper. Three metaphors for organizing and explaining a process-centered environment are then examined, including the hierarchical contract model and the individual/family/city/state model. Next the corporation model is introduced and a detailed analogy is drawn between corporations and software development environments. Within the context of the corporation metaphor, three corporate organization schemes are reviewed and federal decentralization is argued to be most appropriate for an SDE. Relationships induced by such an organization are discussed and a mapping between the conceptual architecture and a possible implementation architecture is briefly discussed
Recommended from our members
Enumeration of Non-Separable Graphs on Fewer than Ten Points ; CU-CS-005-72
Until recently, the number of non-separable graphs on seven or fewer points was known due to hand computations carried out by DeRocco [1]. By implementing an algorithm of Robinson [2] on a digital computer we were able to compute the number of non-separable graphs on nine or fewer points. this paper presents these numbers
Recommended from our members
A Theorem for Enumerating Certain Types of Collections ; CU-CS-002-72
In this paper we prove results which allow us to enumerate collection of objects of which n1 are identical to each other, another n2 are identical to each other, but different from the first n1, another n3 are identical to each other, but different from any of the first n1+n2,.... These results are used to enumerate forests consisting of n1 isomorphic copies of some tree, n2 isomorphic copies of a different tree,...
Recommended from our members
Software Environment Research: Directions for the Next Five Years ; CU-CS-195-80
Recommended from our members
Some Classes of Uniquely Colorable Graphs ; CU-CS-003-72
In this paper, we shall present the concept of a uniquely n-colorable graph, and then introduce a class of graphs which we shall call 6-clique rings. We shall show that 6-clique rings are useful in generating some classes of uniquely 3-colorable graphs. Moreover, we shall demonstrate how the technique rings can be extended to allow the production of other classes of uniquely 3-colorable graphs, as well as the production of uniquely n-colorable graphs, where n\u3e3
- …