An Exploratory Case Study on Exploiting Aspect Orientation in Mobile Game Porting

Chapter
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 263)

Abstract

Portability is a crucial requirement in the mobile game domain. Aspect-oriented programming has been shown to be a promising solution to implement the portability concerns, and more generally, to be a key technical enabler to transition mobile application development toward systematic software reuse. In this chapter, we report an exploratory case study that critically examines how aspect orientation is practiced in industrial-strength mobile game applications. Our analysis takes into account technical artifacts, organizational structures, and their relationships. Altogether these complementary and synergistic viewpoints allow us to formulate a set of hypotheses and to offer some concrete insights into developing information reuse and integration strategies in the rapidly changing landscape of mobile software development.

Keywords

Software reuse Aspect-oriented software development Mobile game development Porting Software ecosystem Exploratory case study 

Notes

Acknowledgments

We thank the partner companies for the generous support throughout our study, especially for sharing their data, time, and expertise. The work is in part supported by the U.S. NSF (National Science Foundation) Grant CCF-1238336.

References

  1. 1.
    Alves, V., Camara, T., Alves, C.: Experiences with mobile games product line development at meantime. In: International Conference on Software Product Lines (SPLC), pp. 287–296. IEEE Press, New York (2008)Google Scholar
  2. 2.
    Alves, V., Cardim, I., Vital, H., Sampaio, P.H.M., Damasceno, A.L.G., Borba, P., Ramalho, G.: Comparative analysis of porting strategies in J2ME games. In: International Conference on Software Maintenance (ICSM), pp. 123–132. IEEE Press, New York (2005)Google Scholar
  3. 3.
    Alves, V., Matos, P., Cole, L., Vasconcelos, A., Borba, P., Ramalho, G.: Extracting and evolving code in product lines with aspect-oriented programming. Trans. Aspect-Oriented Softw. Dev. 4, 117–142 (2007)Google Scholar
  4. 4.
    Bhowmik, T., Alves, V., Niu, N.: Porting mobile games in an aspect-oriented way: an industrial case study. In: International Conference on Information Reuse and Integration (IRI), pp. 458–465. IEEE Press, New York (2013)Google Scholar
  5. 5.
    Bosch, J.: From software product lines to software ecosystems. In: International Conference on Software Product Lines (SPLC), pp. 111–119. Carnegie Mellon University, Pennsylvania (2009)Google Scholar
  6. 6.
    Cardoso, J.M.P., Carvalho, T., Coutinho, J.G.F., Luk, W., Nobre, R., Diniz, P.C., Petrov, Z.: LARA: an aspect-oriented programming language for embedded systems. In: International Conference on Aspect-Oriented Software Development (AOSD), pp. 179–190. ACM Press, New York (2012)Google Scholar
  7. 7.
    Cataldo, M., Herbsleb, J.D.: Socio-technical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity. In: International Symposium on Empirical Software Engineering and Measurement (ESEM), pp. 2–11. ACM Press, New York (2008)Google Scholar
  8. 8.
    Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. Software Eng. 20, 476–493 (1994)CrossRefGoogle Scholar
  9. 9.
    Conway, M.: How do committees invent? Datamation 14, 476–493 (1968)Google Scholar
  10. 10.
    Coplien, J.O., Harrison, N.B.: Organizational Patterns of Agile Software Development. Prentice Hall, New Jersey (2004)Google Scholar
  11. 11.
    Easterbrook, S., Singer, J., Storey, M.-A., Damian, D.: Selecting empirical methods for software engineering research. In: Shull, F., Singer, J., Sjøberg, D.I.K. (eds.) Guide to Advanced Empirical Software Engineering, pp. 285–311. Springer, London (2008)Google Scholar
  12. 12.
    Enough Software: J2ME Polish. http://www.j2mepolish.org
  13. 13.
    Facon, X.: Porting your MIDlets to new devices. http://www.webpronews.com/porting-your-midlets-to-new-devices-2003-05
  14. 14.
    Figueiredo, E., Cacho, N., Sant’Anna, C., Monteiro, M., Kulesza, U., Garcia, A., Soares, S., Ferrari, F.C., Khan, S.S., Filho, F.C., Dantas, F.: Evolving software product lines with aspects: an empirical study on design stability. In: International Conference on Software Engineering (ICSE), pp. 261–270. IEEE Press, New York (2008)Google Scholar
  15. 15.
    Figueiredo, E., Sant’Anna, C., Garcia, A., Bartolomei, T.T., Cazzola, W., Marchetto, A.: On the maintainability of aspect-oriented software: a concern-oriented measurement framework. In: European Conference on Software Maintenance and Reengineering (CSMR), pp. 183–192. IEEE Press, New York (2008)Google Scholar
  16. 16.
    Frakes, W.B., Fox, C.J.: Sixteen questions about software reuse. Commun. ACM 38, 75–87 (1995)CrossRefGoogle Scholar
  17. 17.
    Jansen, S., Finkelstein, A., Brinkkemper, S.: A sense of community: a research agenda for software ecosystems (NIER Track). In: International Conference on Software Engineering (ICSE), pp. 187–190. IEEE Press, New York (2009)Google Scholar
  18. 18.
    Juniper Research: Looking at the future of mobile games. http://www.juniperresearch.com
  19. 19.
    Kanode, C.M., Haddad, H.M.: Software engineering challenges in game development. In: International Conference on Information Information Technology: New Generations (ITNG), pp. 260–265. IEEE Press, New York (2009)Google Scholar
  20. 20.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: European Conference on Object-Oriented Programming (ECOOP), pp. 220–242. IEEE, Finland (1997)Google Scholar
  21. 21.
    Marek, L., Villazón, A., Zheng, Y., Ansaloni, D., Binder, W., Qi, Z.: DiSL: A domain-specific language for bytecode instrumentation. In: International Conference on Aspect-Oriented Software Development (AOSD), pp. 239–250. ACM Press, New York (2012)Google Scholar
  22. 22.
    Menon, H.: Portability analysis in mobile gaming using J2ME. Master’s Thesis, West Virginia University, USA (2006)Google Scholar
  23. 23.
    Messerschmitt, D.G., Szyperski, C.: Software Ecosystem: Understanding an Indispensable Technology and Industry. The MIT Press, Cambridge (2005)Google Scholar
  24. 24.
    Murphy, G.C.: Everyday aspects (keynote presentation). In: International Conference on Aspect-Oriented Software Development (AOSD), pp. 229–230. ACM Press, New York (2009)Google Scholar
  25. 25.
    Niu, N., Alves, V., Bhowmik, T.: Portability as an aspect: rethinking modularity in mobile game development. In: International Conference on Aspect-Oriented Software Development (AOSD), pp. 3–4. ACM Press, New York (2011)Google Scholar
  26. 26.
    Niu, N., Easterbrook, S.: Concept analysis for product line requirements. In: International Conference on Aspect-Oriented Software Development (AOSD), pp. 137–148. ACM Press, New York (2009)Google Scholar
  27. 27.
    Niu, N., Easterbrook, S., Yu, Y.: A taxonomy of asymmetric requirements aspects. In: International Workshop on Early Aspects (EA), pp. 1–18. Springer, London (2007)Google Scholar
  28. 28.
    Oracle: Jave 2 Platform Micro Edition. http://www.oracle.com/technetwork/java/javame
  29. 29.
    Qualcomm: Brew. http://www.brewmp.com
  30. 30.
    Rashid, A., Chitchyan, R.: Persistence as an aspect. In: International Conference on Aspect-Oriented Software Development (AOSD), pp. 120–129. ACM Press, New York (2003)Google Scholar
  31. 31.
    Rinard, M.: Sociological aspects of aspect-oriented programming (keynote presentation). In: International Conference on Aspect-Oriented Software Development (AOSD). ACM Press, New York (2010)Google Scholar
  32. 32.
    Scott, J.: Social Network Analysis: A Handbook. Sage Publications, London (2000)Google Scholar
  33. 33.
    Tukey, J.: Exploratory Data Analysis. Addison-Wesley, Boston (1977)Google Scholar
  34. 34.
    Yin, R.K.: Case Study Research: Design and Methods. Sage Publications, London (2003)Google Scholar
  35. 35.
    Young, T.J.: Using aspectJ to build a software product line for mobile devices. Master’s Thesis, University of British Columbia, Canada (2005)Google Scholar
  36. 36.
    Zhang, W., Jarzabek, S., Loughran, N., Rashid, A.: Reengineering a PC-based system into the mobile device product line. In: International Workshop on Principles of Software Evolution (IWPSE), pp. 149–160. IEEE Press, New York (2003)Google Scholar
  37. 37.
    Zhao, J.: Measuring coupling in aspect-oriented systems. In: International Software Metrics Symposium (METRICS), pp. 14–16. Chicago (2004)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringMississippi State UniversityStarkvilleUSA
  2. 2.Computer Science DepartmentUniversity of BrasiliaBrasiliaBrazil

Personalised recommendations