Abstract

Developing peer-to-peer (P2P) applications became increasingly important in software development. Nowadays, 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, we present an 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 construct an abstract representation (i.e. Data-Dependency Graph) for P2P applications, and then perform data-flow analyzes on it. This approach embodies a formalism called DDF (Data-Dependency Formalism) to capture the behavior of P2P applications and construct their Data-Dependency Graphs. Various properties can be inferred and computed at the proposed level of data abstraction, including some properties that model checking cannot compute if the system presents a recursive behavior. As examples, we present two algorithms: one to resolve the deadlock problem and another for dominance analysis.

Keywords

Cite this article

@article{cai-2447,
  author  = {Ayoub Ait Lahcen and Didier Parigot and Salma Mouline},
  title   = {Data-Dependency Formalism for Developing Peer-to-Peer Applications},
  journal = {Computing and Informatics},
  volume  = {36},
  number  = {2},
  pages   = {353--385},
  year    = {2017},
  issn    = {1335-9150},
  doi     = {10.4149/cai_2017_2_353}
}
Download .bib