The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.06 - June (2013 vol.39)
pp: 869-891
Ivano Malavolta , Università dell'Aquila, Italy
Patricia Lago , VU University Amsterdam, Amsterdam
Henry Muccini , Università dell'Aquila, Italy
Patrizio Pelliccione , Università dell'Aquila, Italy
Antony Tang , Swinburne University of Technology, Melbourne
ABSTRACT
Many times we are faced with the proliferation of definitions, concepts, languages, and tools in certain (research) topics. But often there is a gap between what is provided by existing technologies and what is needed by their users. The strengths, limitations, and needs of the available technologies can be dubious. The same applies to software architectures, and specifically to languages designed to represent architectural models. Tens of different architectural languages have been introduced by the research and industrial communities in the last two decades. However, it is unclear if they fulfill the user's perceived needs in architectural description. As a way to plan for next generation languages for architectural description, this study analyzes practitioners' perceived strengths, limitations, and needs associated with existing languages for software architecture modeling in industry. We run a survey by interviewing 48 practitioners from 40 different IT companies in 15 countries. Each participant is asked to fill in a questionnaire of 51 questions. By analyzing the data collected through this study, we have concluded that 1) while practitioners are generally satisfied with the design capabilities provided by the languages they use, they are dissatisfied with the architectural language analysis features and their abilities to define extra-functional properties; 2) architectural languages used in practice mostly originate from industrial development instead of from academic research; 3) more formality and better usability are required of an architectural language.
INDEX TERMS
Unified modeling language, Software architecture, Computer architecture, Industries, Communities, Software, Google, empirical study, Software architecture, architecture description languages, ADL, survey
CITATION
Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio Pelliccione, Antony Tang, "What Industry Needs from Architectural Languages: A Survey", IEEE Transactions on Software Engineering, vol.39, no. 6, pp. 869-891, June 2013, doi:10.1109/TSE.2012.74
REFERENCES
[1] D.E. Perry and A.L. Wolf, "Foundations for the Study of Software Architecture," SIGSOFT Software Eng. Notes, vol. 17, pp. 40-52, Oct. 1992.
[2] P. Clements, F. Bachmann, L. Bass, D. Garlan, J. Ivers, R. Little, P. Merson, R. Nord, and J. Stafford, Documenting Software Architectures: Views and Beyond, second ed. Addison-Wesley Professional, Oct. 2010.
[3] H. Muccini, A. Bertolino, and P. Inverardi, "Using Software Architecture for Code Testing," IEEE Trans. Software Eng., vol. 29, no. 3, pp. 160-171, Mar. 2003.
[4] P. Zhang, H. Muccini, and B. Li, "A Classification and Comparison of Model Checking Software Architecture Techniques," J. Systems and Software, vol. 83, no. 5, pp. 723-744, 2010.
[5] D. Petriu, C. Shousha, and A. Jalnapurkar, "Architecture-Based Performance Analysis Applied to a Telecommuncation System," IEEE Trans. Software Eng., vol. 26, no. 11, pp. 1049-1065, Nov. 2000.
[6] P. Pelliccione, P. Inverardi, and H. Muccini, "Charmy: A Framework for Designing and Verifying Architectural Specifications," IEEE Trans. Software Eng., vol. 35, no. 3, pp. 325-346, May/June 2009.
[7] Fujaba Project, http://wwwcs.uni-paderborn.de/cs/fujaba/ publicationsindex.html, Univ. of Paderborn, Software Eng. Group, 2005.
[8] M. Abi-Antoun, J. Aldrich, D. Garlan, B. Schmerl, N. Nahas, and T. Tseng, "Improving System Dependability by Enforcing Architectural Intent," Proc. Workshop Architecting Dependable Systems, pp. 1-7, 2005.
[9] J. Bosch, Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach, first ed. Addison-Wesley Professional, May 2000.
[10] G.H. Fairbanks, Just Enough Software Architecture: A Risk-Driven Approach, first ed. Marshall and Brainerd, Aug. 2010.
[11] E.R. Poort and H. van Vliet, "Architecting as a Risk- and Cost Management Discipline," Proc. IEEE/IFIP Ninth Working Conf. Software Architecture, pp. 2-11, 2011.
[12] N. Medvidovic, E.M. Dashofy, and R.N. Taylor, "Moving Architectural Description from under the Technology Lamppost," Information and Software Technology, vol. 49, pp. 12-31, 2007.
[13] N. Medvidovic, D.S. Rosenblum, D.F. Redmiles, and J.E. Robbins, "Modeling Software Architectures in the Unified Modeling Language," ACM Trans. Software Eng. and Methodology, vol. 11, no. 1, pp. 2-57, 2002.
[14] D. Garlan and A. Kompanek, "Reconciling the Needs of Architectural Description with Object-Modeling Notations," Proc. Third Int'l Conf. Unified Modeling Language, 2000.
[15] E.M. Dashofy, A. van der Hoek, and R.N. Taylor, "An Infrastructure for the Rapid Development of XML-Based Architecture Description Languages," Proc. 24th Int'l Conf. Software Eng., pp. 266-276, 2002.
[16] N. Medvidovic and R.N. Taylor, "A Classification and Comparison Framework for Software Architecture Description Languages," IEEE Trans. Software Eng., vol. 26, no. 1, pp. 70-93, Jan. 2000.
[17] E. Woods and R. Hilliard, "Architecture Description Languages in Practice Session Report," Proc. IEEE/IFIP Fifth Working Conf. Software Architecture, pp. 243-246, 2005.
[18] E. Woods, "Architecture Description Languages and Information Systems Architects: Never the Twain Shall Meet?" Artechra white paper, 2005.
[19] R.K. Pandey, "Architectural Description Languages (ADLs) vs UML: A Review," SIGSOFT Software Eng. Notes, vol. 35, pp. 1-5, May 2010.
[20] R. Hilliard and T. Rice, "Expressiveness in Architecture Description Languages," Proc. Third Int'l Workshop Software Architecture, pp. 65-68, 1998.
[21] P.C. Clements, "A Survey of Architecture Description Languages," Proc. Eighth Int'l Workshop Software Specification and Design, p. 16, 1996.
[22] B. Kitchenham and S.L. Pfleeger, "Principles of Survey Research: Part 5: Populations and Samples," SIGSOFT Software Eng. Notes, vol. 27, pp. 17-20, Sept. 2002.
[23] "Acme," http://www-2.cs.cmu.edu~acme/, since: 1998, Carnegie Mellon Univ.. 2012.
[24] H.P. Feiler, B. Lewis, and S. Vestal, "The SAE Architecture Analysis and Design Language (AADL) Standard," Proc. IEEE RTAS Workshop, 2003.
[25] P. Binns, M. Englehart, M. Jackson, and S. Vestal, "Domain-Specific Software Architectures for Guidance, Navigation and Control," Int'l J. Software Eng. and Knowledge Eng., vol. 6, no. 2, pp. 201-227, 1996.
[26] S.T. Redwine and W.E. Riddle, "Software Technology Maturation," Proc. Eighth Int'l Conf. Software Eng., pp. 189-200, 1985.
[27] M. Shaw, "The Coming-of-Age of Software Architecture Research," Proc. 23rd Int'l Conf. Software Eng., pp. 657-664, 2001.
[28] D. Garlan, R.T. Monroe, and D. Wile, "Acme: Architectural Description of Component-Based Systems," Foundations of Component-Based Systems, pp. 47-68, Cambridge Univ. Press, 2000.
[29] M. Pinto, L. Fuentes, and J.M. Troya, "DAOP-ADL: An Architecture Description Language for Dynamic Component and Aspect-Based Development," Proc. Second Int'l Conf. Generative Programming and Component Eng., pp. 118-137, 2003.
[30] R. Allen and D. Garlan, "A Formal Basis for Architectural Connection," ACM Trans. Software Eng. Methodology, vol. 6, pp. 213-249, July 1997.
[31] D. Cassou, B. Bertran, N. Loriant, and C. Consel, "A Generative Programming Approach to Developing Pervasive Computing Systems," Proc. Eighth Int'l Conf. Generative Programming and Component Eng., pp. 137-146, 2009.
[32] R. van Ommering, F. van der Linden, J. Kramer, and J. Magee, "The Koala Component Model for Consumer Electronics Software," Computer, vol. 33, no. 3, pp. 78-85, Mar. 2000.
[33] E. Bruneton, T. Coupaye, M. Leclercq, V. Quéma, and J.-B. Stefani, "The Fractal Component Model and Its Support in Java: Experiences with Auto-Adaptive and Reconfigurable Systems," Software Practice and Experience, vol. 36, pp. 1257-1284, Sept. 2006.
[34] J.E. Robbins, N. Medvidovic, D.F. Redmiles, and D.S. Rosenblum, "Integrating Architecture Description Languages with a Standard Design Method," Proc. 20th Int'l Conf. Software Eng., 1998.
[35] P. Kruchten, "Architectural Blueprints—The '4+1' View Model of Software Architecture," IEEE Software, vol. 12, no. 6, pp. 42-50, Nov. 1995.
[36] C. Hofmeister, R. Nord, and D. Soni, Applied Software Architecture. Addison-Wesley, 1998.
[37] H. Gomaa and D. Wijesekera, "The Role of UML, OCL and ADLs in Software Architecture," Proc. Workshop Describing Software Architecture with UML, 2001.
[38] M.M. Kandé, V. Crettaz, A. Strohmeier, and S. Sendall, "Bridging the Gap between IEEE 1471, Architecture Description Languages and UML," Software and System Modeling, vol. 2, pp. 98-112, 2002.
[39] B. Selic, "On Modeling Architectural Structures with UML," Proc. Workshop Describing Software Architecture with UML, in ICSE '01, 2001.
[40] M. Goulo and F. Abreu, "Bridging the Gap between Acme and UML for CBD," Proc. Specification and Verification of Component-Based Systems Workshop, 2003.
[41] S. Roh, K. Kim, and T. Jeon, "Architecture Modeling Language Based on UML2.0," Proc. 11th Asia-Pacific Software Eng. Conf., 2004.
[42] J. Ivers, P. Clements, D. Garlan, R. Nord, B. Schmerl, and J.R.O. Silva, "Documenting Component and Connector Views with UML 2.0," Technical Report CMU/SEI-2004-TR-008, Carnegie Mellon Univ., Software Eng. Inst., 2004.
[43] J.E. Perez-Martinez and A. Sierra-Alonso, "UML 1.4 Versus UML 2.0 as Languages to Describe Software Architectures," Proc. First European Workshop Software Architecture, 2004.
[44] D. Garlan and M. Shaw, "An Introduction to Software Architecture," Advances in Software Eng. and Knowledge Eng., vol. 2, pp. 1-39, 1994.
[45] M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, 1996.
[46] E.M. Dashofy, A.V. der Hoek, and R.N. Taylor, "A Highly-Extensible, XML-Based Architecture Description Language," Proc. IEEE/IFIP Working Conf. Software Architecture, 2001.
[47] J. Magee, J. Kramer, and D. Giannakopoulou, "Behaviour Analysis of Software Architectures," Proc. First Working IFIP Conf. Software Architecture, 1999.
[48] D. Garlan, "Formal Modeling and Analysis of Software Architecture: Components, Connectors, and Events," Proc. Third Int'l School Formal Methods for Software Architectures, pp. 1-24, 2003.
[49] W. Qin and S. Malik, "Architecture Description Languages for Retargetable Compilation," The Compiler Design Handbook: Optimizations & Machine Code Generation, pp. 535-564, CRC Press, 2002.
[50] 42010:2011 Systems and Software Engineering—Architecture Description, ISO/IEC/IEEE Standard, 2011.
[51] D. Di Ruscio, I. Malavolta, H. Muccini, P. Pelliccione, and A. Pierantonio, "Developing Next Generation ADLs through MDE Techniques," Proc. ACM/IEEE 32nd Int'l Conf. Software Eng., 2010.
[52] M.B. Miles and M. Huberman, Qualitative Data Analysis: An Expanded Sourcebook, second ed. Sage Publications, Inc., 1994.
[53] A.N. Oppenheim, Questionnaire Design, Interviewing and Attitude Measurement. Continuum, Oct. 2000.
[54] M. Kasunic, "Designing an Effective Survey," Handbook CMU/SEI-2005-HB-004, Software Eng. Inst., Carnegie Mellon Univ., technical report, www.sei.cmu.edu/pub/documents/05.reports/ pdf05hb004.pdf. 2005.
[55] M.M. Lankhorst, H.A. Proper, and H. Jonkers, "The Anatomy of the ArchiMate Language," Int'l J. Information System Modeling and Design, vol. 1, no. 1, pp. 1-32, 2010.
[56] D.C. Luckham, "Rapide: A Language and Toolset for Simulation of Distributed Systems by Partial Orderings of Events," technical report, Stanford Univ., Stanford, Calif., 1996.
[57] P. Cuenot, P. Frey, R. Johansson, H. Lönn, Y. Papadopoulos, M.-O. Reiser, A. Sandberg, D. Servat, R.T. Kolagari, M. Törngren, and M. Weber, "The East-Adl Architecture Description Language for Automotive Embedded Software," Proc. Int'l Dagstuhl Conf. Model-Based Eng. of Embedded Real-Time Systems, pp. 297-307, 2010.
[58] P. Lago, H. Muccini, and H. van Vliet, "A Scoped Approach to Traceability Management," J. Systems Software, vol. 82, pp. 168-182, Jan. 2009.
[59] P. Kruchten, "What Do Software Architects Really Do?" J. Systems and Software, vol. 81, no. 12, pp. 2413-2416, 2008.
[60] J.F. Hoorn, R. Farenhorst, P. Lago, and H. van Vliet, "The Lonesome Architect," J. Systems and Software, vol. 84, no. 9, pp. 1424-1435, 2011.
[61] D. Hendricksen, 12 Essential Skills for Software Architects. Addison-Wesley Professional, 2011.
[62] L. Capretz and F. Ahmed, "Making Sense of Software Development and Personality Types," IT Professional, vol. 12, no. 1, pp. 6-13, 2010.
[63] P. Kruchten, "What Do Software Architects Really Do?" J. Systems and Software, vol. 81, no. 12, pp. 2413-2416, 2008.
[64] N. Mangano and A. van der Hoek, "The Design and Evaluation of a Tool to Support Software Designers at the Whiteboard," Automated Software Eng., pp. 1-41, 2012.
10 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool