Take a closer look at the PalCom toolbox
One of the outcomes of the PalCom project will be a PalCom toolbox. In brief, the toolbox is a collection of ‘building blocks’ for constructing palpable components and devices. At present, the PalCom toolbox is composed of a collection of components gathered from prototypes, basic libraries, the first version of the Virtual Machine and the service browser. The PalCom toolbox acts as a tool in itself for testing both the ideas of palpability and the eventual contents of the toolbox
Pieces of code, examples of use, etcetera from both the prototypes and the more architecturally focused work packages. Think of it as a large repository containing many chunks of code, many chunks of examples of usage of such code and various tools for manipulating and combining them.
Potential candidates for the final toolbox:
- Components and services from prototypes: Components and services are constructed, on the one hand, with the aim of making specific prototypes work, and on the other hand, with the intention of being reused in other settings. A simple example: a generic GPS service that can talk to a physical GPS and make it act as a palpable service. The service was initially constructed for the purposes of tracking the positions of landscape architects in the field but is now reused for tracking patients involved in major incidents.
ex. on (De-/Re-)Construction: Toolbox element reuse between SiteTracker and Site Stick Prototype. Most are also used in the Major Incidents Overview prototype:
- Programming environment: PalCom has integrated their environment with Eclipse (open source integrated development environment). PalCom is writing plug-ins for this programming environment in order to make it easier for people to actually construct palpable components, devices and services.
- Service browser: Both a service in the toolbox as well as a tool making the toolbox usable. Example: a GPS, a camera and a display. The user wants a picture from a camera to be combined with the location from the GPS, and displayed on a display service. You start the service browser, and services on running devices will pop up. They expose an interface about what information they can receive or send out. You set up communication between them by dragging lines between them.
- A range of compilers and interpreters: The PalCom virtual machine – PalVM – is a realization of the PalCom runtime environment. The code in palpable ser-vices or components is compiled to an intermediate “bytecode” level. The VM interprets that code and executes it on the device where it is running, whether it be a laptop, camera, GPS, etc. Highlevel programming language compilers for Smalltalk, (a subset of) Java and BETA are being developed. Furthermore, program-ming directly using the bytecodes is possible using a bytecode compiler and corresponding decompiler.
- Examples of use and tutorials: For users of the toolbox, the examples of use are an important element in understanding not only existing formations but also potential new combinations. If the toolbox only consists of a source code, it will be hard to get an overview of what is actually in there. And even more important, what it can potentially do for the user. Examples show how to utilize some of the individual components but also what the user can potentially achieve by combining them
Ex. on "an example of use" in the toolbox, showing use of architecture/toolbox elements in a scene fro Major Incidents BlueBio scenario as realized in the application prototype.
Outcome from a toolbox session:
- Description of connections: between the software architecture, the toolbox components and examples of use.