We show how colored Petri nets can be used to model concurrent programs. We describe a translation from a substantive subset of Ada including dynamic tasking, subroutines, and generics, constructs that have not been m...
详细信息
We show how colored Petri nets can be used to model concurrent programs. We describe a translation from a substantive subset of Ada including dynamic tasking, subroutines, and generics, constructs that have not been modeled with Petri nets before. The technical challenge overcome by translation is to avoid duplicated subnets in the presence of synchronization. This assists modular analysis of the components. The translation has been implemented in the programming language ML. We develop a new Petri net model for concurrent programs using colored Petri nets. This model is concise, natural, and has other properties desirable for the purposes we require. The model uses a relatively rare form of colored Petri nets to achieve these advantages. We describe some techniques we have developed to analyze the colored Petri net model. In particular, we consider a notion of a critical path in the model. We apply these techniques to models of Ada programs.
The aim of this paper is to present a new structural testing method for use with Jackson structured programming designed programs. The problems associated with testing are outlined and the concepts behind structural t...
详细信息
The aim of this paper is to present a new structural testing method for use with Jackson structured programming designed programs. The problems associated with testing are outlined and the concepts behind structural testings are briefly discussed. The new structural testing method (STM) is described. The method involves the creation of a path expression from the program structure and the sbsequent expansion of the expression into a set paths. An example describes the application of the methods. A software tool written in Prolog to support STM is described in detail, again with the use of an example. The applicability of the method and supporting tool to practising software engineers is discussed, along with the advantages and disadvantages Further work being undertaken by the authors is outlined.
This paper describes four years of experience with the Yourdon diagram-based structured methodology in a medium-sized company producing real-time industrial systems. The methodology is outlined and some of the problem...
详细信息
This paper describes four years of experience with the Yourdon diagram-based structured methodology in a medium-sized company producing real-time industrial systems. The methodology is outlined and some of the problems encountered are described along with the substantial benefits gained. There is some discussion of future prospects with Yourdon, including a brief assessment of recent real-time extensions, and of the methodology's ability to take on board automation and more formal methods.
Considerations and techniques are proposed that reduce the complexity of programs by dividing them into functional modules. This can make it possible to create complex systems from simple, independent, reusable module...
详细信息
Considerations and techniques are proposed that reduce the complexity of programs by dividing them into functional modules. This can make it possible to create complex systems from simple, independent, reusable modules. Debugging and modifying programs, reconfiguring I/O devices, and managing large programming projects can all be greatly simplified. And, as the module library grows, increasingly sophisticated programs can be implemented using less and less new code.
This paper describes the structure and tasking features of the programming language Martlet. Martlet is based on two languages: Pascal and the US Department of Defence language Ada. Essentially, the sequential part of...
详细信息
This paper describes the structure and tasking features of the programming language Martlet. Martlet is based on two languages: Pascal and the US Department of Defence language Ada. Essentially, the sequential part of the language is Pascal and this has been extended to include a number of the structural and tasking features of Ada. The latter are described in the paper, and also the overheads required to implement these features on an actual multiprocessor structure are presented.
Prolog is a relatively new programming language that has proved excellent for symbolic computation. However, Prolog was not specifically designed for industrial scale work and it lacks some standard features that are ...
详细信息
Prolog is a relatively new programming language that has proved excellent for symbolic computation. However, Prolog was not specifically designed for industrial scale work and it lacks some standard features that are useful for reading, maintaining and debugging large programs. In particular, Prolog has no record mechanism, and programs often require major changes when data structures are modified. The record is a standard data abstraction concept that improves the robustness of programs. The main advantage in using records is that data structures can be modified and extended with minimal repercussion to program code. Furthermore, the use of significant names to access data fields means that the intent of code is generally clearer. We present a set of primitive operators that support a readable and robust programming style for the manipulation of record data structures in standard Prolog. The proposal covers both simple and imbricated record types and handles selective modification of records cleanly. We also treat property lists and records in a uniform way. These benefits are achieved with minimal overhead while retaining the traditional Prolog non-deterministic style.
Although COBOL lacks many features required to support structured programming, it can be used to simulate reasonably well-structured programs. This simulation is particularly important for restructuring of poorly stru...
详细信息
Although COBOL lacks many features required to support structured programming, it can be used to simulate reasonably well-structured programs. This simulation is particularly important for restructuring of poorly structured old programs. This paper describes the formulation of and experiments with a practical methodology for conversion of unstructured COBOL programs into reasonably well-structured equivalents. The discussion includes the overview of an automatic COBOL restructuring system, the results of an experiment with this system and an interpretation of these results.
A control-flow model for functional programs is used in an experimental comparison of the performance of programmers on structured versus nonstructured Miranda function definitions. The performance is taken as a measu...
详细信息
A control-flow model for functional programs is used in an experimental comparison of the performance of programmers on structured versus nonstructured Miranda function definitions. The performance is taken as a measure of the comprehensibility of functional programs. The experimental set-up is similar to the Scanlan study (1989). However, in the present study, a two-factor repeated measures design is used in the statistical analysis. The control-flow model appears to be useful in the shaping of the experiment. A significantly better performance has been found for structured function definitions on both dependent variables: the time needed to answer questions about the function definitions and the proportion correct answers. Moreover, for structured function definitions, a counter-intuitive result has been obtained: there are significantly fewer errors in lar er definitions than in smaller ones.
The need is argued for a rigorous and general theory of structured programming as a basis for improving software quality. Formal graph theoretic methods are developed which allow the structural modelling, metrication ...
详细信息
The need is argued for a rigorous and general theory of structured programming as a basis for improving software quality. Formal graph theoretic methods are developed which allow the structural modelling, metrication and reconstruction of sequential programs in terms of precisely defined general sets of basic control structures. Throughout, concepts are illustrated by examples based on actual Basic and Pascal text.
The results of a study of software enhancement projects involving identical information requirements are reported. A sample drawn from the 200 largest commercial banks in the United States was examined to determine th...
详细信息
The results of a study of software enhancement projects involving identical information requirements are reported. A sample drawn from the 200 largest commercial banks in the United States was examined to determine the levels of programming, systems analysis, and project management effort necessary to implement interest reporting requirements of the U.S. Tax Equity and Fiscal Responsibility Act (TEFRA) of 1982. Results of the study indicate that firms using structured systems design and programming techniques expended twice as much effort to implement the TEFRA requirements as those using non-structured approaches. It was also found that firms purchasing software expended nearly the same amount of effort as those using traditional systems analysis and programming techniques.
暂无评论