Title: EQUIP Component Toolkit ECT: Implementation Notes
1EQUIP Component Toolkit (ECT) Implementation
Notes
- Chris Greenhalgh
- EQUATOR review
- 2005-02-23
2ECT Distribution Overview
Installation
Master host
Client host(s)
Installation Master
Multicast Discovery
Component Container(s)
Installation Dataspace
Attached and associated devices- sensors-
displays- actuators
Internet
LAN
Installation Management Tool
Component Container(s)
Browser/ viewer
3Component/Container Interaction
Container
Component (Java Bean)
Consumes event type (provides event listener)
Has read/write and read-only properties(Serializa
ble types)
Emits event type (provides listener
registration)(not yet implemented)
Provides Native interface
Uses native interface(same-JVM only at present)
Initial state,Property Change events
Create component,set properties
Reflection
Installation Dataspace
Monitors data-itemsComponent requests,property
link requests,source properties
Publishes data-itemsreflecting current
state(Capabilities i.e. component factory,
Components, Properties)
4Detail EQUIP Dataspaces and Dataitems
- Dataitem
- Strongly typed OO single inheritance
- Identified by unique GUID
- Pre-defined tuple type used in most recent
applications - Dataspace
- Client-server (could be P2P)
- Add, update, delete Dataitem operations (events)
- Can also define new event types
- Query via template objects (null wildcard)
- Copy collect, collect, in and out operations on
local (inc. replicated) items - Replication via Item Monitor patterns
- ongoing interest in items matching a template
5Configuration and Execution Model
- Create/locatecomponentson appropriate
hostse.g. device drivers,software
services,behaviour, glue - Set configuration property values(e.g. COM
port) - Create links betweenproperties to
createdata-flow graph - Train/script behaviour
Host A
Devices
SmartIT RF
RS-232
outTouch
SmartIT
Link
CaptureState
Camera
VFW, USB
SmartIT w/sensor
url
Serial SmartIT
url
Media viewer
minimum
maximum
VGA
current
Host C
Installation Data-space (Host A)
Components
6Installation Persistence
- Dataspace persistence
- File-backed event log and checkpoints
- Persists component requests and link requests
- Will cause components and links to be
re-requested - Container persistence
- Checkpoint/configuration file
- Persists capability, component and property
GUIDs, and property values - Will cause apparently identical component(s) to
be recreated in response to previously seen
request(s) - Component persistence (optional)
- Extra component-specific checkpoint file
- Persists internal state (not visible as
properties) - NB persisted information is specific to those
particular containers and components not
transferable
7Transferable Configurations (new)
- XML file describing all (DS) visible information
- Capabilities, components, properties, links
- Wizard UI
- Attempts to find best-match in (possibly
different) installation - E.g. same component class name, same property
name - Allows selective instantiation
- E.g. use an already running component instead of
creating a new one allowing configurations to
be combined and linked - Maps property values and links to these
alternatives when specified - Note can also be used as an additional
(failsafe?!) persistence mechanism
8Next steps
- Migrate to SourceForge under BSD licence
- Build user community(s)
- See also future directions
9Future directions
- Community building/support
- Transferable configurations
- Allow sharing of arrangements
- Needs further improvements to wizard heuristics
- Transferable capabilities
- Needs support for automated distribution of
capabilities (component classes) to other
installations, and between hosts in one
installation - Including support for version identification/track
ing - Standard descriptions for capabilities and
components - Component directory?!
10Future directions
- Community building/support (cont.)
- Move source to SourceForge under BSD licence
- More accessible to external developers
- Can outlive project
- Gives access to bug tracker, RFE, webCVS, forums,
etc. - Develop links with Processing
- Support for latest version(s)
- More example configurations, etc.
- Joint workshop?! Links from Processing web?!
11Future directions
- Improved deployability for trials/studies
- Auto-start on boot (e.g. recovery/appliance)
- Improved remote diagnostics/trouble-shooting
- Record and Re-use
- Test-bed for emerging log-file and corpus file
formats - To be supported in replaytool
- Allow review/analysis of ECT use alongside video,
text annotations