Journal of Emerging Technologies in Web Intelligence, Vol 4, No 2 (2012), 172-180, May 2012
doi:10.4304/jetwi.4.2.172-180

Context-oriented Software Development

Basel Magableh, Stephen Barrett

Abstract


Context-oriented programming is an emerging technique that enables dynamic behaviour variation based on context changes. In COP, context can be handled directly at the code level by enriching the business logic of the application with code fragments responsible for performing context manipulation, thus providing the application code with the required adaptive behavior. Unfortunately, the whole set of sensors, effectors, and adaptation processes is mixed with the application code, which often leads to poor scalability and maintainability. In addition, the developers have to surround all probable behavior inside the source code. As an outcome, the anticipated adjustment is restricted to the amount of code stubs on hand offered by the creators. Context-driven adaptation requires dynamic composition of context-dependent parts. This can be achieved trough the support of a component model that encapsulates the context-dependent functionality and decouples them from the application’s core-functionality. The complexity behind modeling the context-dependent functionality lies in the fact that they can occur separately or in any combination, and cannot be encapsulated because of their impact across all the software modules. Before encapsulating crosscutting context-dependent functionality into a software module, the developers must first identify them in the requirements documents. This requires a formal development paradigm for analyzing the context-dependent functionality; and a component model, which modularizes their concerns. COCA-MDA is proposed in this article as model driven architecture for constructing self-adaptive application from a context oriented component model.



Keywords


Adaptable middleware, Context oriented component, Self-adaptive application, Object

References


R. Hirschfeld, P. Costanza, and O. Nierstrasz, “Context-oriented programming,” Journal of Object Technology, vol. 7, no. 3, pp. 125–151, March 2008.

A. K. Dey, “Providing architectural support for building context-aware applications,” Ph.D. dissertation, Georgia Institute of Technology, Atlanta, GA, USA, 2000.

N. M. Belaramani, C.-L. Wang, and F. C. M. Lau, “Dynamic component composition for functionality adaptation in pervasive environments,” in Proceedings of the The Ninth IEEE Workshop on Future Trends of Distributed Computing Systems, ser. FTDCS ’03. plus 0.5em minus 0.4emIEEE Computer Society, 2003, pp. 226–232.

B. Magableh and S. Barrett, “Pcoms: A component model for building context-dependent applications,” in Proceedings of the 2009 Computation World: Future Computing, Service Computation, Cognitive, Adaptive, Content, Patterns, ser. COMPUTATIONWORLD ’09. plus 0.5em minus 0.4emWashington, DC, USA: IEEE Computer Society, 2009, pp. 44–48.

P. K. McKinley, S. M. Sadjadi, E. P. Kasten, and B. H. C. Cheng, “Composing adaptive software,” Computer, vol. 37, pp. 56–64, July 2004.

M. Gassanenko, “Context-oriented programming,” in Proceedings of the EuroFORTH’93 conference, Marianske Lazne (Marienbad), Czech Republic, 15-18 October 1998, pp. 1–14.

R. Keays and A. Rakotonirainy, “Context-oriented programming,” in Proceedings of the 3rd ACM international workshop on Data engineering for wireless and mobile access, ser. MobiDe ’03, San Diego, CA, USA, 2003, pp. 9–16.

M. Salehie and L. Tahvildari, “Self-adaptive software: Landscape and research challenges,” ACM Trans. Auton. Adapt. Syst., vol. 4, pp. 14:1–14:42, May 2009.

G. Kapitsaki, G. Prezerakos, N. Tselikas, and I. Venieris, “Context-aware service engineering: A survey,” Journal of Systems and Software, vol. 82, no. 8, pp. 1285–1297, 2009.

G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin, “Aspect-oriented programming,” in ECOOP’97 âEuropean Conference on Object-Oriented Programming, ser. Lecture Notes in Computer Science. plus 0.5em minus 0.4emSpringer Berlin / Heidelberg, 1997, vol. 1241, pp. 220–242.

S. Apel, T. Leich, and G. Saake, “Aspectual mixin layers: aspects and features in concert,” in Proceedings of the 28th international conference on Software engineering, ser. ICSE ’06. plus 0.5em minus 0.4emShanghai, China: ACM, 2006, pp. 122–131.

M. Mezini and K. Ostermann, “Variability management with feature-oriented programming and aspects,” SIGSOFT Softw. Eng. Notes, vol. 29, pp. 127–136, October 2004.

A. Popovici, T. Gross, and G. Alonso, “Dynamic weaving for aspect-oriented programming,” in Proceedings of the 1st international conference on Aspect-oriented software development, ser. AOSD ’02. plus 0.5em minus 0.4emNew York, NY, USA: ACM, 2002, pp. 141–147.

C. Hundt, D. Stöhr, and S. Glesner, “Optimizing aspect-oriented mechanisms for embedded applications,” Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 6141 LNCS, pp. 137–153, 2010.

Y. Khattak and S. Barrett, “Primitive components: towards more flexible black box aop,” in Proceedings of the 1st International Workshop on Context-Aware Middleware and Services: affiliated with the 4th International Conference on Communication System Software and Middleware (COMSWARE 2009), ser. CAMS ’09. plus 0.5em minus 0.4emNew York, NY, USA: ACM, 2009, pp. 24–30.

E. Buck and D. Yacktman, Cocoa design patterns, 2nd ed. plus 0.5em minus 0.4emDeveloper’s Library, 2010.

“Enterprise collaboration architecture (eca) specification,” http://www.omg.org/, pp. 1–202, Feb 2004.

B. Magableh and S. Barrett, “Objective-cop: Objective context oriented programming,” in International Conference on Information and Communication Systems, ser. ICICS 2011, vol. 1, May 2011, pp. 45–49.

------, “Self-adaptive application for indoor wayfinding for individuals with cognitive impairments,” in The 24th IEEE International Symposium on Computer-Based Medical Systems, ser. CBMS 2011, vol. In press, Lancaster, UK, June 2011, pp. 45–49.

B. Magableh, “Model-Driven productivity evaluation for self-adaptive Context-Oriented software development,” in 5th International Conference and Exhibition on Next Generation Mobile Applications, Services, and Technologies (NGMAST’11), vol. In press, Cardiff, Wales, United Kingdom, Sep. 2011.

R. Anthony, D. Chen, M. Pelc, M. Perssonn, and M. Torngren, “Context-aware adaptation in dyscas,” in Proceedings of the Context-aware Adaptation Mechanisms for Pervasive and Ubiquitous Services (CAMPUS 2009), 2009, p. 15.

Ios 4.0 apple developer library. http://developer.apple.com/library/ios/navigation/ (2010), "[Online; accessed 1-April-2011]"


Full Text: PDF


Journal of Emerging Technologies in Web Intelligence (JETWI, ISSN 1798-0461)

Copyright @ 2006-2013 by ACADEMY PUBLISHER – All rights reserved.