Advertisement

From Model-Driven Software Development Processes to Problem Diagnoses at Runtime

  • Yijun Yu
  • Thein Than Tun
  • Arosha K. Bandara
  • Tian Zhang
  • Bashar Nuseibeh
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8378)

Abstract

Following the “convention over configuration” paradigm, model-driven software development (MDSD) generates code to implement the “default” behaviour that has been specified by a template separate from the input model. On the one hand, developers can produce end-products without a full understanding of the templates; on the other hand, the tacit knowledge in the templates is subtle to diagnose when a runtime software failure occurs. Therefore, there is a gap between templates and runtime adapted models. Generalising from the concrete problematic examples in MDSD processes to a model-based problem diagnosis, the chapter presents a procedure to separate the automated fixes from those runtime gaps that require human judgments.

Keywords

Model-Driven Software Development Problem Frames 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    15th IEEE International Requirements Engineering Conference, RE 2007, New Delhi, India, October 15-19. IEEE (2007)Google Scholar
  2. 2.
    Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools. Prentice Hall, 2 edn. (August 2006)Google Scholar
  3. 3.
    Akiki, P.A., Bandara, A.K., Yu, Y.: Using interpreted runtime models for devising adaptive user interfaces of enterprise applications. In: Maciaszek, L.A., Cuzzocrea, A., Cordeiro, J. (eds.) ICEIS (3), pp. 72–77. SciTePress (2012)Google Scholar
  4. 4.
    Akiki, P.A., Bandara, A.K., Yu, Y.: RBUIS: Simplifying enterprise application user interfaces through engineering role-based adaptive behaviour. In: The 5th ACM SIGCHI Symposium on Engineering Interactive Computing Systems, EICS 2013, pp. 3–17 (2013)Google Scholar
  5. 5.
    Ali, R., Dalpiaz, F., Giorgini, P.: A goal-based framework for contextual requirements modeling and analysis. Requir. Eng. 15(4), 439–458 (2010)CrossRefGoogle Scholar
  6. 6.
    Baresi, L., Ghezzi, C.: The disappearing boundary between development-time and run-time. In: Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research FoSER 2010, pp. 17–22. ACM, New York (2010), http://doi.acm.org/10.1145/1882362.1882367CrossRefGoogle Scholar
  7. 7.
    Bencomo, N., Bennaceur, A., Grace, P., Blair, G.S., Issarny, V.: The role of models@run.time in supporting on-the-fly interoperability. Computing 95(3), 167–190 (2013)CrossRefGoogle Scholar
  8. 8.
    Chen, B., Peng, X., Yu, Y., Zhao, W.: Are your sites down? requirements-driven self-tuning for the survivability of web systems. In: RE, pp. 219–228. IEEE (2011)Google Scholar
  9. 9.
    Djuric, D., Gasevic, D., Devedzic, V.: The tao of modeling spaces. Journal of Object Technology 5(8), 125–147 (2006)CrossRefGoogle Scholar
  10. 10.
    Hailpern, B., Tarr, P.: Model-driven development: The good, the bad, and the ugly. IBM Systems Journal 45(3), 451–461 (2006)CrossRefGoogle Scholar
  11. 11.
    Han, S., Dang, Y., Ge, S., Zhang, D., Xie, T.: Performance debugging in the large via mining millions of stack traces. In: Proc. 34th International Conference on Software Engineering (ICSE 2012), http://www.csc.ncsu.edu/faculty/xie/publications/icse12-stackmine.pdf (June 2012)
  12. 12.
    Jackson, M.: Problem Frames: Analyzing and structuring software development problems. Addison Wesley (2001)Google Scholar
  13. 13.
    Jackson, M.: Some notes on models and modelling. In: Borgida, A.T., Chaudhri, V.K., Giorgini, P., Yu, E.S. (eds.) Mylopoulos Festschrift. LNCS, vol. 5600, pp. 68–81. Springer, Heidelberg (2009)Google Scholar
  14. 14.
    Kiczales, G.: Aspect-oriented programming. ACM Comput. Surv. 28(4es), 154 (1996)Google Scholar
  15. 15.
    Sabetzadeh, M., Nejati, S., Liaskos, S., Easterbrook, S.M., Chechik, M.: Consistency checking of conceptual models via model merging. In: RE [1], pp. 221–230Google Scholar
  16. 16.
    Salifu, M., Yu, Y., Bandara, A.K., Nuseibeh, B.: Analysing monitoring and switching problems for adaptive systems. Journal of Systems and Software 85(12), 2829–2839 (2012)CrossRefGoogle Scholar
  17. 17.
    Salifu, M., Yu, Y., Nuseibeh, B.: Specifying monitoring and switching problems in context. In: RE [1], pp. 211–220Google Scholar
  18. 18.
    Souza, V.E.S., Lapouchnian, A., Robinson, W.N., Mylopoulos, J.: Awareness requirements for adaptive systems. In: Giese, H., Cheng, B.H.C. (eds.) SEAMS, pp. 60–69. ACM (2011)Google Scholar
  19. 19.
    Tun, T., Laney, R.Y.Y., Nuseibeh, B.: Specifying software features for composition: A tool-supported approach. Computer Networks 57(12), 2454–2464 (2013), http://oro.open.ac.uk/37468/CrossRefGoogle Scholar
  20. 20.
    Tun, T.T., Trew, T., Jackson, M., Laney, R.C., Nuseibeh, B.: Specifying features of an evolving software system. Softw. Pract. Exper. 39(11), 973–1002 (2009)CrossRefGoogle Scholar
  21. 21.
    Tun, T.T., Yu, Y., Laney, R., Nuseibeh, B.: Early identification of problem interactions: A tool-supported approach. In: Glinz, M., Heymans, P. (eds.) REFSQ 2009. LNCS, vol. 5512, pp. 74–88. Springer, Heidelberg (2009)Google Scholar
  22. 22.
    Turing, A.M.: Computability and lambda-definability. J. Symb. Log. 2(4), 153–163 (1937)CrossRefzbMATHGoogle Scholar
  23. 23.
    Wang, Y., McIlraith, S.A., Yu, Y., Mylopoulos, J.: Monitoring and diagnosing software requirements. Autom. Softw. Eng. 16(1), 3–35 (2009)CrossRefGoogle Scholar
  24. 24.
    Yu, E.: Modelling strategic relationships for process reengineering. University of Toronto Toronto, Ont., Canada (1995)Google Scholar
  25. 25.
    Yu, Y., Lin, Y., Hu, Z., Hidaka, S., Kato, H., Montrieux, L.: Maintaining invariant traceability through bidirectional transformations. In: Proc. 34th International Conference on Software Engineering (ICSE 2012). ACM/IEEE, Zurich (June 2012)Google Scholar
  26. 26.
    Yu, Y., Bandara, A., Tun, T.T., Nuseibeh, B.: Towards learning to detect meaningful changes in software. In: Proceedings of the International Workshop on Machine Learning Technologies in Software Engineering, MALETS 2011, pp. 51–54. ACM, New York (2011), http://doi.acm.org/10.1145/2070821.2070828CrossRefGoogle Scholar
  27. 27.
    Yu, Y., Jürjens, J., Mylopoulos, J.: Traceability for the maintenance of secure software. In: ICSM, pp. 297–306. IEEE (2008)Google Scholar
  28. 28.
    Yu, Y., Jürjens, J., Schreck, J.: Tools for traceability in secure software development. In: ASE, pp. 503–504. IEEE (2008)Google Scholar
  29. 29.
    Yu, Y., Tun, T.T., Nuseibeh, B.: Specifying and detecting meaningful changes in programs. In: 26th IEEE/ACM International Conference on Automated Software Engineering, pp. 273–282 (November 2011), http://oro.open.ac.uk/29450/

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Yijun Yu
    • 1
  • Thein Than Tun
    • 1
  • Arosha K. Bandara
    • 1
  • Tian Zhang
    • 3
  • Bashar Nuseibeh
    • 1
    • 2
  1. 1.Department of Computing and CommunicationsThe Open UniversityUK
  2. 2.LeroUniversity of LimerickIreland
  3. 3.State Key Laboratory for Novel Software TechnologyNanjing UniversityChina

Personalised recommendations