Introduction. Technical report, Software Engineering
Institute.
Fuxman, A. D. (2000). A survey of architecture description
languages. Technical Report CSRG-407, Department
of Computer Science,University of Toronto, Toronto,
Ontario, Canada M5S 3G4.
Garlan, D. and Shaw, M. (1994). An introduction to soft-
ware architecture. Technical report, Pittsburgh, PA,
USA.
Hoare, C. A. R. (1978). Communicating sequential pro-
cesses. Commun. ACM, 21(8):666–677.
Holzmann, G. J. (2004). The SPIN Model Checker - primer
and reference manual. Addison-Wesley.
Ivers, J., Clements, P., Garlan, D., Nord, R., Schmerl, B.,
and Silva, J. R. O. (2004). Documenting component
and connector views with UML 2.0. Technical Report
CMU/SEI-2004-TR-008, Software Engineering Insti-
tute (Carnegie Mellon University).
Luckham, D. C. (1996). Rapide: A language and toolset
for simulation of distributed systems by partial order-
ings of events. Technical report, Stanford University,
Stanford, CA, USA.
Magee, J. and Kramer, J. (1996). Dynamic structure in soft-
ware architectures. In SIGSOFT FSE, pages 3–14.
Magee, J., Kramer, J., and Giannakopoulou, D. (1997).
Analysing the behaviour of distributed software archi-
tectures: a case study. In FTDCS, pages 240–247.
IEEE Computer Society.
Malavolta, I., Lago, P., Muccini, H., Pelliccione, P., and
Tang, A. (2012). What industry needs from architec-
tural languages: A survey. IEEE Transactions on Soft-
ware Engineering, 99.
Medvidovic, N. and Taylor, R. N. (2000). A classification
and comparison framework for software architecture
description languages. IEEE Trans. Software Eng.,
26(1):70–93.
Meyer, B. (1992). Applying “Design by Contract”. IEEE
Computer, 25(10):40–51.
Milner, R., Parrow, J., and Walker, D. (1992). A calculus of
mobile processes, i. Inf. Comput., 100(1):1–40.
Ozkaya, M. and Kloukinas, C. (2014). Design-by-
contract for reusable components and realizable ar-
chitectures. In Seinturier, L., de Almeida, E. S.,
and Carlson, J., editors, CBSE’14, Proceedings of
the 17th International ACM SIGSOFT Symposium
on Component-Based Software Engineering (part of
CompArch 2014), Marcq-en-Baroeul, Lille, France,
June 30 - July 4, 2014, pages 129–138. ACM.
Perry, D. E. and Wolf, A. L. (1992). Foundations for the
study of software architecture. SIGSOFT Softw. Eng.
Notes, 17(4):40–52.
Plasil, F. and Visnovsky, S. (2002). Behavior protocols
for software components. IEEE Trans. Software Eng.,
28(11):1056–1076.
Reussner, R., Poernomo, I., and Schmidt, H. (2003). Rea-
soning about Software Architectures with Contrac-
tually Specified Components. In Cechich, A., Piat-
tini, M., and Vallecillo, A., editors, Component-Based
Software Quality, volume 2693 of Lecture Notes in
Computer Science, page 287â
˘
A¸S325. Springer Berlin
Heidelberg.
Rumbaugh, J. E., Jacobson, I., and Booch, G. (1999).
The unified modeling language reference manual.
Addison-Wesley-Longman.
Shaw, M., DeLine, R., Klein, D. V., Ross, T. L., Young,
D. M., and Zelesnik, G. (1995). Abstractions for soft-
ware architecture and tools to support them. IEEE
Trans. Software Eng., 21(4):314–335.
Spivey, J. M. (1992). Z Notation - a reference manual (2.
ed.). Prentice Hall International Series in Computer
Science. Prentice Hall.
Taylor, R. N., Medvidovic, N., Anderson, K. M., Jr., E.
J. W., Robbins, J. E., Nies, K. A., Oreizy, P., and
Dubrow, D. L. (1996). A component- and message-
based architectural style for gui software. IEEE Trans.
Software Eng., 22(6):390–406.
Vestal, S. (1993). A cursory overview and comparison of
four architecture description languages. Technical re-
port, Honeywell Technology Center.
Woods, E. and Hilliard, R. (2005). Architecture description
languages in practice session report. In Proceedings of
the 5th Working IEEE/IFIP Conference on Software
Architecture, WICSA ’05, pages 243–246, Washing-
ton, DC, USA. IEEE Computer Society.
APPENDIX
In the Appendix, you will find a table for each sur-
vey section, in which the percentages of the responses
are shown for the questions of that section. Note
that we have not included the questions of the first
section (i.e., Personal Information introduced in Sec-
tion 2.2.1) as the responses for those questions are not
discussed in Section 3 for finding an answer to the re-
search questions. Note also that for some questions,
the percentages are not integer values (e.g., 42.8). In
such cases, the nearest integer values are given (e.g.,
43 for 42.8).
What is Software Architecture to Practitioners: A Survey
685