Automatically composing reusable software components for mobile devices
Journal of the Brazilian Computer Society volume 14, pages 25–44 (2008)
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.
Constraint Programming System, http://choco sourceforge.net/.
Develop/Optimize Case Study: Macrospace’s Dragon Island.Nokia Forum, http://www.fo rum.nokia .com/main/,2004.
O. M. Alliance. OMA Client Provisioning V1.1 Candidate Enabler, http://www.openmobile alliance.org/ release_program/cp_v1_1.htm.
O. M. Alliance. OMA Download over the Air V2.0,CandidateEnabler, http://www.openmob ilealliance.org/release_program/dlota_v2_0.html.
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.
M. Anastasopoulos. Software Product Lines for Pervasive Computing.IESE-Report No. 044.04/E version, 1.
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.
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|D. Beuche. Variant Management with Pure:: variants. Technical report, Pure-Systems GmbH, http://www.pure-systems.com, 2003.
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.
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.
P. Clements and L. Northrop.Software Product Lines: Practices and Patterns. Addison-Wesley, Boston, Massachusetts, USA, 2002.
E. Coffman Jr, G. Galambos, S. Martello, and D. Vigo.Bin Packing Approximation Algorithms: Combinatorial Analysis. Kluwer Academic Publishers, Norwell, Massachusetts, USA, 1998.
J. Cohen. Constraint Logic Programming Languages.Communications of the ACM, 33(7):52–68, 1990.
J. Coplien, D. Hoffman, and D. Weiss. Commonality and Variability in Software Engineering.IEEE Software, 15:37–45, Nov.–Dec. 1998.
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.
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.
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.
M. Dillinger, R. Becher, and A. Siemens. Decentralized Software Distribution for SDR Terminals.IEEE Wireless Communications, 9(2):20–25, 2002.
R. Fourer, D. M. Gay, and B. W. Kernighan.AMPL: A Modeling Language for Mathematical Programming. Duxbury Press, Pacific Grove, California, USA, 2002.
J. Jaffar and M. Maher. Constraint Logic Programming: A Survey.Constraints, 2(2):0, 1994.
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.
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.
A. T. Luca Passani. Wireless Universal Resource File, http://wurfl.sourceforge.net/.
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.
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.
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.
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.
S. Microsystems. Over The Air User Inititated Provisioning Recommended Practice, http://ja va.sun.com/products/midp/OTAProvisioning-1.0.pdf. May 2001.
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.
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.
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.
D. Sabin and R. Weigel. Product Configuration Frameworks-a Survey.IEEE Intelligent Systems and Their Applications, 13(4):42–49, 1998.
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.
G. Smolka. The Oz Programming Model. InProceedings of the European Workshop on Logics in Artificial Intelligence, JELIA ’96, Evora, Portugal, October 1996.
T. Van der Storm.Variability and Component Composition. Springer-VerlagHeidelberg, Germany, 2004.
P. Van Hentenryck.Constraint Satisfaction in Logic Programming. MIT Press Cambridge, Massachusetts, USA, 1989.
T. Virki. Global Cell Phone Penetration Reaches 50%. Reuters, http://investing.reuters. co.uk/news/articleinvesting.aspx?type=media &storyID=nL29172095, November 2007.
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.
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.
M. Womer and F. Telecom. Device Description Landscape, World Wide Web Consortium, http://jp.w3.org/TR/2006/WD-dd-landscape-20060210/.
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.
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