Software & Systems Modeling

, Volume 15, Issue 3, pp 881–905 | Cite as

Expressing aspectual interactions in design: evaluating three AOM approaches in the slot machine domain

Regular Paper

Abstract

In the context of an industrial project, we evaluated the implementation of the software of a casino slot machine. This software has a significant amount of crosscutting concerns that depend on and interact with each other as well as with the modular concerns. We therefore wished to express our design using an appropriate aspect-oriented modeling approach. We therefore evaluated three candidate methodologies: Theme/UML, WEAVR, and RAM to establish their suitability. Remarkably, only the last of the three has shown to allow an adequate expression of the interactions, albeit not fully explicit. The first two fall short because half of the interaction types cannot be expressed at all while the other half need to be expressed using a work-around that hides the intention of the design. Neither does RAM allow a fully explicit expression of interactions, but it would be the most adequate approach for the slot machine case.

Keywords

Aspect-oriented modeling Aspect interactions Case study 

References

  1. 1.
    Apel, S., Batory, D., Kstner, C., Saake, G.: Feature-Oriented Software Product Lines: Concepts and Implementation. Springer Publishing Company, Incorporated (2013)Google Scholar
  2. 2.
    Apel, S., Kästner, C.: An overview of feature-oriented software development. J. Object Technol. 8(5), 49–84 (2009)CrossRefGoogle Scholar
  3. 3.
    Apel, S., Scholz, W., Lengauer, C., Kästner, C.: Detecting dependences and interactions in feature-oriented design. In ISSRE, pp. 161–170. IEEE Computer Society (2010)Google Scholar
  4. 4.
    Apel, S., von Rhein, A., Thüm, T., Kästner, C.: Feature-interaction detection based on feature-based specifications. Comput. Netw. 57(12), 2399–2409 (2013)CrossRefGoogle Scholar
  5. 5.
    Ayed, A., Kienzle, J.: Integrating protocol modelling into reusable aspect models. In: Proceedings of the 5th ACM SIGCHI Annual International Workshop on Behaviour Modelling—Foundations and Applications, BMFA’13, pp. 2:1–2:12. ACM, New York, NY, USA (2013)Google Scholar
  6. 6.
    Calder, M., Kolberg, M., Magill, E. H., Marples, D., Reiff-Marganiec, S.: Hybrid solutions to the feature interaction problem. In: Amyot, D., Logrippo, L. (eds.) FIW, pp. 295–312. IOS Press (2003)Google Scholar
  7. 7.
    Calder, M., Kolberg, M., Magill, E.H., Reiff-Marganiec, S.: Feature interaction: a critical review and considered forecast. Comput. Netw. 41(1), 115–141 (2003)CrossRefMATHGoogle Scholar
  8. 8.
    Chitchyan, R., Rashid, A., Sawyer, P., Garcia, A., Alarcon, M., Bakker, J., Tekinerdogan, B., Clarke, S., Jackson, A.: Survey of analysis and design approaches. Technical Report AOSD-Europe Deliverable D11, AOSD-Europe-ULANC-9, University of Lancaster (2005)Google Scholar
  9. 9.
    Ciraci, S., Havinga, W., Aksit, M., Bockisch, C., van den Broek, P.: A graph-based aspect interference detection approach for uml-based aspect-oriented models. Trans. Asp. Oriented Softw. Dev. 7, 321–374 (2010)Google Scholar
  10. 10.
    Clarke, S., Baniassad, E.: Aspect-Oriented Analysis and Design. The Theme Approach. Object Technology Series. Addison-Wesley, Boston (2005)Google Scholar
  11. 11.
    Cottenier, T., Berg, A.V., Elrad, T.: The Motorola WEAVR: model weaving in a large industrial context. In: Proceedings of the International Conference on Aspect Oriented Software Development, Industry Track (2006)Google Scholar
  12. 12.
    Cottenier, T., van den Berg, A., Elrad, T.: Stateful aspect: The case for aspect-oriented modeling. In: Proceedings of the 10th International Workshop on Aspect-Oriented Modeling. ACM (2006)Google Scholar
  13. 13.
    Cottenier, T., van den Berg, A., Elrad, T.: Motorola weavr: aspect and model-driven engineering. J. Object Technol. 6(7), 51–88 (2007)CrossRefGoogle Scholar
  14. 14.
    Fabry, J., Zambrano, A., Gordillo, S.: Expressing aspectual interactions in design: experiences in the slot machine domain. In: Whittle, J., Clark, T., Kühne, T. (eds.) Model Driven Engineering Languages and Systems. Lecture Notes in Computer Science, vol. 6981, pp. 93–107. Springer, Berlin/Heidelberg (2011)Google Scholar
  15. 15.
    Gaming Laboratories International. Gaming Devices in Casinos (2007). http://www.gaminglabs.com/
  16. 16.
    Gaming Standard Association. Game to Server (G2S) Protocol Specification (2008). http://www.gamingstandards.com/
  17. 17.
    Homayoon, S., Singh, H.: Methods of addressing the interactions of intelligent network services with embedded switch services. IEEE Commun. Mag. 26(12), 42–46, 70 (1988)CrossRefGoogle Scholar
  18. 18.
    IBM: Rational TAU (2014)Google Scholar
  19. 19.
    Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: Form: a feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Eng. 5, 143–168 (1998)CrossRefGoogle Scholar
  20. 20.
    Katz, E., Katz, S.: Incremental analysis of interference among aspects. In Clifton, C. (ed.) FOAL, pp. 29–38. ACM (2008)Google Scholar
  21. 21.
    Kellens, A., Mens, K., Brichau, J., Gybels, K.: Managing the evolution of aspect-oriented software with model-based pointcuts. In: European Conference on Object-Oriented Programming (ECOOP), number 4067 in LNCS, pp. 501–525 (2006)Google Scholar
  22. 22.
    Kienzle, J., Abed, W.A., Klein, J.: Aspect-oriented multi-view modeling. In: Proceedings of the 8th ACM International Conference on Aspect-oriented Software Development. AOSD ’09, pp. 87–98. ACM, NY, USA (2009)Google Scholar
  23. 23.
    Kienzle, J., Abed, W.A., Fleurey, F., Jazcquel, J.-M., Klein, J.: Aspect-oriented design with reusable aspect models. In: Katz, S., Mezini, M., Kienzle, J. (eds.) Transactions on Aspect-Oriented Software Development VII. Lecture Notes in Computer Science, vol. 6210, pp. 272–320. Springer, Berlin, Heidelberg (2010)Google Scholar
  24. 24.
    Liu, J: Feature interactions and software derivatives. J. Object Technol. 4(3), 13–19 (2005). GPCE Young Researchers Workshop 2004Google Scholar
  25. 25.
    Mehner, K., Monga, M., Taentzer, G.: Interaction analysis in aspect-oriented models. In: Requirements Engineering, 14th IEEE International Conference, pp. 66–75. IEEE Computer Society (2006)Google Scholar
  26. 26.
    Metzger, A., Bühne, S., Lauenroth, K., Pohl, K.: Considering feature interactions in product lines: towards the automatic derivation of dependencies between product variants. In: Reiff-Marganiec, S., Ryan, M. (eds.) FIW, pp 198–216. IOS Press (2005)Google Scholar
  27. 27.
    Metzger, A., Bühne, S., Lauenroth, K., Pohl, K.: Considering feature interactions in product lines: towards the automatic derivation of dependencies between product variants. In: Reiff-Marganiec, S., Ryan, M. (eds) Proceedings of the 8th International Conference on Feature Interactions in Telecommunications and Software Systems, ICFI’05 (Leicester, UK, June 28–30, 2005), Amsterdam . IOS Press (June 2005)Google Scholar
  28. 28.
    Nakamura, M., Reiff-Marganiec, S, (eds.): Feature Interactions in Software and Communication Systems X, International Conference on Feature Interactions in Software and Communication Systems, ICFI 2009, 11–12 June, 2009, Lisbon, Portugal. IOS Press (2009)Google Scholar
  29. 29.
    Nevada Gaming Commission: Technical Standards For Gaming Devices And On-Line Slot Systems (2008). http://gaming.nv.gov/stats_regs.htm
  30. 30.
    Nhlabatsi, A., Laney, R., Nuseibeh, B.: Feature interaction: the security threat from within software systems. Prog. Inform. 5, 75–89 (2008)CrossRefGoogle Scholar
  31. 31.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations. Principles and Techniques. Springer, Secaucus (2005)CrossRefMATHGoogle Scholar
  32. 32.
    Prehofer, C.: Feature-oriented programming: a fresh look at objects. In: ECOOP, pp. 419–443 (1997)Google Scholar
  33. 33.
    Sanen, F., Truyen, E., Win, B.D., Joosen, W., Loughran, N., Coulson, G., Rashid, A., Nedos, A., Jackson, A., Clarke, S.: Study on interaction issues. Technical Report AOSD-Europe Deliverable D44, AOSD-Europe-KUL-7, Katholieke Universiteit Leuven (2006)Google Scholar
  34. 34.
    Silva Filho, R.S., Redmiles, D.F.: Managing feature interaction by documenting and enforcing dependencies in software product lines. In: 9th International Conference on Feature Interactions in Software and Communication Systems (ICFI’07), pp. 33–48, Grenoble, France, Sept 3–5 (2007)Google Scholar
  35. 35.
    Wimmer, M., Schauerhuber, A., Kappel, G., Retschitzegger, W., Schwinger, W., Kapsammer, E.: A survey on UML-based aspect-oriented design modeling. ACM Comput. Surv. 43(4), 28:1–28:33 (2011)CrossRefGoogle Scholar
  36. 36.
    Zambrano, A., Fabry, J., Gordillo, S.: Expressing aspectual interactions in requirements engineering: experiences, problems and solutions. Sci. Comput. Program. 78(1), 65–92 (2012)CrossRefGoogle Scholar
  37. 37.
    Zambrano, A., Fabry, J., Jacobson, G., Gordillo, S.: Expressing aspectual interactions in requirements engineering: experiences in the slot machine domain. In: Proceedings of the 2010 ACM Symposium on Applied Computing (SAC 2010), pp. 2161–2168. ACM Press (2010)Google Scholar
  38. 38.
    Zhang, J., Cottenier, T., van den Berg, A., Gray, J.: Aspect interference and composition in the motorola aspect-oriented modeling weaver. In: Workshop on Aspect-Oriented Modeling at the 9th International Conference on Model Driven Engineering Languages and Systems (2006)Google Scholar
  39. 39.
    Zhang, W., Mei, H., Zhao, H.: A feature-oriented approach to modeling requirements dependencies. In: 2013 21st IEEE International Requirements Engineering Conference (RE), vol. 0, pp. 273–284 (2005)Google Scholar
  40. 40.
    Z. 100: ITU. Specification and description language (SDL). In International Telecommunication Union (2000).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Johan Fabry
    • 1
  • Arturo Zambrano
    • 2
    • 3
  • Silvia Gordillo
    • 2
  1. 1.PLEIAD Laboratory, Computer Science Department (DCC)University of ChileSantiagoChile
  2. 2.LIFIA, Facultad de InformáticaUniversidad Nacional de La PlataLa PlataArgentina
  3. 3.Departamento de Ciencia y TecnologíaUniversidad Nacional de QuilmesBernalArgentina

Personalised recommendations