A UML Profile for Software Architectures and Peer to
Peer Dependable Applications
Aphrodite Tsalgatidou, George Athanasopoulos, Periklis Liaskovitis
*
Dept. of Informatics & Telecommunications, National & Kapodistrian University of Athens
(NKUA), Panepistimiopolis, Ilisia 157 84, Greece
{atsalga , gathanas , pliaskov}@di.uoa.gr
Abstract. Peer-to-peer (p2p) applications exhibit characteristics such as
dynamic network topology and configuration, heterogeneity and scalability that
make their development a complicated task. This is further aggravated due to
the required satisfaction of dependability properties, i.e. security, availability,
reliability, etc. Furthermore, p2p application requirements are driven by the
software architecture adopted for their development while in other kinds of
applications, the requirements drive the architecture. It is therefore only natural
to adopt an architecture-based approach for the development of p2p dependable
applications in order to ensure at the architectural level that dependability
requirements are met. An essential part for the effective architecture-based
development is the use of an appropriate modelling mechanism. In this paper
we argue on the use of a UML profile that provides appropriate constructs and
notations for modelling dependable p2p software architectures.
1. Introduction
Peer-to-peer (p2p) computing is a form of networking that eliminates the need for
servers and leverages computing capabilities, by enabling individual computers to
share resources (applications, drive space, processing power, etc.) and to
communicate with each other as peers. One of the major challenges for the wide
applicability and use of p2p applications, especially in the business domain, is the
satisfaction of their dependability requirements, i.e. reliability, security, survivability,
responsiveness and availability. This is of paramount importance since p2p
applications operate in an open environment such as the Internet where there is no
control over the participating nodes or users.
The nature of p2p applications is such, that their software architecture drives their
requirements while in other kind of applications the requirements drive the
architecture. Therefore, an architecture-based approach provides a good basis for the
development of p2p applications as it can facilitate developers to predict the quality of
a final p2p application before proceeding to its implementation and to ensure at the
architecture level that dependability requirements are met. This requires appropriate
*
P. Liaskovitis is currently at the ECE Dept. of the University of California San Diego, USA,
pliaskov@ucsd.edu
9
Proceedings of the CAiSE'05 Forum - O. Belo, J. Eder, J. Falcão e Cunha, O. Pastor (Eds.)
© Faculdade de Engenharia da Universidade do Porto, Portugal 2005 - ISBN 972-752-078-2