Abstract
In this paper, we propose a context-aware extension of the C# programming language. Bringing the context-awareness at the level of the programming language constructs comes with the advantage of lowering the effort required to specify the contextual polymorphic behavior of the applications. The application developer is released, at a great extent, from the responsibility of managing the context-awareness without reducing the programmer’s ability to express the context-dependent behavior. In order to insert context-awareness into the C# programming language we have extended the programming language constructs (i.e. constant, variable, function, object) with context awareness. We have also provided language constructs for dealing with the context model.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Chen, G., Kotz, D.: A Survey of Context-Aware Mobile Computing Research. Technical Report TR2000-381, Computer Science Dartmouth College (2000)
Costanza, P., Hirschfeld, R.: Language Constructs for Context-oriented Programming - An Overview of ContextL. In: Dynamic Languages Symposium (at OOPSLA 2005) (2005)
Gu, T., Pung, H.K., Zhang, D.Q.: A Service-oriented middleware for building context-aware services. Journal of network and computer applications 28(1), 1–18 (2005)
Keays, R., Rakotonirainy, A.: Context-oriented Programming. In: Proceedings of the International Workshop on Data Engineering for Wireless and Mobile Access (2003)
Kniesel, G.: Dynamic Object-Based Inheritance with Subtyping. PhD thesis, University of Bonn, Institute for Computer Science III (2000)
Korpip, P., Mntyjrvi, J., Kela, J., Kernen, H., Malm, E.-J.: Managing Context Information in Mobile Devices. IEEE Pervasive Computing Magazine special issue: Dealing with Uncertainty 2(3), 42–51 (2003)
Lieberman, H.: Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems. In: Proceedings of OOPSLA, vol. 6, pp. 214–223 (1986)
Mostfaoui, G.K., Pasquier-Rocha, J., Brezillon, P.: Context-Aware Computing: A Guide for the Pervasive Computing Community. In: Proceedings of the 2004 IEEE International Conference on Pervasive Services (ICPS 2004), pp. 39–48 (2004)
Oh, Y., Woo, W.: A Unified Application Service Model for ubiHome by Exploiting Intelligent Context-Awareness. In: Murakami, H., Nakashima, H., Tokuda, H., Yasumura, M. (eds.) UCS 2004. LNCS, vol. 3598, pp. 117–122. Springer, Heidelberg (2005)
Keays, R.: Context-Oriented Programming. University of Queensland (2002)
Roman, M., Hess, C., Cerqueira, R., Ranganathan, A., Campbell, R.H., Nahrstedt, K.: A Middleware Infrastructure for Active Spaces. IEEE Pervasive Computing 1(4), 74–83 (2002)
Schilit, B.N., Theimer, M.: Disseminating active map information to mobile hosts. IEEE Network 8(5), 22–32 (1994)
Shehzad, A., Ngo, H.Q., Pham, K.A., Lee, S.Y.: Formal Modeling in Context-Aware Systems. In: Proceedings of KI2004 Workshop on Modeling and Retrieval of Context, University of Ulm (2004)
Weiser, M.: The Computer for the 21st Century. Scientific American 265(3), 94–104 (1991)
Yau, S.S., Karim, F.: An Adaptive Middleware for Context-Sensitive Communications for Real-Time Applications in Ubiquitous Computing Environment. Real-Time Systems 26(1), 29–61 (2004)
May 2006, Available: http://www.antlr.org/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rarau, A., Salomie, I. (2006). Adding Context Awareness to C#. In: Havinga, P., Lijding, M., Meratnia, N., Wegdam, M. (eds) Smart Sensing and Context. EuroSSC 2006. Lecture Notes in Computer Science, vol 4272. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11907503_8
Download citation
DOI: https://doi.org/10.1007/11907503_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-47842-3
Online ISBN: 978-3-540-47845-4
eBook Packages: Computer ScienceComputer Science (R0)