Ambiance: A Platform for Macroprogramming Personalised Ambient Servicesby Reza Razavi A key enabling technology for Ambient Intelligence (AmI) is Wireless Sensor Networks (WSNs). Macroprogramming WSNs by non-programmer end-users is being studied as a step towards an omnipresent World Wide Web interface for the provision of personalised ambient services. A key enabling technology for AmI is networks of large numbers of wirelessly-connected small, low-powered computers. Such a system is called a Wireless Sensor Network (WSN) and each node, a mote. WSNs can serve as an infrastructure for the provision of personalised ambient services. However, WSNs face very limited processing, memory, sensing, actuation and communication ability of their motes. Programming such networks means those limitations need to be addressed. Unfortunately, current methods for WSN programming have led developers to mix serious concerns, such as quality of service requirements, with low-level concerns like resource management, synchronisation and routing. This makes developing software for WSNs a costly and error-prone endeavour, even for expert programmers. Macroprogramming is a new technique which is being developed with the aim of allowing programmers to capture the operation of the sensor network as a whole. In this research, we focus on simplifying sensor network programming by developing a platform which supports macroprogramming by non-professional programmers. Our aim is to minimise the required programming knowledge, empowering ordinary users to interact with the network so that they can intuitively formulate the expected services. Our architecture also supports an open, concurrent system – requests may come in asynchronously from uncoordinated end-users. They are formulated using an intuitive and omnipresent World Wide Web interface. They are served ubiquitously and in parallel. Architecture of the Ambiance Platform The meta-objects are dynamic. They have the capability to observe the application objects and the environment (introspection) and to customise their own behaviour by analysing these observations (intercession). Behaviour models and requested services are specified by end-users, in their own terms, using a sophisticated interface provided by Ambiance. Our architecture also allows meta-objects to modify their behaviour in more fundamental ways if, for example, the meta-objects are endowed with learning mechanisms. ![]() Figure 1: The Ambiance Platform supports macroprogramming WSNs by automated dynamic code generation and deployment. The architecture of the Ambiance platform comprises four subsystems (see figure, from left to right):
For implementing this architecture we reuse the Dart meta-level object-oriented framework for task-specific, artifact and activity-driven behaviour modeling. This framework offers the reifications needed for (1) explicitly representing the ambient services and (2) automating the selection and deployment of an appropriate execution strategy, according to the service's resource consumptions and the actual execution environment (Context-aware Computing). Each specification is translated into a group of meta-actors which implement protocols to meet it. Ongoing Work It draws on our previous realisations Dart, AmItalk, and ActorNet. A first running prototype is implemented and we are finalising the systematic transformation of end-user queries to produce meta-actors and to dynamically manage their life-cycle. Such a lifecycle involves activation and registration, request management, application logic and result dissemination. A type system for Dart is being written in Maude (http://maude.cs. uiuc.edu). Once the core system is in place, we will work with experts in domains to which sensor networks are applicable, such as civil engineering, cooperative target identification and tracking, environment monitoring and security, to experimentally assess and refine the Ambiance architecture. Links: Please contact: |









