This work presents a methodology for systems modeling based on PROT nets (a form of Petri nets), which exploits the formal properties of the PROT graphical notation in a way that makes it suitable for use with automated techniques. Specifications created from a combination of PROT diagrams and textual input using Ada syntax are shown to be executable in the sense that compilable Ada source code can be produced from them. The methodology and associated software tools are intended to facilitate a rapid prototyping approach to systems analysis. This approach has been shaped to a large extent by methodological considerations that have developed within the Ada community, and exploits “advanced tasking and structuring” mechanisms of Ada. Emphasis is placed on object-oriented analysis and software reuse.
Following an introduction to the context and motivation for this work, the bulk of the paper is divided into two sections. The first of these gives a conceptual overview of the methodology, while the second illustrates the ways in which the representations employed may be transformed into Ada code. A simple example is presented which shows a partial specification of a computer integrated manufacturing system.
The methodology proceeds in three steps. The first is concerned with specifying the control flow and inner behavior of classes of objects identified within the problem domain. The second introduces data types into these objects, and the third specifies the makeup of a system in terms of instantiated objects and the communications between them. The description of the conventions for transformation of the system specification into Ada provides the most valuable aspects of the paper, and involves some interesting uses of generics.
While the paper is timely in a number of respects, and suggests some powerful techniques that can be automated, its presentation is rather sketchy. In several places, a lack of clarity and detail makes it difficult to determine how the translation to Ada takes place and to what extent it is susceptible to automation (that is, how much Ada code is derived from the graphical notation, and how much must be hand-coded). The potential benefits of techniques such as these are readily apparent, however, and the concepts employed here are well worth considering. Familiarity with Petri nets is assumed.