| Peer-Reviewed

A Framework for Evaluating Model-driven Architecture

Received: 18 December 2012    Accepted:     Published: 30 December 2012
Views:       Downloads:
Abstract

In the last few years, Model Driven Development (MDD) has become an interesting alternative for designing the self-adaptive software systems. In general, the ultimate goal of this technology is to be able to reduce development costs and effort, while improving the modularity, flexibility, adaptability, and reliability of software systems. An analysis of model-driven methodologies shows them all to include the principle of the separation of concerns as a key factor for obtaining high-quality and self-adaptable software systems. Each methodology identifies different concerns and deals with them separately in order to specify the design of the self-adaptive applications, and, at the same time, support software with adaptability and context-awareness. This research studies the development methodologies that employ the principles of model-driven architecture in building self-adaptive software systems. To this aim, this article proposes an evaluation framework for analyzing and evaluating the features of those development approaches and their ability to support software with self-adaptability and dependability in highly dynamic contextual environment. Such evaluation framework can facilitate the software developers on selecting a development methodology that suits their software requirements and reduces the development effort of building self-adaptive software systems. This study highlights the major drawbacks of the proposed model-driven approaches in the related works, and emphasize on considering the volatile aspects of self-adaptive software in the analysis, design and implementation phases of the development methodologies. In addition, we argue that the development methodologies should leave the selection of modeling languages and modeling tools to the software developers.

Published in American Journal of Software Engineering and Applications (Volume 1, Issue 1)
DOI 10.11648/j.ajsea.20120101.12
Page(s) 10-22
Creative Commons

This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited.

Copyright

Copyright © The Author(s), 2024. Published by Science Publishing Group

Keywords

Model-Driven Architecture, Self-Adaptive Application, Context Oriented Software Development, Evaluation Framework Of Model-Driven Architecture

References
[1] Parashar, M., Hariri, S.: Autonomic computing: An overview. Unconventional Programming Paradigms (2005) 257–269.
[2] Hirschfeld, R., Costanza, P., Nierstrasz, O.: Context-oriented programming. Journal of Object Technology 7(3) (March 2008) 125–151.
[3] Oreizy, P., Gorlick, M., Taylor, R., Heimhigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D., Wolf, A.: An architecture-based approach to self-adaptive software. Intelligent Systems and Their Applications 14(3) (1999) 54–62.
[4] Kleppe, A.G., Warmer, J., Bast, W.: MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley Longman Publishing, Boston, MA, USA (2003).
[5] Inverardi, P., Tivoli, M.: The future of software: Adaptation and dependability. In Lucia, A., Ferrucci, F., eds.: Software Engineering. (2009) 1–31.
[6] Apel, S., Leich, T., Saake, G.: Aspectual mixing layers: aspects and features in concert. In: Proceedings of the 28th international conference on Software engineering. (ICSE ’06), Shanghai, China, ACM (2006) 122–131.
[7] Lincke,J.,Appeltauer,M.,Steinert,B.,Hirschfeld,R.:Anopenimplementationfor context-oriented layer composition in contextjs. Science of Computer Programming 76 (December 2011) 1194–1209.
[8] Carton, A., Clarke, S., Senart, A., Cahill, V.: Aspect-oriented model-driven development for mobile context-aware computing. In: Proceedings of the 1st International Workshop on Software Engineering for Pervasive Computing Applications, Systems, and Environments. (SEPCASE ’07), Washington, DC, USA (2007) 5–10.
[9] Kuwadekar, A., Joshi, A., Al-Begain, K.: Real time video adaptation in next generation networks. In: Proceedings of Fourth International Conference on Next Generation Mobile Applications, Services and Technologies (NGMAST 2010). Volume 1 of LNCS., Amman, Jordan (july 2010) 54 –60.
[10] A. Kuwadekar, C. Balakrishna, and K. Al-Begain, "Genxfone: design and implementation of next-generation ubiquitous sip client," in Proceedings of the Second International Conference on Next Generation Mobile Applications, Services and Technologies, ser. (NGMAST ’08), Cardiff, UK, sept. 2008.
[11] Belaramani, N.M., Wang, C.L., Lau, F.C.M.: Dynamic component composition for functionality adaptation in pervasive environments. In: Proceedings of the Ninth IEEE Workshop on Future Trends of Distributed Computing Systems. (FTDCS ’03), San Juan, Puerto Rico (May 2003) 226–232.
[12] Salehie, M., Tahvildari, L.: Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems (TAAS) 4 (May 2009) 14:1–14:42.
[13] Harrison, W.: Modularity for the changing meaning of changing. In: Proceedings of the tenth international conference on Aspect-oriented software development. (AOSD ’11), Porto de Galinhas, Brazil (2011) 301–312.
[14] Eclipse: Eclipse modeling framework. http://www.eclipse.org/modeling/emf/ (November 2012) [Online; accessed 1-November-2012].
[15] de Farias, C.R.G., Leite, M.M., Calvi, C.Z., Pessoa, R.M., Filho, J.G.P.: A mof metamodel for the development of context-aware mobile applications. In: Proceedings of the 22nd Annual ACM Symposium on Applied Computing. (SAC ’07), Seoul, Korea (2007) 947–952.
[16] Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: An overview of aspectj. In: Proceedings of the 15th European Conference on Object-Oriented Programming, (ECOOP 2001). Volume 2072 of LNCS., Budapest, Hungary (2001) 327–354.
[17] France, R., Rumpe, B.: Model-driven development of complex software: A research roadmap. In: Proceedings of the Future Of Software Engineering. (FOSE ’07), Washington, DC, USA (2007) 37–54.
[18] Daniele, L.M., Ferreira Pires, L., Sinderen, M.: An mda-based approach for behaviormodeling of context-aware mobile applications. In: Proceedings of the 5th European Conference on Model Driven Architecture Foundations and Applications. (ECMDA-FA ’09), Birmingham, UK (2009) 206–220.
[19] Sindico, A., Grassi, V.: Model driven development of context aware software systems. In: Proceedings of International Workshop on Context-Oriented Programming. (COP ’09), Genova, Italy (2009) 7:1–7:5.
[20] Bartolomeo, G., Salsano, S., Melazzi, N., Trubiani, C.: Smile: simple middleware independent layer for distributed mobile applications. In: Proceedings of the Wireless Communications and Networking Conference. (WCNC 2008), Las Vegas, USA (31 2008-april 3 2008) 3039–3044.
[21] Appeltauer, M., Hirschfeld, R., Masuhara, H.: Improving the development of context-dependent java applications with contextj. In: Proceedings of the International Workshop on Context-Oriented Programming. (COP ’09), Genova, Italy (2009) 5:1–5:5.
[22] Appeltauer, M., Hirschfeld, R., Haupt, M., Masuhara, H.: Contextj: Context-oriented programming with java. Information and Media Technologies 6(2) (2011) 399–419.
[23] Floch, J., Hallsteinsen, S., Stav, E., Eliassen, F., Lund, K., Gjorven, E.: Using architecture models for runtime adaptability. IEEE software 23(2) (2006) 62–70.
[24] Rouvoy, R., Beauvois, M., Lozano, L., Lorenzo, J., Eliassen, F.: Music: an autonomous platform supporting self-adaptive mobile applications. In: Proceedings of the 1st workshop on Mobile middleware: embracing the personal communication device. (MobMid ’08), Leuven, Belgium (2008) 6:1–6:6.
[25] Rouvoy, R., Barone, P., Ding, Y., Eliassen, F., Hallsteinsen, S., Lorenzo, J., Mamelli, A., Scholz, U.: Music: Middleware support for self-adaptation in ubiquitous and service-oriented environments. In Cheng, B.H., Lemos, R., Giese, H., Inverardi, P., Magee, J., eds.: Software Engineering for Self-Adaptive Systems. (2009) 164–182.
[26] Osgi: the dynamic module system for java. http://www.osgi.org/Main/HomePage (November 2010) [Online; accessed 1-November-2010].
[27] Paspallis, N.: Middleware-based development of context-aware applications with reusable components. PhD thesis, University of Cyprus, Department of Computer Science (Nov 2009).
[28] Reichle, R., Wagner, M., Khan, M.U., Geihs, K., Lorenzo, J., Valla, M., Fra, C., Paspallis, N., Papadopoulos, G.A.: A comprehensive context-modeling framework for pervasive computing systems. In: Proceedings of the 8th international conference on Distributed applications and interoperable systems. (DAIS ’08), Oslo, Norway (2008) 281–295.
[29] Khan, M.U.: Unanticipated Dynamic Adaptation of Mobile Applications. PhD thesis, University of Kassel, Distributed Systems Group, Kassel, Germany (may 2010).
[30] Tesoriero, R., Gallud, J., Lozano, M., Penichet, V.: Cauce: Model-driven development of context-aware applications for ubiquitous computing environments. Journal of Universal Computer Science 16(15) (July 2010) 2111–2138.
[31] Sheng, Q., Benatallah, B.: Contextuml: a uml-based modeling language for model-driven development of context-aware web services. In: Proceeding of the 4th International Conference on Mobile Business. (ICMB ’05), Sydney, Australia (2003) 11–13.
[32] Prezerakos, G., Tselikas, N., Cortese, G.: Model-driven composition of context-aware web services using contextual and aspects. In: Proceedings of the IEEE International Conference on Web Services. (ICWS 2007), Utah, USA (July 2007) 320–329.
[33] Magableh, B., Barrett, S.: Context oriented software development. Journal of Emerging Technologies in Web Intelligence (JETWI) 3(4) (June 2012) 206–216.
[34] Miller, J., Mukerji, J.: Mda guide version 1.0.1. Technical report, Object Management Group (OMG) (2003).
[35] Magableh, B., Barrett, S.: Self-adaptive application for indoor wayfinding for individuals with cognitive impairments. In: Proceedings of the 24th International Symposium on Computer-Based Medical Systems. Number 1 in (CBMS ’11), Bristol, United Kingdom (june 2011) 1 –6.
[36] Boehm, B.W., Clark, Horowitz, Brown, Reifer, Chulani, Madachy, R., Steece, B.: Software Cost Estimation with Cocomo II. 1st edn. Prentice Hall PTR (2000).
[37] Magableh, B., Barrett, S.: Model-Driven productivity evaluation for self-adaptive 
Context-Oriented software development. In: Proceedings of the 5th International Conference and Exhibition on Next Generation Mobile Applications, Services, and Technologies. (NGMAST’11), Cardiff, Wales, United Kingdom (September 2011) 158–167.
[38] Begain, K., Bolch, G., Herold, H.: Practical Performance Modeling: Application 
of the Mosel Language. Kluwer Academic Publishers, Norwell, MA, USA (2001).
[39] Kitchenham, B., Linkman, S., Law, D.: Desmet: a methodology for evaluating software engineering methods and tools. Computing & Control Engineering Journal 
8(3) (2002) 120–126.
[40] Asadi, M., Ramsin, R.: Mda-based methodologies: An analytical survey. In: Proceedings of the Euro Conference on Model Driven Architecture Foundations and 
Applications. (ECMDA-FA 2008), Berlin, Germany (2008) 419–431.
[41] Calic, T., Dascalu, S., Egbert, D.: Tools for mda software development: Evaluation criteria and set of desirable features. In: Proceedings of the Fifth International Conference on Information Technology. (ITNG 2008), Istanbul, Turkey (2008) 44–50.
[42] OMG, O.M.G.: Software & systems process engineering meta-model specification. 
Technical report, Object Management Group (2010).
[43] Norman, D.A.: The Design of Everyday Things. Reprint paperback edition. Basic Books (September 2002)
[44] Preece, J., Rogers, Y., Sharp, H., eds.: Interaction Design: Beyond Human-Computer Interaction. John Wiley and Sons (January 2002).
[45] Lewis, G., Wrage, L.: Model problems in technologies for interoperability: Model-driven architecture. Technical report, Software Engineering Institute (2005).
[46] Estell, R.G.: Software life cycle management. International Journal of Management 
Reviews 5 (August 1976) 2–15.
[47] Galorath, D.D., Evans, M.W.: Software Sizing, Estimation, and Risk Management. 
Auerbach Publications (2006).
[48] Achilleas: Model-Driven Petri Netbased Framework for Pervasive Service Creation. PhD thesis, University of Essex (2010).
[49] Bencomo, N., Whittle, J., Sawyer, P., Finkelstein, A., Letier, E.: Requirements reflection: requirements as runtime entities. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, (ICSE ’10). Volume 2 of LNCS., CAPE TOWN, South Africa (2010) 199–202.
[50] delmos,R.,Giese,H.,Mu ̈ller,H.,Shaw,M.,Andersson,J.,Baresi,L.,Becker,B., Bencomo, N., Brun, Y., Cikic, B., Desmarais, R., Dustdar, S., Engels, G., Geihs, K., Goeschka, K.M., Gorla, A., Grassi, V., Inverardi, P., Karsai, G., Kramer, J., Litoiu, M., Lopes, A., Magee, J., Malek, S., Mankovskii, S., Mirandola, R., Mylopoulos, J., Nierstrasz, O., Pezz`e, M., Prehofer, C., Scha ̈fer, W., Schlichting, W., Schmerl, B., Smith, D.B., Sousa, J.P., Tamura, G., Tahvildari, L., Villegas, N.M., Vogel, T., Weyns, D., Wong, K., Wuttke, J.: Software engineering for self-adaptive systems: A second research roadmap. In: Proceedings of Dagstuhl Seminar, Software Engineering for Self-Adaptive Systems. (Dagstuhl Seminar ’11), Dagstuhl, Germany (2011) 1–26.
[51] Cheng, B.H., Giese, H., Inverardi, P., Magee, J., de Lemos, R., Andersson, J., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Serugendo, G.D.M., Dustdar, S., Finkelstein, A., Gacek, C., Geihs, K., Grassi, V., Karsai, G., Kienle, H., Kramer, J., Litoiu, M., Malek, S., Mirandola, R., Mu ̈ller, H., Park, S., Shaw, M., Tichy, M., Tivoli, M., Weyns, D., Whittle, J.: Software engineering for self-adaptive systems: A research road map. In: Proceedings of Dagstuhl Seminar, Software Engineering for Self-Adaptive Systems. (Dagstuhl Seminar ’08), Dagstuhl, Germany (2008) 1– 26.
[52] Laprie, J.: Basic concepts and taxonomy of dependable and secure computing. IEEE Transactions on Dependable and Secure Computing 1 (Apr 2004) 11–33.
[53] Sen, R., Roman, G.: Context-sensitive binding, flexible programming using transparent context maintenance. Technical report, Department of Computer Science and Engineering Washington University in St. Louis (2003).
[54] Broens, T., Quartel, D., Van Sinderen, M.: Capturing context requirements. In: Proceedings of the 2nd European conference on Smart sensing and context. (EuroSSC ’07), Kendal, England (2007) 223–238.
[55] Paspallis, N.: Software engineering support for the development of context-aware, adaptive applications for mobile and ubiquitous computing environments. http://www.cs.ucy.ac.cy/paspalli/phd/thesis-proposal.pdf (2010) "[online accessed 1-December-2010]".
Cite This Article
  • APA Style

    Basel Magableh, Butheyna Rawashdeh, Stephen Barrett. (2012). A Framework for Evaluating Model-driven Architecture. American Journal of Software Engineering and Applications, 1(1), 10-22. https://doi.org/10.11648/j.ajsea.20120101.12

    Copy | Download

    ACS Style

    Basel Magableh; Butheyna Rawashdeh; Stephen Barrett. A Framework for Evaluating Model-driven Architecture. Am. J. Softw. Eng. Appl. 2012, 1(1), 10-22. doi: 10.11648/j.ajsea.20120101.12

    Copy | Download

    AMA Style

    Basel Magableh, Butheyna Rawashdeh, Stephen Barrett. A Framework for Evaluating Model-driven Architecture. Am J Softw Eng Appl. 2012;1(1):10-22. doi: 10.11648/j.ajsea.20120101.12

    Copy | Download

  • @article{10.11648/j.ajsea.20120101.12,
      author = {Basel Magableh and Butheyna Rawashdeh and Stephen Barrett},
      title = {A Framework for Evaluating Model-driven Architecture},
      journal = {American Journal of Software Engineering and Applications},
      volume = {1},
      number = {1},
      pages = {10-22},
      doi = {10.11648/j.ajsea.20120101.12},
      url = {https://doi.org/10.11648/j.ajsea.20120101.12},
      eprint = {https://article.sciencepublishinggroup.com/pdf/10.11648.j.ajsea.20120101.12},
      abstract = {In the last few years, Model Driven Development (MDD) has become an interesting alternative for designing the self-adaptive software systems. In general, the ultimate goal of this technology is to be able to reduce development costs and effort, while improving the modularity, flexibility, adaptability, and reliability of software systems. An analysis of model-driven methodologies shows them all to include the principle of the separation of concerns as a key factor for obtaining high-quality and self-adaptable software systems. Each methodology identifies different concerns and deals with them separately in order to specify the design of the self-adaptive applications, and, at the same time, support software with adaptability and context-awareness. This research studies the development methodologies that employ the principles of model-driven architecture in building self-adaptive software systems. To this aim, this article proposes an evaluation framework for analyzing and evaluating the features of those development approaches and their ability to support software with self-adaptability and dependability in highly dynamic contextual environment. Such evaluation framework can facilitate the software developers on selecting a development methodology that suits their software requirements and reduces the development effort of building self-adaptive software systems. This study highlights the major drawbacks of the proposed model-driven approaches in the related works, and emphasize on considering the volatile aspects of self-adaptive software in the analysis, design and implementation phases of the development methodologies. In addition, we argue that the development methodologies should leave the selection of modeling languages and modeling tools to the software developers.},
     year = {2012}
    }
    

    Copy | Download

  • TY  - JOUR
    T1  - A Framework for Evaluating Model-driven Architecture
    AU  - Basel Magableh
    AU  - Butheyna Rawashdeh
    AU  - Stephen Barrett
    Y1  - 2012/12/30
    PY  - 2012
    N1  - https://doi.org/10.11648/j.ajsea.20120101.12
    DO  - 10.11648/j.ajsea.20120101.12
    T2  - American Journal of Software Engineering and Applications
    JF  - American Journal of Software Engineering and Applications
    JO  - American Journal of Software Engineering and Applications
    SP  - 10
    EP  - 22
    PB  - Science Publishing Group
    SN  - 2327-249X
    UR  - https://doi.org/10.11648/j.ajsea.20120101.12
    AB  - In the last few years, Model Driven Development (MDD) has become an interesting alternative for designing the self-adaptive software systems. In general, the ultimate goal of this technology is to be able to reduce development costs and effort, while improving the modularity, flexibility, adaptability, and reliability of software systems. An analysis of model-driven methodologies shows them all to include the principle of the separation of concerns as a key factor for obtaining high-quality and self-adaptable software systems. Each methodology identifies different concerns and deals with them separately in order to specify the design of the self-adaptive applications, and, at the same time, support software with adaptability and context-awareness. This research studies the development methodologies that employ the principles of model-driven architecture in building self-adaptive software systems. To this aim, this article proposes an evaluation framework for analyzing and evaluating the features of those development approaches and their ability to support software with self-adaptability and dependability in highly dynamic contextual environment. Such evaluation framework can facilitate the software developers on selecting a development methodology that suits their software requirements and reduces the development effort of building self-adaptive software systems. This study highlights the major drawbacks of the proposed model-driven approaches in the related works, and emphasize on considering the volatile aspects of self-adaptive software in the analysis, design and implementation phases of the development methodologies. In addition, we argue that the development methodologies should leave the selection of modeling languages and modeling tools to the software developers.
    VL  - 1
    IS  - 1
    ER  - 

    Copy | Download

Author Information
  • School of Computer Science and Informatics,University College Dublin,Ireland

  • Faculty of Computer Science and Information, Ajloun University College, AL-Balqa Applied University, Ajloun, Jordan

  • School of Computer Science and Statistics, Trinity College, University of Dublin, Ireland

  • Sections