Our work can be characterized by the following
attributes, which set it apart from other work on ar-
chitectural analysis.
• from a software architectural specification it is
quite simple to derive an ACME+ textual descrip-
tion thanks to its expressiveness.
• we propose to estimate the non-functional prop-
erties directly from an architectural description to
avoid problems occurred when using a mathemat-
ical models. In fact, the transformation of soft-
ware architecture to a mathematical model, im-
posed by the analytical approaches, limits their
capacities of analysis which depends on the used
model.
• our analysis approach can be applied to any sys-
tem that can be described by components and con-
nectors for any architectural style (client/server,
pipes and filters, etc.) unlike Acme-based ap-
proach, presented in (Spitznagel and Garlan,
1998), which is limited to client/server systems
analysis.
• system analysis must deal with various quality at-
tributes to enable a better understanding of the
strengths and weaknesses of complex systems
(Dobrica and Niemelae, 2002). Thus, unlike ap-
proaches found in the literature, which analyze ei-
ther performance or reliability quality attributes,
it is possible with the same ACME+ specification
of a software system to analyze both performance
and reliability. It is also possible to extend anal-
ysis to other quality attributes that can be induc-
tively derived such as availability, maintainability,
etc.
• our approach is supported by an automated tool.
The user can perform many different experi-
ments by analyzing the software architecture and
modifying the components and connectors non-
functional properties values or changing the soft-
ware topology to get better performances before
iterating the process again. It is then very easy
to perform many ”what-if” experiments, changing
parameters or structure of the model to see what
the result is.
Among the extensions we envision for this work, we
cite: the analysis of other quantitative non functional
attributes and to investigate more profoundly archi-
tecture styles and dynamic architectures.
REFERENCES
(December 2005). Wr2fdr. http://www.cs.cmu.edu/∼able/
wright/wr2fdr
bin.tar.gz.
Allen, R. and Garlan, D. (1996). A case study in architec-
tural modeling: The aegis system. In In Proceedings
of the 8th International Workshop on Software Speci-
fication and Design, pages 6–15.
Aquilani, F., Balsamo, S., and Inverardi, P. (2001). Per-
formance analysis at the software architectural design
level. Perform. Eval., 45(2-3):147–178.
Balsamo, S., Bernardo, M., and Simeoni, M. (2002). Com-
bining stochastic process algebras and queueing net-
works for software architecture analysis. In Workshop
on Software and Performance, pages 190–202.
Bass, L., Clements, P., and Kazman, R. (1998). Software
Architecture in Practice. Addison Wesley Longman
Publishing Co., Inc., Boston, MA, USA.
Bosch, J. (1999). Design and use of industrial software ar-
chitectures. In Proceedings of Technology of Object-
Oriented Languages and Systems.
Cheung, R. (1980). A user-oriented software reliability
model. IEEE Trans. on Software Engineering, 6:118–
125.
Denning, P. and Buzen, J. (1978). The operational analysis
of queueing network models. ACM Computing Sur-
veys, 10:225–261.
Dobrica, L. and Niemelae, E. (2002). A survey on software
architecture analysis methods. IEEE Transactions on
Software Engineering, 28:638–653.
Franco, J., Barbosa, R., and Rela, M. (2012). Automated re-
liability prediction from formal architectural descrip-
tions. In WICSA/ECSA, pages 302–309.
Giannakopoulou, D., Kramer, J., and Cheung, S. (1999).
Behaviour analysis of distributed systems using the
tracta approach. Journal of Automated Software Engi-
neering, 6(1):7–35.
Gokhale, S. S. (2007). Architecture-based software reliabil-
ity analysis: Overview and limitations. IEEE Trans.
Dependable Sec. Comput., 4(1):32–40.
Goseva-Popstojanova, K. and Trivedi, K. (2001).
Architecture-based approach to reliability assess-
ment of software systems. Journal of Performance
Evaluation, 45(2-3):179–204.
Kompanek, A. (1998). Acmestudio user’s manual.
Krishnamurthy, S. and Mathur, A. P. (1997). On the estima-
tion of reliability of a software system using reliabil-
ities of its components. In Proceedings of the Eighth
International Symposium on Software Reliability En-
gineering, ISSRE ’97, pages 146–155.
Kwiatkowska, M., Norman, G., and Parker, D. (2009).
Prism: Probabilistic model checking for performance
and reliability analysis. ACM SIGMETRICS Perfor-
mance Evaluation Review, 36(4):40–45.
Medvidovic, N. and Taylor, R. (2000). A classification and
comparison framework for software architecture de-
scription languages. IEEE Transactions on Software
Engineering, 11(1):70–93.
Shooman, M. (1976). Structural models for software reli-
ability prediction. In Proceedings of the 2Nd Inter-
national Conference on Software Engineering, ICSE
’76, pages 268–280.
Spitznagel, B. and Garlan, D. (1998). Architecture-based
performance analysis. In Proceedings of the 1998
Conference on Software Engineering and Knowledge
Engineering, pages 146–151.
ENASE2015-10thInternationalConferenceonEvaluationofNovelSoftwareApproachestoSoftwareEngineering
66