A formal method for software maintenance

Petri net theory allows a system to be modeled by a Petri net, an abstract formal model of information flow characterised by controls and constraints. Analysis of the Petri net can then reveal important information about the structure and dynamic behaviour of the modeled system, which can be used to evaluate the modeled system and suggest improvements or changes. This feature can be used in software maintenance. We propose a method for developing a Predicate/Transition net (PrT net) for software maintenance, whereby, software components are reverse engineered and annotated with formal predicates, transformed into a PrT net, and analysed on the PrT net. The advantage of the method is that inconsistencies of a program can be detected and revealed precisely.

[1]  R. Prieto-Diaz,et al.  Implementing faceted classification for software reuse , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[2]  Corrado Böhm,et al.  Flow diagrams, turing machines and languages with only two formation rules , 1966, CACM.

[3]  T. Agerwala,et al.  Putting Petri nets to work , 1989 .

[4]  T. Murata State equation, controllability, and maximal matchings of petri nets , 1977 .

[5]  William B. Frakes,et al.  An Empirical Study of Representation Methods for Reusable Software Components , 1994, IEEE Trans. Software Eng..

[6]  Tilak Agerwala,et al.  Special Feature: Putting Petri Nets to Work , 1979, Computer.

[7]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[8]  Edsger W. Dijkstra,et al.  Structured programming , 1972, A.P.I.C. Studies in data processing.

[9]  Dewayne E. Perry,et al.  Software interconnection models , 1987, ICSE '87.

[10]  Rubén Prieto-Díaz,et al.  Module interconnection languages , 1986, J. Syst. Softw..

[11]  Hongji Yang,et al.  Acquiring data designs from existing data-intensive programs , 1994 .

[12]  Tadao Murata,et al.  A Predicate-Transition Net Model for Parallel Interpretation of Logic Programs , 1988, IEEE Trans. Software Eng..

[13]  William C. Chu,et al.  Component reuse through reverse engineering and semantic interface analysis , 1995, Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95).

[14]  Charles Patrick Crowley Analysis and simulation of graph models. , 1976 .

[15]  David C. Luckham,et al.  An Overview of Anna, a Specification Language for Ada , 1985, IEEE Software.

[16]  Scott Henninger,et al.  Using iterative refinement to find reusable software , 1994, IEEE Software.

[17]  William B. Frakes,et al.  An information system for software reuse , 1988 .

[18]  William C. Chu,et al.  The integration and adaptation of reusable components through semantic interface analysis , 1994, Proceedings Eighteenth Annual International Computer Software and Applications Conference (COMPSAC 94).

[19]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .