A Context-Aware Middleware for Applications in Mobile Ad Hoc Environments Carl-Fredrik Sørensen * , Maomao Wu, Thirunavukkarasu Sivaharan, Gordon S. Blair, Paul Okanda, Adrian Friday, Hector Duran-Limon Computing Department, Lancaster University Bailrigg, Lancaster, LA1 4YR, U.K. Tel: +44 (0) 1524 593315 email:carlfrs@idi.ntnu.no, {maomao, t.sivaharan, gordon, okanda, adrian, duranlim}@comp.lancs.ac.uk ABSTRACT Novel ubiquitous computing applications such as intelligent vehi- cles, smart buildings, and traffic management require special prop- erties that traditional computing applications do not support, such as context-awareness, massive decentralisation, autonomous behaviour, adaptivity, proactivity, and innate collaboration. Thispaper presents a new computational model and middleware that reflect support for the required the properties. The sentient object model is proposed by the CORTEX 1 project to support the construction of ubiquitous applications. A flexible, run-time reconfigurable component-based middleware has been built to provide run-time support to engineer the sentient object programming paradigm. An application infras- tructure using sentient objects to enable cooperation between au- tonomous and proactive vehicles has been implemented to demon- strate the appropriateness of the computational model and the va- lidity of the middleware for pervasive mobile ad hoc computing. Categories and Subject Descriptors D.2.2 [Software Engineering]: Design Tools and Techniques— Modules and interfaces; C.2.4 [Computer-Communication Net- works]: Distributed Systems—Distributed applications; C.2.1 [Computer-Communication Networks]: Network Archi- tecture and Design—Wireless communication Keywords Middleware, components, context-awareness, sentient objects, ad hoc wireless network * Department of Computer and Information Science, Norwegian University of Science and Technology (NTNU). NO-7491 Trond- heim, Norway 1 This paper is part of the CORTEX (CO-operating Real-time sen- Tient objects:architecture and EXperimental evaluation) project. The CORTEX project is supported by the EC, through project IST- FET-2000-26031. http://cortex.di.fc.ul.pt Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. 2nd Workshop on Middleware for Pervasive and Ad-Hoc Computing Toronto, Canada Copyright 2004 ACM 1-58113-951-9 ...$5.00. 1. INTRODUCTION The technical evolution in wireless networks, mobile and sensor technology has made the vision of ubiquitous computing coming closer to reality. Autonomous applications that in a proactive man- ner operate independently of direct human control are increasingly being developed to provide a more seamless and invisible support to the users. One of the challenges of this evolution has been to create ”intelligent” middleware and to design appropriate compu- tational models for this new generation of applications. Such mid- dleware should address the basic challenges raised by wireless mo- bile ad hoc network (MANET) applications, and support the growth and adaptability to new technologies, and provide applications with ways to enforce non-functional quality attributes like reliability and timeliness. Academia and industry are both showing interest in research to exploit the new possibilities opened by the technological evolution. Car manufacturers, e.g., have initated projects to develop similar applications as investigated in this paper, e.g., the ConnectedDriv project by BMW [8] and the Intelligent Transportation Systems (ITS) program at the General Motors [1]. Such complex real-time dependable applications are difficult to engineer using traditional systems development techniques and paradigms. The CORTEX project has identified the key characteristics that the new generation of applications may possess: Sentience – the ability to perceive the state of the surrounding environment; Au- tonomy – components should be capable of acting in a decentral- ized and autonomous fashion; Time criticality – applications will typically interact with the physical environment, and will have to cope with timeliness constraints; Safety criticality – typical ap- plications will interact with human users, whose well-being will frequently rely on them; Geographical dispersion - typical appli- cations will integrate components that are scattered over buildings, cities, countries, and continents; Mobility – applications residing in mobile devices must possess the ability to physically move and discover new neighbours and interact and share information; Evo- lution – applications will have to cope with changing conditions during their lifetimes. It is unlikely that any application at the same time will possess all these characteristics. The most challenging applications are prob- ably those that mix autonomy of application participants, derived from sentience, with the need to maintain a consistent view of the application environment while cooperating with other participants. In this paper, we present a middleware platform which addresses the challenges raised by the application domain involving autonomous mobile physical objects that cooperate with other objects, either mobile or static, by capturing information in real-time from sen-