In this paper we present an approach to evaluating the expected performance
of a software architecture (SA). The method allows the derivation of a per
formance evaluation model, based on a Queuing Network Model, from a SA form
al specification modeled as a Labeled Transition System (LTS). The goal of
this approach is to provide a set of measures to compare the performance of
two or more competing SAs, even at their high level of abstraction. This m
eans that, differently to most approaches in software performance, we do no
t assume to have, or to expect to obtain, further information on the system
under development from the subsequent development steps, e.g. design, impl
ementation and deployment. Rather we stick at the level of abstraction of t
he SA and even in the absence of relevant pieces of information we want to
be able to carry on an evaluation of concurrent execution of SA which shoul
d allow the validation of the possibly critical design choices made at the
SA level. We aim at deriving mathematical relations among the parameters ch
aracterizing the competing models. These relations are obtained by using im
plementation scenarios to relate the performance indices which can then be
suitably evaluated. Besides assisting in the choice of an SA, these relatio
ns give information on how to carry on the development process in order to
maintain the given performance. To a certain extent, the information obtain
ed by means of the evaluation provides further requirements to be fulfilled
by an implementation in order to satisfy the chosen performance criteria.
This last step suggests the possibility of developing performance models at
the SA design level that can then be used to derive the performance models
related to further development steps. (C) 2001 Elsevier Science B.V. All r
ights reserved.