International Science Index


135

Compiler-Based Architecture for Context Aware Frameworks

Abstract:Computers are being integrated in the various aspects of human every day life in different shapes and abilities. This fact has intensified a requirement for the software development technologies which is ability to be: 1) portable, 2) adaptable, and 3) simple to develop. This problem is also known as the Pervasive Computing Problem (PCP) which can be implemented in different ways, each has its own pros and cons and Context Oriented Programming (COP) is one of the methods to address the PCP. In this paper a design for a COP framework, a context aware framework, is presented which has eliminated weak points of a previous design based on interpreter languages, while introducing the compiler languages power in implementing these frameworks. The key point of this improvement is combining COP and Dependency Injection (DI) techniques. Both old and new frameworks are analyzed to show advantages and disadvantages. Finally a simulation of both designs is proposed to indicating that the practical results agree with the theoretical analysis while the new design runs almost 8 times faster.
References:
[1] P.J. Brown, J.D. Bovey, X. Chen, "Context-aware applications: from the laboratory to the marketplace," IEEE Personal Communications, vol. 4, no. 5, Oct. 1997, pp. 58-64.
[2] R. Keays, A. Rekotonirainy, "Context-Oriented Programming," International workshop on Data Engineering for Wireless and Mobile Access, San Diego, USA, ACM Press, pp. 9-16, 2003.
[3] A.K. Dey, G.D. Abowd, "Towards a better understanding of context and context-awareness," CHI 2000 workshop on the what, who, where, when, and how of context-awareness, The Hague, The Netherlands 2000.
[4] G. Berhe, L. Brunie, J.M. Pierson, "Content adaption in distributed multimedia systems," Journal of Digital Information Management 3 (2), 95- 100 (special issue on distributed data management)
[5] D. Gelernter, S. Jagannathan, T. London, Environments as First Class Objects. POPL -87, Proceedings.
[6] S. Helal, "Pervasive Java," IEEE Pervasive Computing, vol. 1, no. 1, pp. 82-85, Jan.-Mar. 2002.
[7] M.L. Gassanenko, "Context-Oriented Programing: Evolution of Vocabularies," Proc. of the euroFORTH'93 conference, Marianske Lazne (Marienbad), Czech Republic, pp. 14, 1993.
[8] S. Pelc, "Programming Forth", MicroProcessor Engineering Limited, - Copyright ┬® 2005. available: www.mpeltd.demon.co.uk/arena/ProgramForth.pdf
[9] M. Lutz, Programming Python. O-Reilly and Associates. USA 1996.
[10] A. Sasikanth, "Enhancing the Bluetooth Service Discovery Protocol," Honours thesis, University of Maryland, 2001.
[11] J. Wang, B.A. Shapiro, D. Shasha, K. Zhang, K. M. Curre, "An Algorithm for Finding the Largest Approximately Common Substructures of Two Trees," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 20, no. 8, pp. 889-895, 1998.
[12] D. Shasha, J.T.-L. Wang, K. Zhang, F.Y Shih, "Exact and Approximate Algorithms for Unordered Tree Matching," IEEE Trans. Systems. Man, and Cybernetics, vol. 24, pp. 668-678, 1994.
[13] T. Berners-Lee, Semantic Web Road Map. W3C draft September 1998. Available: http://www.w3.org/DesignIssues/Semantic.html
[14] F. Monala, E. Miller, "RDF Primer," W3C Working Draft 19 March 2002. Available: http://www.w3.org/TR/2002/WD-rdf-primer- 20020319/
[15] Apache Software Foundation. Available: http://avalon.apache.org
[16] M. Talevi, "container overview," 2006. available: http://docs.codehaus.org/display/PICO/3.+PicoContainer
[17] M. Pollack, et al, "The Spring.NET Framework Reference Documentation," Version 1.1.2, June 12, 2008. available: http://www.springframework.net/doc-latest/reference/html/index.html
[18] D. Megginson's, SAX. 27-April 2004, available: http://www.saxproject.org
[19] Java Script Kit - DOM (Document Object Model) Reference. available: http://www.javascriptkit.com/domref/
[20] R. Johnson, et al, "Spring - Java/J2EE Application Framework Reference Documentation," Version 1.2.9, 2008. Available: http://static.springframework.org/spring/docs/1.2.x/reference/index.html