This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Linking Model-Driven Development and Software Architecture: A Case Study
January/February 2009 (vol. 35 no. 1)
pp. 83-93
Anders Mattsson, Combitech AB, Jönköping
Björn Lundell, University of Skövde, Skövde
Brian Lings, University of Skövde, Skövde
Brian Fitzgerald, Univerity of Limerick, Limerick
A basic premise of Model Driven Development (MDD) is to capture all important design information in a set of formal or semi-formal models which are then automatically kept consistent by tools. The concept however is still relatively immature and there is little by way of empirically validated guidelines. In this paper we report on the use of MDD on a significant real-world project over several years. Our research found the MDD approach to be deficient in terms of modelling architectural design rules. Furthermore, the current body of literature does not offer a satisfactory solution as to how architectural design rules should be modelled. As a result developers have to rely on time-consuming and error-prone manual practices to keep a system consistent with its architecture. To realise the full benefits of MDD it is important to find ways of formalizing architectural design rules which then allow automatic enforcement of the architecture on the system model. Without this, architectural enforcement will remain a bottleneck in large MDD projects.

[1] P. America, E. Rommes, and H. Obbink, Multi-View Variation Modeling for Scenario Analysis, 2004.
[2] C. Atkinson and T. Kuhne, “Model-Driven Development: A Metamodeling Foundation,” IEEE Software, vol. 20, no. 5, pp. 36-41, Sept.-Oct. 2003.
[3] P. Baker, L. Shiou, and F. Weil, “Model-Driven Engineering in a Large Industrial Context—Motorola Case Study,” Proc. Eighth Int'l Conf. Model Driven Eng. Languages and Systems, pp. 476-491, 2005.
[4] K. Balasubramanian, A. Gokhale, G. Karsai, J. Sztipanovits, and S. Neema, “Developing Applications Using Model-Driven Design Environments,” Computer, vol. 39, no. 2, pp. 33-40, Feb. 2006.
[5] R.L. Baskerville, “Investigating Information Systems with Action Research,” Comm. AIS, vol. 2, p. 4, 1999.
[6] L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice, second ed. Addison-Wesley, 2003.
[7] I. Bayley, “Formalising Design Patterns in Predicate Logic,” Proc. Fifth IEEE Int'l Conf. Software Eng. and Formal Methods, pp. 25-36, 2007.
[8] P. Bengtsson and J. Bosch, “Scenario-Based Software Architecture Reengineering,” Proc. Fifth Int'l Conf. Software Reuse, pp. 308-317, 1998.
[9] J. Bosch, Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. Addison-Wesley, 2000.
[10] J. Bosch and P. Molin, “Software Architecture Design: Evaluation and Transformation,” Proc. IEEE Conf. and Workshop Eng. of Computer-Based Systems, pp. 4-10, 1999.
[11] K. Braa and R. Vidgen, “Interpretation, Intervention, and Reduction in the Organizational Laboratory: A Framework for In-Context Information System Research,” Accounting, Management and Information Technologies, vol. 9, pp. 25-47, Jan. 1999.
[12] K. Braa and R. Vidgen, “Research: From Observation to Intervention,” Planet Internet, K. Braa, C. Sørenssen, and B. Dahlbom, eds., pp. 251-276, Studentlitteratur, 2000.
[13] F. Buschmann, Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, 1996.
[14] A.H. Eden, “A Theory of Object-Oriented Design,” Information Systems Frontiers, vol. 4, pp. 379-391, 2002.
[15] E. Gamma, Design Patterns : Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[16] J. Greenfield and K. Short, Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. John Wiley & Sons, 2004.
[17] B. Hailpern and P. Tarr, “Model-Driven Development: The Good, the Bad, and the Ugly,” IBM Systems J., vol. 45, pp. 451-461, 2006.
[18] C. Hofmeister, R. Nord, and D. Soni, Applied Software Architecture. Addison-Wesley, 2000.
[19] IEEE Recommended Practice for Architectural Description of Software-Intensive Systems. IEEE, 2000.
[20] A. Jansen and J. Bosch, “Software Architecture as a Set of Architectural Design Decisions,” Proc. Fifth Working IEEE/IFIP Conf. Software Architecture, pp. 109-120, 2005.
[21] A. Jansen, J. van der Ven, P. Avgeriou, and D.K. Hammer, “Tool Support for Architectural Decisions,” Proc. Sixth Working IEEE/IFIP Conf. Software Architecture, pp. 44-53, 2007.
[22] G. Karsai, J. Sztipanovits, A. Ledeczi, and T. Bapty, “Model-Integrated Development of Embedded Software,” Proc. IEEE, vol. 91, pp. 145-164, 2003.
[23] N.F. Kock, R.J. McQueen, and J.L. Scott, “Can Action Research Be Made More Rigorous in a Positivist Sense? The Contribution of an Iterative Approach,” J. Systems and Information Technology, vol. 1, pp. 1-24, 1997.
[24] P. Kruchten, “An Ontology of Architectural Design Decisions in Software Intensive Systems,” Proc. Second Groningen Workshop Software Variability, pp. 54-61, 2004.
[25] P. Kruchten, The Rational Unified Process: An Introduction, third ed. Addison-Wesley, 2004.
[26] P. Kruchten, P. Lago, and H. van Vliet, “Building Up and Reasoning about Architectural Knowledge,” Proc. Second Int'l Conf. Quality of Software Architectures, pp. 43-58, 2006.
[27] P.B. Kruchten, “The 4+1 View Model of Architecture,” IEEE Software, vol. 12, no. 6, pp. 42-50, Nov. 1995.
[28] F. Lau, “A Review on the Use of Action Research in Information Systems Studies,” Proc. IFIP TC8 WG 8.2 Int'l Conf. Information Systems and Qualitative Research, A.S. Lee, J. Liebenau, and J.I.DeGross, eds., pp. 31-68, 1997.
[29] A. Lauder and S. Kent, “Precise Visual Specification of Design Patterns,” Proc. 12th European Conf. Object-Oriented Programming, 1998.
[30] A.S. Lee and R.L. Baskerville, “Generalizing Generalizability in Information Systems Research,” Information Systems Research, vol. 14, pp. 221-243, Sept. 2003.
[31] K. Lewin, Resolving Social Conflicts: Selected Papers on Group Dynamics. Harper & Row, 1948.
[32] Y. Levy and T.J. Ellis, “A Systems Approach to Conduct an Effective Literature Review in Support of Information Systems Research,” Informing Science J., vol. 9, pp. 181-212, 2006.
[33] J.K.H. Mak, C.S.T. Choy, and D.P.K. Lun, “Precise Modeling of Design Patterns in UML,” Proc.. 26th Int'l Conf. Software Eng., pp.252-261, 2004.
[34] 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.
[35] 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 Methodologies, vol. 11, pp. 2-57, 2002.
[36] 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.
[37] T. Mikkonen, “Formalizing Design Patterns,” Proc. 20th Int'l Conf. Software Eng., pp. 115-124, 1998.
[38] T. Mikkonen, R. Pitkanen, and M. Pussinen, “On the Role of Architectural Style in Model Driven Development,” Proc. First European Workshop Software Architecture, pp. 74-87, 2004.
[39] H. Mintzberg, “An Emerging Strategy of “Direct” Research,” Administrative Sciences Quarterly, vol. 24, pp. 582-589, Dec. 1979.
[40] MDA Guide Version 1.0.1, OMG, omg/2003-01-06, 2003.
[41] Unified Modeling Language: Superstructure, OMG, formal/2007-02-05, 2007.
[42] 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.
[43] A. Ran, “ARES Conceptual Framework for Software Architecture,” Software Architecture for Product Families: Principles and Practice, M. Jazayeri, A. Ran, and F. van der Linden, eds., pp. 1-29, Addison-Wesley, 2000.
[44] D.C. Schmidt, “Model-Driven Engineering,” Computer, vol. 39, no. 2, pp. 25-31, Feb. 2006.
[45] B. Selic, “The Pragmatics of Model-Driven Development,” IEEE Software, vol. 20, no. 5, pp. 19-25, Sept./Oct. 2003.
[46] M. Shaw, R. DeLine, D.V. Klein, T.L. Ross, D.M. Young, and G. Zelesnik, “Abstractions for Software Architecture and Tools to Support Them,” IEEE Trans. Software Eng., vol. 21, pp. 314-335, 1995.
[47] D. Soni, R.L. Nord, and C. Hofmeister, “Software Architecture in Industrial Applications,” Proc. 17th Int'l Conf. Software Eng., pp. 196-207, 1995.
[48] M. Staron, “Adopting Model Driven Software Development in Industry—A Case Study at Two Companies,” Proc. Ninth Int'l Conf. Model Driven Eng. Languages and Systems, pp. 57-72, 2006.
[49] J.P. Tolvanen and S. Kelly, “Defining Domain-Specific Modeling Languages to Automate Product Derivation: Collected Experiences,” Proc. Ninth Int'l Conf. Software Product Lines, pp. 198-209, 2005.
[50] J. Tyree and A. Akerman, “Architecture Decisions: Demystifying Architecture,” IEEE Software, vol. 22, pp. 19-27, 2005.
[51] G. Walsham, Interpreting Information Systems in Organizations. John Wiley & Sons, 1993.
[52] F. van der Linden, J. Bosch, E. Kamsties, K. Kansala, and H. Obbink, “Software Product Family Evaluation,” Proc. Third Int'l Conf. Software Product Lines, pp. 110-129, 2004.
[53] R. Wojcik, F. Bachmann, L. Bass, P. Clements, P. Merson, R.L. Nord, and B. Wood, “Attribute-Driven Design (ADD), Version 2.0,” Technical Report CMU/SEI-2006-TR-023, Software Eng. Inst., Carnegie Mellon Univ., Nov. 2006.
[54] R.K. Yin, Case Study Research: Design and Methods, second ed. Sage Publications, 1994.
[55] U. Zdun and P. Avgeriou, “Modeling Architectural Patterns Using Architectural Primitives,” Proc. 20th Ann. ACM SIGPLAN Conf. Object Oriented Programming, Systems, Languages, and Applications, 2005.

Index Terms:
Software Architecture, Model-Driven Development, Case Study Research
Citation:
Anders Mattsson, Björn Lundell, Brian Lings, Brian Fitzgerald, "Linking Model-Driven Development and Software Architecture: A Case Study," IEEE Transactions on Software Engineering, vol. 35, no. 1, pp. 83-93, Jan.-Feb. 2009, doi:10.1109/TSE.2008.87
Usage of this product signifies your acceptance of the Terms of Use.