Process algebra model of Ada protected objects

The feasibility and efficiency of analyzing concurrent programs mostly relies on the programs' representations. So modeling concurrent programs in a proper and suitable way is very important. Protected objects, which have been introduced in Ada95, are of significant importance in concurrent programming language. In this paper, process algebra is used to model Ada95 protected objects in a neat and tidy way. Because using process algebra can simplify process composition and conveniently hide internal details, it becomes easy to analyze Ada concurrent programs with protected objects and to combat problems of state explosion. In addition, many mechanisms similar to protected objects can be modeled in this way. With these models, many analyses, such as model checking, can be performed.

[1]  Lars Asplund,et al.  A Formal Model of the Ada Ravenscar Tasking Profile; Protected Objects , 1999, Ada-Europe.

[2]  Baowen Xu,et al.  Detecting concurrently executed pairs of statements using an adapted MHP algorithm , 2001 .

[3]  Baowen Xu,et al.  Detecting Deadlock in Ada Rendezvous Flow Structure Based on Process Algebra , 2002, ICFEM.

[4]  Christel Baier,et al.  Model checking performability properties , 2002, Proceedings International Conference on Dependable Systems and Networks.

[5]  John Barnes,et al.  Programming in Ada95 , 1995 .

[6]  Arthur H. M. ter Hofstede,et al.  Task structure semantics through process algebra , 1993, Softw. Eng. J..

[7]  Jim Woodcock,et al.  A Circus Semantics for Ravenscar Protected Objects , 2003, FME.

[8]  Jianjun Zhao,et al.  Concurrent Ada dead statements detection , 2002, Inf. Softw. Technol..

[9]  John G. P. Barnes,et al.  Programming in Ada 95 , 1995 .

[10]  Haiping Xu,et al.  Compositional Petri net models of advanced tasking in Ada-95 , 1999, Comput. Lang..

[11]  Joost-Pieter Katoen,et al.  Towards Model Checking Stochastic Process Algebra , 2000, IFM.

[12]  S. Tucker Taft,et al.  Consolidated Ada Reference Manual Language and Standard Libraries , 2002, Lecture Notes in Computer Science.

[13]  Samson Abramsky,et al.  Handbook of logic in computer science. , 1992 .

[14]  Johann Blieberger,et al.  Symbolic Data Flow Analysis for Detecting Deadlocks in Ada Tasking Programs , 2000, Ada-Europe.

[15]  Baowen Xu,et al.  Static Dependency Analysis for Concurrent Ada 95 Programs , 2002, Ada-Europe.

[16]  Sol M. Shatz,et al.  Modeling of advanced tasking in Ada-95: a Petri net perspective , 1997, Proceedings of PDSE '97: 2nd International Workshop on Software Engineering for Parallel and Distributed Systems.

[17]  Chris Verhoef,et al.  Concrete process algebra , 1995, LICS 1995.

[18]  Baowen Xu,et al.  Detecting concurrently executed pairs of statements using an adapted MHP algorithm , 2001, SIGAda.

[19]  Wei Jen Yeh,et al.  Re‐designing tasking structures of Ada programs for analysis: A case study , 1994, Softw. Test. Verification Reliab..

[20]  Marta Z. Kwiatkowska,et al.  Model checking for probability and time: from theory to practice , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..