Abstract
The idea of pervasive computing is that information processing will become part of everyday life, and will be available everywhere, making computing so natural to the point of being invisible in the ambient. An important concept that arises with pervasive computing is context awareness. Context is any information that can be used to characterize an entity. Based on contextual information, applications can dynamically adapt themselves to the environments in which they operate. The Calculus of Context-aware Ambients (CCA) is an untyped formal language used to describe mobile and context-aware pervasive applications. The CCA extends the Ambient Calculus by providing new features, such as context-guarded action and process abstraction, allowing to model contexts and context-aware computations. In this work, we define a type system for the CCA, called CCA T , with the focus in the communication between processes and in the correct use of process abstraction and contexts, extending previous works on the definition of type systems for mobile computing. Moreover, we prove that the proposed type system has the subject reduction property (or type preservation). We also model a hospital scenario using CCA T to demonstrate the use of the proposed type system.
Similar content being viewed by others
References
Abowd GD, Dey AK, Brown PJ, Davies N, Smith M, Steggles P (1999) Towards a better understanding of context and context-awareness. In: HUC ’99: Proceedings of the 1st international symposium on handheld and ubiquitous computing, vol 1707, Lecture notes in computer science, London, UK. Springer Berlin/Heidelberg, pp 304–307
Aly SG, Nadi S, Hamdan K: A Java-based programming language support of location management in pervasive systems. Int J Comput Sci Netw Secur 8(6), 329–336 (2008)
Augusto JC (2007) Ambient intelligence: the confluence of ubiquitous/pervasive computing and artificial intelligence. In: Schuster AJ (ed) Intelligent Computing Everywhere, chapter 11. Springer, London, pp 213–234
Bugliesi M, Castagna G, Crafa S: Access control for mobile agents: The calculus of boxed ambients. ACM Trans Program Lang Syst (TOPLAS) 26, 57–124 (2004)
Constable RL, Allen SF, Bromley HM, Cleaveland WR, Cremer JF, Harper RW, Howe DJ, Knoblock TB, Mendler NP, Panangaden P, Sasaki JT, Smith SF (1986) Implementing mathematics with the Nuprl proof development dystem. Prentice-Hall, Inc., Upper Saddle River
Cardelli L: Type systems. ACM Comput Surv (CSUR) 28, 263–264 (1996)
Chin JS, Callaghan V, Clarke G (2006) An end-user programming paradigm for pervasive computing applications. In: ACS/IEEE international conference on pervasive services, pp 325–328
Coppo M, Dezani-Ciancaglini M, Giovannetti E, Salvo I (2003) M3: Mobility types for mobile processes in mobile ambients. Electr Notes Theor Comput Sci, 78(0):144–177. CATS’03, computing: the Australasian theory symposium
Cardelli L, Gordon AD (1998) Mobile ambients. In: Proceedings of the first international conference on foundations of software science and computation structure, vol 1378. Springer, London, pp 140–155
Cardelli L, Gordon AD (1999) Types for mobile ambients. In Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL ’99. ACM, New York, pp 79–92
Cardelli L, Gordon AD: Mobile ambients. Theor Comput Sci 240, 177–213 (2000)
Charatonik W, Gordon A, Talbot J-M (2002) Finite-control mobile ambients. In: Le Métayer D (ed) Programming languages and systems, vol 2305, Lecture notes in computer science. Springer, Berlin/Heidelberg, pp 295–313
Dapoigny R, Barlatier P (2007) Towards a context theory for context-aware systems. In: Proceeding of the 2007 conference on advances in ambient intelligence. IOS Press, Amsterdam, pp 36–55
Deransart P, Smaus J-G (2002) Subject reduction of logic programs as proof-theoretic property. J Funct Logic Program 2002
Grimm R, Davis J, Hendrickson B, Lemar E, MacBeth A, Swanson S, Anderson T, Bershad B, Borriello G, Gribble S, Wetherall D (2001) Systems directions for pervasive computing. In: Proceedings of the eighth workshop on hot topics in operating systems, 20–22, 2001. IEEE Computer Society, Washington, DC, pp 147–151
Gordon AD: Functional programming and input/output. Cambridge University Press, New York (1994)
Huth M, Ryan M: Logic in computer science: modelling and reasoning about systems. Cambridge University Press, New York (2004)
Hofer T, Schwinger W, Pichler M, Leonhartsberger G, Altmann J, Retschitzegger W (2003) Context-awareness on mobile devices - the hydrogen approach. In: HICSS ’03. Proceedings of the 36th Annual Hawaii international conference on system sciences, 6–9, 2003. IEEE Computer Society, Washington, DC, pp 292–302
Julien C, Payton J, Roman G-C (2004) Reasoning about context-awareness in the presence of mobility. Electron Notes Theor Comput Sci, 97(0):259–276. In: Proceedings of FOCLASA 2003, the foundations of coordination languages and software architectures, a satellite event of CONCUR 2003.
Junbin Z, Yong Q, Di H, Min X (2008) Extended isotope programming model for pervasive computing environment. In: Proceedings of the 2008 third international conference on convergence and hybrid information technology, ICCIT ’08, vol 01. IEEE Computer Society, Washington, DC, pp 94–101
Junbin Z, Yong Q, Di H, Ming L (2009) A table-driven programming paradigm for context-aware application development. In: IEEE/IPSJ international symposium on applications and the internet, pp 121–124
Kjærgaard MB, Bunde-Pedersen J (2006) Towards a formal model of context awareness. In: Proceedings of the first international workshop on combining theory and systems building in pervasive computing (pervasive 2006), Dublin, Ireland, pp 667–674
Levi F, Sangiorgi D: Mobile safe ambients. ACM Trans Program Lang Syst (TOPLAS) 25, 1–69 (2003)
Lhoussaine C, Sassone V (2004) A dependently typed ambient calculus. In: Schmidt D (ed) Programming languages and systems, vol 2986, Lecture notes in computer science. Springer, Berlin/Heidelberg, pp 171–187
Luo Z (2009) Dependent record types revisited. In: Proceedings of the 1st Workshop on modules and libraries for proof assistants, MLPA ’09. ACM, New York, pp 30–37
Liskov BH, Wing JM: A behavioral notion of subtyping. ACM Trans Program Lang Syst (TOPLAS) 16, 1811–1841 (1994)
Milner R: Communicating and mobile systems: the π-calculus. Cambridge University Press, New York (1999)
Min X, Jizhong Z, Yong Q, Hui H, Ming L, Wei W. Isotope programming model: a kind of program model for context-aware application. In: MUE ’07: Proceedings of the 2007 international conference on multimedia and ubiquitous engineering. IEEE Computer Society, Washington, DC, pp 597–602
Mostéfaoui GK, Pasquier-Rocha J, Brézillon P (2004) Context-aware computing: A guide for the pervasive computing community. In: ICPS ’04: IEEE/ACS international conference on pervasive services, pp 39–48
Milner R, Parrow J, Walker D: A calculus of mobile processes, I. Inf Comput 100(1), 1–40 (1992)
Margaria I, Zacchi M: Access control in mobile ambient calculi: A comparative view. Theor Comput Sci 398, 183–202 (2008)
Niemela E, Latvakoski J (2004) Survey of requirements and solutions for ubiquitous software. In: MUM ’04: Proceedings of the 3rd international conference on Mobile and ubiquitous multimedia. ACM, New York, pp 71–78
Pierce BC: Types and programming languages. MIT Press, Cambridge (2002)
Rarau A, Benta KI, Cremene M (2007) Multifaceted based language for pervasive services with deterministic and fully defined behavior. In: International Conference on Pervasive Services, pp 76–79
Sangiorgi D (2001) Extensionality and intensionality of the ambient logics. In: Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL ’01. ACM, New York, pp 4–13
Siewe F, Cau A, Zedan H (2009) CCA: A calculus of context-aware ambients. In: Proceedings of the IEEE 23rd international conference on advanced information networking and applications workshops, 2009. WAINA ’09., May 2009. IEEE Computer Society, Bradford, pp 972–977
Saha D, Mukherjee A: Pervasive computing: a paradigm for the 21st century. Computer, 36, 25–31 (2003)
Sangiorgi D, Walker D: π-Calculus: a theory of mobile processes. Cambridge University Press, New York (2001)
Siewe F, Zedan H, Cau A: The calculus of context-aware ambients. J Comput Syst Sci 77, 597–620 (2011)
Weis T, Becker C, Brandle A (2006) Towards a programming paradigm for pervasive applications based on the ambient calculus. In: International workshop on combining theory and systems building in pervasive computing, Dublin, Ireland (co-located with Pervasive 2006)
Weiser M: The computer for the 21st century. Sci Am 265(3), 94–104 (1991)
Wing JM (2002) FAQ on π-calculus, 2002. Microsoft Internal Memo. Accessed April 2012.
Want R, Pering T (2005) System challenges for ubiquitous and pervasive computing. In: ICSE ’05: Proceedings of the 27th international conference on Software engineering. ACM, New York, pp 9–14
Wright A: Type theory comes of age. Commun ACM 53(2), 16–17 (2010)
Author information
Authors and Affiliations
Corresponding author
Additional information
Jim Woodcock
Rights and permissions
About this article
Cite this article
Pasqualin, D.P., Vizzotto, J.K. & Piveta, E.K. Typed context awareness Ambient Calculus for pervasive applications. Form Asp Comp 27, 885–916 (2015). https://doi.org/10.1007/s00165-015-0339-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-015-0339-x