• No results found

Analysis: Libraries and Tools are a Necessity

In previous chapters an overview of sensing technologies and a selection of prototypes of aware artefacts are presented. Looking at the projects described and at the patterns identified it becomes obvious that certain sensor, perception, software, hardware, and communication problems are solved over and over again. Looking at the implementations the wheel is re-invented slightly differently in each system.

As the process of creating a system that comprises of hardware, software, and communication, system design is time consuming and also expensive. It is appealing to provide tools and methods to reuse knowledge and also to automate steps in the process. The concept of informal reuse can be seen when looking at publications and

demonstrators from institutions where there is an extensive experience in a certain platform. It is apparent that a basic design will reappear in different projects. Developers build up their building blocks which are then used again to save development time. This knowledge is often very much tied to a particular developer. Tools and methods to support the implementation of sensor based context acquisition systems can be deployed in various ways. It ranges from decision support when selecting sensing technologies for a particular context, ready-made rapid prototyping systems for context acquisition, libraries and building blocks, to an integrated development environment that can support design, hardware, communication and software development.

5.1.1 Software Libraries and Hardware Building Blocks

A general approach in computer science is to provide libraries that ease the development of applications in a certain domain. Functions and procedures that are repeatedly needed are developed once and shared and reused in following developments. Software libraries however are most often bound to a particular operating system or execution environment assuming an underling software system and a basic hardware configuration.

When providing software libraries for context acquisition systems the issue becomes wider as there is no standard sensor system or sensing platform. Especially the software (comparable to system drivers in conversional systems) that realises interfacing with the actual sensors is mostly dependent on the sensing system. Here libraries and building blocks can be provided to make the development of hardware related code easier. Furthermore, in context acquisition systems communication with potential context consumers is a major issue. In many cases this also includes the distribution of data. Libraries that facilitate communication between sensing devices and other devices and also with the backend infrastructure are useful to make this process more efficient.

As context acquisition systems include sensors this often involves the design and implementation of specific hardware using a particular set of sensors arranged in a specific way to suit the task. Providing basic sensor building blocks to speed up the process of hardware design becomes an obvious goal. Similarly processing and

communication building blocks are also helpful for these functional units. It is suggested that a variety of libraries for different platforms (e.g. embedded systems and PCs) and device building blocks (e.g. schematics, board layouts, and physical designs) can improve and hence ease the development process.

5.1.2 Context Acquisition Design Method

When designing a context acquisition system one of the first steps is to select the right sensors, algorithms, processing cores, energy supplies, and communication technologies. The decisions made here have far reaching consequences for the context acquisition system.

At this step it is central to have knowledge about what sensors and algorithms can contribute to get information about a particular context. The selected sensors and algorithms have implications on the processing system, energy consumption, and what type of communication is required. As for a particular context there is often more than one sensor that can contribute and there is also different cost associated with different solutions.

Given that the knowledge about architectures, building blocks and libraries is available a method to guide trough the design of such systems can be of significant value. Having a method this is then a starting point to develop further tools that support particular parts of the design process.

5.1.3 Ready-Made Deployable Rapid Prototyping Devices

Additionally, devices that offer the most common sensing opportunities built-in, combined with basic processing capabilities and communication can help to get a system deployed and explored in very short time.

Hypothesis 4: A rapid prototyping platform to make artefacts context-aware can be provided. Such a platform will simplify and speed up the prototyping process of such systems.

The advantage of a hardware platform is that creating a specific context acquisition system only requires the development of context specific software on the sensor devices and potentially in the backend. As the set of sensors is defined by the

hardware implementation also efficient software libraries and contexts acquisition software can be supplied.

A prerequisite for rapid prototyping systems for context awareness is that they are made in a way that they can be attached, included, embedded, or integrated with whatever artefact should become context-aware. This is a real challenge for the physical design of such tools – especially size and power consumption become a major issue.

As it is impractical (or even impossible) to include all sensors that may be used in one sensor board it is important that a simple way of attaching and detaching sensors is included in the design. As it is not likely to foresee all sensors developers want to use, ways for extension have to be included.

All three paths – libraries, development method and tools, and a rapid prototyping platform – have been explored in the research that led to this thesis. In the following sections the main issues in each of the approaches are presented.