Skip to main content

Automatically composing reusable software components for mobile devices

Abstract

Product-line architectures (PLAs) are an effective mechanism for facilitating the reuse of software components on different mobile devices. Mobile applications are typically delivered to devices using over-the-air provisioning services that allow a mobile phone to download and install software over a cellular network connection. Current techniques for automating product-line variant selection do not address the unique requirements (such as the need to consider resource constraints) of dynamically selecting a variant for overthe-air provisioning.

This paper presents the following contributions to product-line variant selection for mobile devices: (1) it describes how a constraint solver can be used to dynamically select a product-line variant while adhering to resource constraints, (2) it presents architectures for automatically discovering device capabilities and mapping them to product-line feature models, (3) it includes results from experiments and field tests with an automated variant selector, and (4) it describes PLA design rules that can be used to increase the performance of automated constraint-based variant selection. Our empirical results show that fast automated variant selection from a feature model is possible if certain product-line design guidelines are followed.

References

  1. Constraint Programming System, http://choco sourceforge.net/.

  2. Develop/Optimize Case Study: Macrospace’s Dragon Island.Nokia Forum, http://www.fo rum.nokia .com/main/,2004.

  3. O. M. Alliance. OMA Client Provisioning V1.1 Candidate Enabler, http://www.openmobile alliance.org/ release_program/cp_v1_1.htm.

  4. O. M. Alliance. OMA Download over the Air V2.0,CandidateEnabler, http://www.openmob ilealliance.org/release_program/dlota_v2_0.html.

  5. V. Alves, I. Cardim, H. Vital, P. Sampaio, A. Damasceno, P. Borba, and G. Ramalho. Comparative Analysis of Porting Strategies in J2ME Games. InProceedings of the 21st Conference on Software Maintenance, Budapest, Hungary, September 2005.

  6. M. Anastasopoulos. Software Product Lines for Pervasive Computing.IESE-Report No. 044.04/E version, 1.

  7. M. Antkiewicz and K. Czarnecki. FeaturePlugin: feature modeling plug-in for Eclipse. InEclipse ’04: Proceedings of the 2004 OOPSLA Workshop on Eclipse Technology eXchange, Vancouver, British Columbia, Canada, October 2004.

  8. D. Benavides, P. Trinidad, and A. Ruiz-Cortes. Automated Reasoning on Feature Models. InProceedings of the 17th Conference on Advanced Information Systems Engineering, Porto, Portugal, June 2005. or[9]|D. Beuche. Variant Management with Pure:: variants. Technical report, Pure-Systems GmbH, http://www.pure-systems.com, 2003.

  9. R. Buhrdorf, D. Churchett, and C. Krueger. Salion’s Experience with a Reactive Software Product Line Approach. InProceedings of the 5th Workshop on Product Family Engineering, Siena, Italy, November 2003.

  10. Y. Caseau, F.-X. Josset, and F. Laburthe. CLAIRE: Combining Sets, Search And Rules To Better Express Algorithms.Theory and Practice of Logic Programming, 2:2002, 2004.

    MathSciNet  Google Scholar 

  11. P. Clements and L. Northrop.Software Product Lines: Practices and Patterns. Addison-Wesley, Boston, Massachusetts, USA, 2002.

    Google Scholar 

  12. E. Coffman Jr, G. Galambos, S. Martello, and D. Vigo.Bin Packing Approximation Algorithms: Combinatorial Analysis. Kluwer Academic Publishers, Norwell, Massachusetts, USA, 1998.

    Google Scholar 

  13. J. Cohen. Constraint Logic Programming Languages.Communications of the ACM, 33(7):52–68, 1990.

    Article  Google Scholar 

  14. J. Coplien, D. Hoffman, and D. Weiss. Commonality and Variability in Software Engineering.IEEE Software, 15:37–45, Nov.–Dec. 1998.

    Article  Google Scholar 

  15. K. Czarnecki, S. Helsen, and U. Eisenecker. Staged Configuration Through Specialization and Multilevel Configuration of Feature Models.Software Process Improvement and Practice, 10(2):143–169, 2005.

    Article  Google Scholar 

  16. K. Czarnecki and C. Kim. Cardinality-based Feature Modeling and Constraints: A Progress Report. InProceedings of the Workshop on Software Factories, San Diego, California, USA, October 2005.

  17. D. P. D. Oppenheimer, A. Ganapathi. Why do Internet Services Fail, and What can be Done about It? InProceedings of the USENIX Symposium on Internet Technologies and Systems, Portland, Oregon, USA, March 2003.

  18. M. Dillinger, R. Becher, and A. Siemens. Decentralized Software Distribution for SDR Terminals.IEEE Wireless Communications, 9(2):20–25, 2002.

    Article  Google Scholar 

  19. R. Fourer, D. M. Gay, and B. W. Kernighan.AMPL: A Modeling Language for Mathematical Programming. Duxbury Press, Pacific Grove, California, USA, 2002.

    Google Scholar 

  20. J. Jaffar and M. Maher. Constraint Logic Programming: A Survey.Constraints, 2(2):0, 1994.

    Google Scholar 

  21. J. Keeney and V. Cahill. Chisel: a Policy-driven, Context-aware, Dynamic Adaptation Framework. InProceedings of the IEEE 4th International Workshop on Policies for Distributed Systems and Networks, Lake Como, Italy, June 2003.

  22. T. Lemlouma and N. Layaida. Context-aware Adaptation for Mobile Devices. InProceedings of the 2004 IEEE International Conference on Mobile Data Management, Berkeley, California, USA, January 2004.

  23. A. T. Luca Passani. Wireless Universal Resource File, http://wurfl.sourceforge.net/.

  24. M. Mannion. Using First-order Logic for Product Line Model Validation. InProceedings of the Second Conference on Software Product Lines, San Diego, California, USA, August 2002.

  25. M. Mannion and J. Camara. Theorem Proving for Product Line Model Verification. InProceedings of the 5th Workshop on Product Family Engineering, Siena, Italy, November 2003.

  26. T. Männistö, T. Soininen, and R. Sulonen. Product Configuration View to Software Product Families. InProceedings of the 10th Workshop on Software Configuration Management, Toronto, Canada, May 2001.

  27. L. Michel and P. V. Hentenryck. Comet in Context. In PCK50: Proceedings of the Paris C. Kanellakis Memorial Workshop on Principles of Computing & Knowledge, San Diego, California, USA, June 2003.

  28. S. Microsystems. Over The Air User Inititated Provisioning Recommended Practice, http://ja va.sun.com/products/midp/OTAProvisioning-1.0.pdf. May 2001.

  29. S. Mittal and F. Frayman. Towards a Generic Model of Configuration Tasks. InProceedings of the Eleventh International Joint Conference on Artificial Intelligence, Detroit, Michigan, USA, Augus 1989.

  30. D. Muthig, I. John, M. Anastasopoulos, T. Forster, J. Dörr, and K. Schmid. GoPhone-A Software Product Line in the Mobile Phone Domain, IESEReport, 025.04/E. Technical report, Fruanhofer IESE, Kaiserslautern, Germany, 2004.

    Google Scholar 

  31. Nokia. Java Technology Enables Exciting Downloading Services for Mobile Users, http://nds2.ir.nokia.com /NOKIA_COM_1/About_Nokia/Press/White_Paper s /pdf_files/javawhitepaperoct2003.pdf. October 2003.

  32. [33]D. Sabin and R. Weigel. Product Configuration Frameworks-a Survey.IEEE Intelligent Systems and Their Applications, 13(4):42–49, 1998.

    Article  Google Scholar 

  33. M. Sinnema, S. Deelstra, J. Nijhuis, and J. Bosch. Modeling Dependencies in Product Families with COVAMOF. InProceedings of the 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems, Potsdam, Germany, March 2006.

  34. G. Smolka. The Oz Programming Model. InProceedings of the European Workshop on Logics in Artificial Intelligence, JELIA ’96, Evora, Portugal, October 1996.

  35. T. Van der Storm.Variability and Component Composition. Springer-VerlagHeidelberg, Germany, 2004.

    Google Scholar 

  36. P. Van Hentenryck.Constraint Satisfaction in Logic Programming. MIT Press Cambridge, Massachusetts, USA, 1989.

    Google Scholar 

  37. T. Virki. Global Cell Phone Penetration Reaches 50%. Reuters, http://investing.reuters. co.uk/news/articleinvesting.aspx?type=media &storyID=nL29172095, November 2007.

  38. J. White, K. Czarnecki, D. C. Schmidt, G. Lenz, C. Wienands, E. Wuchner, and L. Fiege. Automated Model-based Configuration of Enterprise Java Applications. InEDOC 2007, Annapolis, Maryland USA, October 2007.

  39. J. White, A. Nechypurenko, E. Wuchner, and D. C. Schmidt. Optimizing and Automating Product-Line Variant Selection for Mobile Devices. In11th International Software Product Line Conference, Kyoto, Japan, September 2007.

  40. M. Womer and F. Telecom. Device Description Landscape, World Wide Web Consortium, http://jp.w3.org/TR/2006/WD-dd-landscape-20060210/.

  41. W. Zhang, S. Jarzabek, N. Loughran, and A. Rashid. Reengineering a PC-based System into a Mobile Device Product Line. InProceedings of the the Workshop on Principles of Software Evolution, Helsinki, Finland, September 2003.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

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

Reprints and permissions

About this article

Cite this article

White, J., Schmidt, D.C., Wuchner, E. et al. Automatically composing reusable software components for mobile devices. J Braz Comp Soc 14, 25–44 (2008). https://doi.org/10.1007/BF03192550

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03192550

Keywords