Formal Verification for the Absence of Deadlock in the Manager Workers Pattern

The Architectural Patterns for Parallel Programming are descriptions of the fundamental organizational features of common toplevel coordinations observed in parallel software systems. They represent a means to capture and express experience in the design and development process of parallel software. Nevertheless, by now, these software patterns have been described in informal terms, in which very little can be stated about the properties present in the final parallel software system. The present paper presents an initial approach for studying and documenting logical properties of an architectural pattern for parallel programming. In particular, the objective here is to formally verify the property known as “absence of deadlock” for the Manager-Workers pattern, a widely used architectural pattern for parallel programming, by means of formal verification using CCS and μ-calculus. The aim is to establish under what conditions this architectural pattern is deadlock-free, and whether this formal verification can be ported later to other Architectural Patterns for Parallel Programming.

[1]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[2]  Dexter Kozen,et al.  RESULTS ON THE PROPOSITIONAL’p-CALCULUS , 2001 .

[3]  Kim G. Larsen,et al.  Proof System for Hennessy-Milner Logic with Recursion , 1988, CAAP.

[4]  Takeo Kanade,et al.  Formal Methods for Open Object-Based Distributed Systems , 2006, Lecture Notes in Computer Science.

[5]  Gregory R. Andrews,et al.  Foundations of Multithreaded, Parallel, and Distributed Programming , 1999 .

[6]  Alan Burns,et al.  Concurrent programming , 1980, Operating Systems Engineering.

[7]  D. J. Walker,et al.  Automated analysis of mutual exclusion algorithms using CCS , 1989, Formal Aspects of Computing.

[8]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[9]  Jorge L. Ortega-Arjona Patterns for Parallel Software Design , 2010 .

[10]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[11]  J. L. Ortega-Arjona,et al.  Architectural patterns for Parallel Programming : models for performance estimation , 2009 .

[12]  Glynn Winskel,et al.  A Note on Model Checking the Modal nu-Calculus , 1991, Theor. Comput. Sci..

[13]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[14]  Graham Roberts,et al.  Architectural Patterns for Parallel Programming , 1998, EuroPLoP.

[15]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .