chess-spl

Chess Software Product Line Test Bed

Introduction

Objective: this case is a comparative study to assess memory allocation and performance in techniques that support Software Product Lines development.

As an example, we will use Chess Games Domain and will compare products using these techniques.

The techniques studied

  • Component based development - COSMOS* - Gayard et al.
  • Hybrid approach that integrates component and aspect-oriented programming, keeping the component encapsulation but allowing crosscutting concerns. - COSMOS*-VP - Dias et al.

Try the refactored games at google play: (they use COSMOS*-VP model)

Source Code can be found here. There are two branches: master branch is the COSMOS*-VP implementation, components_only has the COSMOS* implementation.

Original applications were PocketChess(*), HonzaChess(*) and CuckooChess(*).

The Feature Model ChessSPL looks like this:

Sofware Architecture looks like this:

This story was reported at Software Engineering and Advanced Applications, Main Track Software Product Lines and Software Ecosystems 2015, Funchal - Ilha da Madeira Portugal.

Waku, G. M.; Rubira, C. M. & Tizzei, L. P. A Case Study using AOP and Components to build Software Product Lines in Android Platform. Software Engineering and Advanced Applications (SEAA), 2015 41st EUROMICRO Conference on, 2015.


References

[1] K. Krasnoff, "pocket-chess-for-android", Available at: http://code.google.com/p/pocket-chess-for-android/ and https://play.google.com/store/apps/details?id=kobi.chess

[2] J. Nmec, "Honzovy achy for android," Available at: http://honzovysachy.sourceforge.net/ and https://play.google.com/store/apps/details?id=cz.honzovysachy, March 2009.

[3] P. Osterlund, "Droidfish - strong chess pro- gram for the android platform," Available at: http://web.comhem.se/petero2home/droidfish/index.html and https://play.google.com/store/apps/details?id=org.petero.cuckoochess, 2013.

[4] M. O. Dias, L. Tizzei, C. M. Rubira, A. F. Garcia, and J. Lee, 'Leveraging aspect-connectors to improve stability of product-line vari- abilities,'' in VAMOS’10: Proceedings of the 4th International Workshop on Variability Modelling of Software-Intensive Systems, 2010, pp. 21– 28.