The Community for Technology Leaders
RSS Icon
Issue No.01 - January/February (2010 vol.36)
pp: 119-140
Ivano Malavolta , University of L'Aquila, L'Aquila
Henry Muccini , University of L'Aquila, L'Aquila
Patrizio Pelliccione , University of L'Aquila, L'Aquila
Damien Andrew Tamburri , University of L'Aquila, L'Aquila
Many architectural languages have been proposed in the last 15 years, each one with the chief aim of becoming the ideal language for specifying software architectures. What is evident nowadays, instead, is that architectural languages are defined by stakeholder concerns. Capturing all such concerns within a single, narrowly focused notation is impossible. At the same time, it is also impractical to define and use a “universal” notation, such as UML. As a result, many domain-specific notations for architectural modeling have been proposed, each one focusing on a specific application domain, analysis type, or modeling environment. As a drawback, a proliferation of languages exists, each one with its own specific notation, tools, and domain specificity. No effective interoperability is possible to date. Therefore, if a software architect has to model a concern not supported by his own language/tool, he has to manually transform (and, eventually, keep aligned) the available architectural specification into the required language/tool. This paper presents DUALLy, an automated framework that allows architectural languages and tools interoperability. Given a number of architectural languages and tools, they can all interoperate thanks to automated model transformation techniques. DUALLy is implemented as an Eclipse plugin. Putting it in practice, we apply the DUALLy approach to the Darwin/FSP ADL and to a UML2.0 profile for software architectures. By making use of an industrial complex system, we transform a UML software architecture specification in Darwin/FSP, make some verifications by using LTSA, and reflect changes required by the verifications back to the UML specification.
Software architectures, interoperability, domain-specific architectures, design tools and techniques, model transformations.
Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, Damien Andrew Tamburri, "Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies", IEEE Transactions on Software Engineering, vol.36, no. 1, pp. 119-140, January/February 2010, doi:10.1109/TSE.2009.51
[1] T.K. Adel Smeda and M. Oussalah, "Meta Architecting: Towered a New Generation of Architecture Description Languages," J. Computer Science, vol. 1, no. 4, pp. 454-460, 2005.
[2] J. Bézivin, F. Büttner, M. Gogolla, F. Jouault, I. Kurtev, and A. Lindow, "Model Transformations? Transformation Models!," Model Driven Eng. Languages and Systems, pp. 440-453, Springer, 2006.
[3] J. Bézivin, F. Jouault, P. Rosenthal, and P. Valduriez, "Modeling in the Large and Modeling in the Small," Model Driven Architecture, vol. 46, pp. 33-46, Springer, 2005.
[4] J. Bézivin, F. Jouault, and P. Valduriez, "On the Need for Megamodels," Proc. Int'l Conf. OOPSLA/Generative Programming and Component Eng., 2004.
[5] D. Colangelo, D. Compare, P. Inverardi, and P. Pelliccione, "Reducing Software Architecture Models Complexity: A Slicing and Abstraction Approach," Proc. Conf. Formal Techniques for Networked and Distributed Systems '06, pp. 243-258, 2006.
[6] K. Czarnecki and S. Helsen, "Feature-Based Survey of Model Transformation Approaches," IBM Systems J., vol. 45, no. 3, pp. 621-645, 2006.
[7] E.M. Dashofy, A.V. der Hoek, and R.N. Taylor, "A Highly-Extensible, XML-Based Architecture Description Language," Proc. Working IEEE/IFIP Conf. Software Architecture, 2001.
[8] E.M. Dashofy, A. van der Hoek, and R.N. Taylor, "An Infrastructure for the Rapid Development of XML-Based Architecture Description Languages," Proc. Int'l Conf. Software Eng., pp. 266-276, 2002.
[9] M. Didonet Del Fabro, J. Bézivin, F. Jouault, E. Breton, and G. Gueltas, "AMW: A Generic Model Weaver," Proc. Première Journée sur l'Ingénierie Dirigée par les Modèles, 2005.
[10] G. Edwards and N. Medvidovic, "A Methodology and Framework for Creating Domain-Specific Development Infrastructures," Proc. IEEE/ACM Int'l Conf. Automated Software Eng., 2008.
[11] M.D.D. Fabro and P. Valduriez, "Semi-Automatic Model Integration Using Matching Transformations and Weaving Models," Proc. ACM Symp. Applied Computing, 2007.
[12] H.P. Feiler, B. Lewis, and S. Vestal, "The SAE Architecture Analysis and Design Language (AADL) Standard," Proc. IEEE Real-Time and Embedded Technology and Applications Symp., 2003.
[13] P.H. Feiler, D. de Niz, C. Raistrick, and B.A. Lewis, "From PIMs to PSMs," Proc. IEEE Int'l Conf. Eng. Complex Computer Systems, pp. 365-370, 2007.
[14] D. Garlan and A. Kompanek, "Reconciling the Needs of Architectural Description with Object-Modeling Notations," Proc. Int'l Conf. Unified Modeling Language, 2000.
[15] D. Garlan, R. Monroe, and D. Wile, "Acme: An Architecture Description Interchange Language," Proc. Conf. Centre for Advanced Studies on Collaborative Research, p. 7, 1997.
[16] 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.
[17] D. Garlan and M. Shaw, "An Introduction to Software Architecture," Advances in Software Eng. and Knowledge Eng., vol. 2, pp. 1-39, World Scientific, 1994.
[18] D. Harel and A. Naamad, "The Statemate Semantics of Statecharts," ACM Trans. Software Eng. Methodologies, vol. 5, no. 4, pp. 293-333, 1996.
[19] T. Hettel, M. Lawley, and K. Raymond, "Model Synchronisation: Definitions for Round-Trip Engineering," Proc. Int'l Conf. Model Transformation, July 2008.
[20] 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.
[21] H. Jonkers, R. van Buuren, F. Arbab, F. de Boer, M. Bonsangue, H. Bosma, H. ter Doest, L. Groenewegen, J.G. Scholten, S. Hoppenbrouwers, M.-E. Iacob, W. Janssen, M. Lankhorst, D. van Leeuwen, E. Proper, A. Stam, L. van der Torre, and G.V. van Zanten, "Towards a Language for Coherent Enterprise Architecture Descriptions," Proc. Int'l Enterprise Distributed Object Computing Conf., 2003.
[22] F. Jouault and J. Bézivin, "KM3: A DSL for Metamodel Specification," Proc. Int'l Conf. Formal Methods for Open Object-Based Distributed Systems, 2006.
[23] F. Jouault and I. Kurtev, "Transforming Models with ATL," Satellite Events at the MoDELS 2005 Conf., Springer, 2006.
[24] J. Kramer and J. Magee, Concurrency: State Models and Java Programs. John Wiley and Sons, 1999.
[25] P. Kruchten, "Architectural Blueprints—The "4+1" View Model of Software Architecture," IEEE Software, vol. 12, no. 6, pp. 42-50, Nov. 1995.
[26] J. Magee, "Behavioral Analysis of Software Architectures Using LTSA," Proc. Int'l Conf. Software Eng., pp. 634-637, 1999.
[27] J. Magee and J. Kramer, "Dynamic Structure in Software Architectures," ACM SIGSOFT Software Eng. Notes, vol. 21, no. 6, pp. 3-14, 1996.
[28] J. Magee, J. Kramer, and D. Giannakopoulou, "Software Architecture Directed Behaviour Analysis," Proc. IEEE Int'l Workshop Software Specification and Design, 1998.
[29] 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.
[30] 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.
[31] 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.
[32] 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.
[33] D.E. Perry and A.L. Wolf, "Foundations for the Study of Software Architecture," ACM SIGSOFT Software Eng. Notes, vol. 17, pp. 40-52, 1992.
[34] M. Pinto, L. Fuentes, and J.M. Troya, "DAOP-ADL: An Architecture Description Language for Dynamic Component and Aspect-Based Development," Proc. Int'l Conf. Generative Programming and Component Eng., pp. 118-137, 2003.
[35] M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.
12 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool