Defining and Analyzing P2P Applications with a Data-Dependency Formalism
Developing Peer-To-Peer (P2P) applications became increasingly important in software development. Now-a-days, a large number of organizations from many different sectors and sizes depend more and more on collaboration between actors to perform their tasks. These P2P applications usually have a recursive behavior that many modeling approaches cannot describe and analyze (e.g., finite-state approaches). In this paper, the authors present a formal approach that combines component-based development with well-understood methods and techniques from the field of Attribute Grammars and data-flow analysis in order to specify the behavior of P2P applications, and then construct an abstract representation (i.e., data-dependency graph) to perform analyzes on it.