Lab of Things Glossary
Capability: An object that grants access permission for a certain port.
Dashboard: The user interface for the HomeOS. In the Dashboard you can install new applications, manage settings, and install and configure the sensors that will be connected to the Home Hub.
Home Hub: A dedicated computer that runs the HomeOS platform in a Lab of Things household.
HomeOS: A software platform that provides a PC-like abstraction for in-home hardware and simplifies the tasks of writing applications and managing sensors. In our documentation we often refer to HomeOS as just “platform”.
Lab of Things: A flexible platform for research that uses connected devices in homes (and in the future, other physical spaces such as commercial buildings). Lab of Things provides researchers with the ability to:
- Easily interconnect devices and implement application scenarios.
- Conduct field studies at scale through cloud services that can monitor and update experiments and provide easy access to collected data.
- Share data, code, and participants, lowering the barrier to evaluating ideas in a diverse range of settings.
Location: The actual physical location for a device (e.g. "kitchen", "basement", etc.). This enables applications to make decisions based on location. Each port has a location field in its PortInfo data structure.
Module: A HomeOS app or driver.
Operation: A named action exposed by a port. Each operation takes a certain number of typed inputs and returns a certain number of typed outputs.
OrgID: A unique identifier representing a Lab of Things participant. This can be either an individual or an
Platform: The kernel of HomeOS responsible for allowing communication and managing running modules.
Port: A communication endpoint. Ports announce the availability of a device or service, and describe which services are available. Use GetInfo() to return information about a port.
Role: A service definition that describes the high-level functionality provided by a port, similar in nature to an interface. Roles are defined in Hub\Common\Role.cs.
Scout: A small program (.dll) that runs and detects devices on the home system, and tells the platform which driver to start when a user wants to set up a new device, and which parameters the driver should be run with.