Petri Net Based Software Validation Prospects and Limitations

Petri net based software validation to check the synchronization structure against some data or control flow anomalies (like unboundedness or non-liveness) has been a well-known and widely used approach for about ten years. To decrease the complexity problem and because the simpler the model, the more efficient the analysis, the validation is usually tried with the help of place transition Petri nets. However, the modelling with this Petri net class involves two important abstractions of actual software properties -the time consumption of any action and the data dependencies among conflict decisions. Basically, this paper discusses some problems resulting from these abstractions in the models analyzed which are very often neglected and have therefore not been well understood up to now. Furthermore, discussing the pros and cons of the Petri net approach is done by offering a rough overview of the given background of dependable distributed software engineering. Suggestions for a related workstation supporting different net-based methods are outlined. 1. E-mail: heiner@kmx.gmd.dbp.de 2. Research Institute for Computer and Software Technique

[1]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[2]  Sol M. Shatz Towards Complexity Metrics for Ada Tasking , 1988, IEEE Trans. Software Eng..

[3]  Dirk Taubner,et al.  Finite Representations of CCS and TCSP Programs by Automata and Petri Nets , 1989, Lecture Notes in Computer Science.

[4]  Jürgen Geissler Zerlegung von diskreten Systemen mit Petri-Netzen , 1985 .

[5]  Victor R. Basili,et al.  Comparing the Effectiveness of Software Testing Strategies , 1987, IEEE Transactions on Software Engineering.

[6]  Gérard Memmi,et al.  Composition of nets via a communication medium , 1991, Applications and Theory of Petri Nets.

[7]  Brian W. Kernighan,et al.  Elements of Programming Style , 1974 .

[8]  Ikuo Nakata,et al.  Modelling and Analysis of Concurrent Processes Connected by Streams , 1987 .

[9]  Jörg Desel,et al.  Partial order behaviour and structure of Petri nets , 2005, Formal Aspects of Computing.

[10]  S. Purushothaman Iyer,et al.  Data flow analysis of communicating finite state machines , 1991, TOPL.

[11]  Hermann Kopetz,et al.  Fault tolerance, principles and practice , 1990 .

[12]  D. P. Siemwiorek Architecture of fault-tolerant computers: an historical perspective , 1991 .

[13]  Peter H. Starke,et al.  Analyse von Petri-Netz-Modellen , 1990, Leitfäden und Monographien der Informatik.

[14]  Ursula Goltz Über die Darstellung von CCS-Programmen durch Petrinetze , 1988 .

[15]  Tadao Murata,et al.  Use of Petri-Net Invariants to Detect Static Deadlocks in Ada Programs , 1986, FJCC.

[16]  Son T. Vuong,et al.  CSP and CSP Nets: A Dual Model for Protocol Specification and Verification , 1984, PSTV.

[17]  Gregor von Bochmann,et al.  Some Comments on "Transition-Oriented" Versus "Structured" Specification of Distributed Algorithms and Protocols , 1987, IEEE Trans. Software Eng..

[18]  Falko Bause,et al.  Eine Modellwelt zur Integration von Warteschlangen- und Petri-Netz-Modellen , 1989, MMB.

[19]  Thomas F. Piatkowski,et al.  A formal comparison of formal protocol specification techniques , 1985, PSTV.

[20]  Dongming Wang,et al.  LNCS: Lecture Notes In Computer Science , 2001 .

[21]  Gregor von Bochmann,et al.  Multiple exits from a loop without the GOTO , 1973, Commun. ACM.

[22]  A. Valmari,et al.  Stubborn Sets for Reduced State Space Generation, Proc. 11th Internat. Conf. on Application and Theory of Petri Nets , 1990 .

[23]  Giorgio Bruno,et al.  Process-translatable Petri nets for the rapid prototyping of process control systems , 1986, IEEE Transactions on Software Engineering.

[24]  G. S. Hura Performance model of software systems using Petri nets , 1984 .

[25]  Jutta Wyes,et al.  Veranschaulichung der Echtzeitkonzepte in PEARL anhand von Petri-Netzen , 1987, Angew. Inform..

[26]  Peter H. Starke Some properties of timed nets under the earliest firing rule , 1988, European Workshop on Applications and Theory in Petri Nets.

[27]  Sol M. Shatz,et al.  STATIC ANALYSIS OF ADA PROGRAMS USING THE PETRI NET MODEL. , 1985 .

[28]  M. Shepperd,et al.  A critique of cyclomatic complexity as a software metric , 1988, Softw. Eng. J..

[29]  Laura K. Dillon Analysis of distributed systems using constrained expressions (concurrent systems) , 1984 .

[30]  村田 智洋 10th Int. Conf. on Application and Theory of Petri Nets , 1989 .

[31]  Pascal Guitton,et al.  An Automatic System for the Study of Protocols: A Presentation and Critique Based on a Worked Example , 1984, PSTV.

[32]  Wouter Joosen,et al.  Towards Parallel Compile Time Debugging of Parallel Applications , 1990 .

[33]  J. Tankoano,et al.  Structure design of distributed systems using interpreted Petri nets , 1989, [1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference.

[34]  Heinrich P. Godbersen,et al.  On the Problem of Time in Nets , 1980, Selected Papers from the First and the Second European Workshop on Application and Theory of Petri Nets.

[35]  R. V. Evans,et al.  Multiple exits from a loop using neither GO TO nor labels , 1974, CACM.

[36]  Antti Valmari,et al.  Stubborn sets for reduced state space generation , 1991, Applications and Theory of Petri Nets.

[37]  Hans Eckert Ein mathematisches Verfahren zur automatisierten Verifikation von Kommunikationsprotokollen , 1985 .

[38]  Deepinder P. Sidhu,et al.  Verification of NBS Class 4 Transport Protocol , 1986, IEEE Trans. Commun..

[39]  Daniel H. Ehrenfried Static analysis of Ada programs , 1994, ALET.

[40]  WirthNiklaus On the Composition of Well-Structured Programs , 1974 .

[41]  Javier Esparza Synthesis Rules for Petri Nets, and How they Lead to New Results , 1990, CONCUR.

[42]  Wei-Tek Tsai,et al.  A tool for discriminant analysis and classification of software metrics , 1987 .

[43]  Wouter Joosen,et al.  A deadlock detection tool for Occam , 1989 .

[44]  Deepinder P. Sidhu Authentication Protocols for Computer Networks: I , 1986, Comput. Networks.

[45]  G. F. Carpenter The synthesis of deadlock-free interprocess communications , 1990 .

[46]  Andrew M. Tyrrell,et al.  Design of reliable software in distributed systems using the conversation scheme , 1986, IEEE Transactions on Software Engineering.

[47]  D. J. Holding,et al.  The design and simulation of software fault tolerant mechanisms for application in distributed processing systems , 1988, Microprocess. Microprogramming.

[48]  Edsger W. Dijkstra,et al.  Go To Statement Considered Harmful , 2022, Software Pioneers.

[49]  Gérard Berthelot,et al.  Checking properties of nets using transformation , 1985, Applications and Theory in Petri Nets.

[50]  N. K. Nanda,et al.  A Petri net approach to the evaluation of the complexity of a program , 1981 .

[51]  Michel Diaz,et al.  Modeling and Analysis of Communication and Cooperation Protocols Using Petri Net Based Models , 1982, Comput. Networks.

[52]  Brian Randell,et al.  Reliability Issues in Computing System Design , 1978, CSUR.

[53]  Johan Fagerström,et al.  A paradigm and system for design of distributed systems , 1988 .

[54]  Jørgen Lindskov Knudsen,et al.  A taxonomy for programming languages with multisequential processes , 1987, J. Syst. Softw..

[55]  Richard N. Taylor,et al.  Combining Static Concurrency Analysis with Symbolic Execution , 1988, IEEE Trans. Software Eng..

[56]  G. S. Hura,et al.  The use of Petri nets to analyze coherent fault trees , 1988 .

[57]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

[58]  Barton P. Miller,et al.  Summary of ACM/ONR workshop on parallel and distributed debugging , 1992, OPSR.

[59]  Michal Sajkowski Protocol Verification Techniques: Status Quo and Perspectives , 1984, PSTV.

[60]  Heinrich P. Godbersen Funktionsnetze - Ein Ansatz zur Beschreibung, Analyse und Simulation soziotechnischer Systeme , 1979, Formale Modelle für Informationssysteme.

[61]  Henri E. Bal,et al.  Programming languages for distributed computing systems , 1989, CSUR.

[62]  Thomas J. LeBlanc,et al.  Debugging Parallel Programs with Instant Replay , 1987, IEEE Transactions on Computers.

[63]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[64]  Dan Jonsson Next: the elimination of Goto-patches? , 1989, SIGP.

[65]  A. Avizienis,et al.  Dependable computing: From concepts to design diversity , 1986, Proceedings of the IEEE.

[66]  Claude Jard,et al.  Attacking a Complex Distributed Algorithm from Different Sides: an Experience with Complementary Validation Tools , 1984, Comput. Networks.

[67]  Edsger W. Dijkstra,et al.  Programming considered as a human activity , 1979 .

[68]  Claudia Relewicz,et al.  Konzepte zur systematischen Systemanalyse mit Petri-Netzen , 1988, GI Jahrestagung.

[69]  Younes Souissi,et al.  On liveness preservation by composition of nets via a set of places , 1990, Applications and Theory of Petri Nets.

[70]  Niklaus Wirth,et al.  On the Composition of Well-Structured Programs , 1974, CSUR.

[71]  Younes Souissi,et al.  Deterministic Systems of Sequential Processes: a class of structured Petri nets , 1991, Applications and Theory of Petri Nets.

[72]  F. Arendt,et al.  Modelling and Verification of Real-Time Software Using Interpreted Petri Nets , 1990 .