First released in version: 3.2

Types and objects

Introduction to Types and Objects

A critical first step in creating a new SmartSpace application is to design and implement your data model and object model. With SmartSpace you can create new domain-specific object types to use in building taxonomies, modeling entities and referring to real-world objects.

At the most basic level, all new types are Ubisense Objects which can be assigned two simple properties. These properties (also sometimes referred to as attributes) are a unique identifier (a name) and, where applicable, one or more space properties. Space properties and their purpose are discussed in Spatial monitoring.

Ubisense type creation follows standard object-oriented best practice, including single and multiple inheritance. This means that new types can inherit from several different types to include all the properties of the parents, and can satisfy ‘is a’ type checking wherever types of the parent class are referred to.

As well as using Ubisense Objects, you can also create types using other Ubisense-supplied types. These are described below. In your data model, you can only use Ubisense types associated with features you have licensed.

Ubisense Types

Below are the Ubisense types and the components or features to which they belong:

Ubisense type Description
Core  
Ubisense Object Ubisense Object is the most basic type and in the absence of any more complex types is the basis for all new data model types. (See Creating a custom type and adding a space property for an example of configuring a custom data type.)
This type allows you to create custom data types which have a unique name and optionally include one or many space properties allowing the type to be included in different SmartSpace spatial relations.
Visibility
Sensor Used by Visibility. Sensors created in LSC are copied to SmartSpace as type Sensor, along with the name, position and label of the sensors. See Location system sync for how to use this type.
Location rules
Assertion Area Used in Robust location. Assertion area has two main functions: to group together assertion points with the same configuration parameters and to control a set of objects which can be located at one of its assertion points. See Robust assertion points for how to use this type.
Assertion Point Used in Robust location. Assertion points report when an object is at a given place, using strong evidence, including distance from the point and the speed at which the object is moving. See Robust assertion points for how to use this type.
Parking Area Used in Parking bay snapping. Parking Area is derived from Assertion Area and inherits all spatial properties, parameters and assertions from Assertion Area; and these inherited configurations have the same function. See Parking for how to use this type.
Parking Bay Used in Parking bay snapping. Parking Bay is derived from Assertion Point and inherits all spatial properties, parameters and assertions from Assertion Point; and these inherited configurations have the same function. See Parking for how to use this type.
Tag Association Point Used in Automated tag association. During automated tag association a sequence of objects created from an external source are assigned to tags detected at a Tag Association Point. See Automated tag association for how to use this type.
Room snapping
Building Used in Room snapping to group rooms and doorways. See Configuring Room snapping.
Doorway Used in Room snapping to define a space through which tags can pass between rooms. See Configuring Room snapping.
Room Used in Room snapping to define areas inside of which tags are snapped to locations. See Configuring Room snapping.
Paths and queues
Path Group Used in Paths and queues. A Path Group is a logical grouping of paths used to determine which objects are being controlled by the path tracking location rules. See Creating the data model for Paths and queues for further information.
Path Point Used in Paths and queues. A path point is an object intended to be located exactly on a path. Creating objects based on the Path point type gives objects features to get them to snap to paths or be generated at regular intervals. See Creating the data model for Paths and queues for further information.
Location quality monitoring
Location Quality Monitor Used by Location quality monitoring. Base type for all quality monitor types. See Introduction to Location quality monitoring for further information.
Distance Monitor Used by Location quality monitoring. Base type for all distance monitor types. See Introduction to Location quality monitoring for further information.
Base Distance Monitor Used by Location quality monitoring. Monitor to measure the maximum distance between the current tag position and the longer-term average position, over a time interval. See Introduction to Location quality monitoring for further information.
Jump Monitor Used by Location quality monitoring. Monitor to detect large distances between two consecutive tag location events. See Introduction to Location quality monitoring for further information.
Parking Distance Monitor Used by Location quality monitoring. Monitor to measure the tag sighting distance from the tag position assuming the object is parked. See Introduction to Location quality monitoring for further information.
Path Monitor Used by Location quality monitoring. Base type for all path monitor types. See Introduction to Location quality monitoring for further information.
Path Distance Monitor Used by Location quality monitoring. Monitor to measure the distance of the tag from its expected position if the object is on the path. See Introduction to Location quality monitoring for further information.
Path Jump Monitor Used by Location quality monitoring. Monitor to measure the distance between consecutive tag positions assuming the tagged object is on the path. See Introduction to Location quality monitoring for further information.
Outage Monitor Used by Location quality monitoring. Monitor to measure the length of time between successive sightings of a tag. See Introduction to Location quality monitoring for further information.
RFID integration
AngleID Recipe Automatically created by AngleID connect. A recipe in AngleID contains instructions to tell tag readers what to do with streams of angle readings generated when the readers detect Ubisense tags. See What AngleID connect does for further information.
LLRP Reader Used in the LLRP interface to create type for LLRP readers you want to connect to. See LLRP Tag Reader Configuration for further information.
RTLS integration
External data connector
Action Used by External data connector. Abstract base type for all actions. See Overview of the External data connector.
Association Action Used by External data connector. Associates unassociated parsed objects with free tags from a given range. See Overview of the External data connector.
Cartesian Location Action Used by External data connector. Injects object/tag locations from Cartesian (x/y/z) data. See Overview of the External data connector.
Fixed Location Action Used by External data connector. Injects object/tag locations at a fixed position. See Overview of the External data connector.
GPS Location Action Used by External data connector. Injects object/tag locations from GPS data. See Overview of the External data connector.
GPS Reference Point Used by External data connector. Used to configure GPS coordinate conversion. See Overview of the External data connector.
HTTP Listener Stream Used by External data connector. Listens for POST/PUT HTTP(S) requests. See Overview of the External data connector.
HTTP Request Stream Used by External data connector. Retrieves data via periodic HTTP(S) GET requests. See Overview of the External data connector.
Location Action Used by External data connector. Abstract base class for actions on object/tag location data. See Overview of the External data connector.
Location Action Zone Used by External data connector. Used to define inclusion/exclusion extents for location actions. See Overview of the External data connector.
Object Action Used by External data connector. Abstract base class for actions on object data. See Overview of the External data connector.
Object Creation Action Used by External data connector. Creates missing SmartSpace objects to match objects from parsed data. It is recommended that you only have one Object Creation Action per External system. See Overview of the External data connector.
Object Tag Action Used by External data connector. Abstract base class for actions on object/tag data. See Overview of the External data connector.
Property Action Used by External data connector. Sets UDM property values for objects based on parsed data. See Overview of the External data connector.
SQL Stream Used by External data connector. Connects and queries external SQL systems. See Overview of the External data connector.
Stream Used by External data connector. Abstract base type for streams. See Overview of the External data connector.
Tag Battery Action Used by External data connector. Asserts tag battery status from parsed data. See Overview of the External data connector.
TCP Client Stream Used by External data connector. Connects to a TCP server socket and listens for data. See Overview of the External data connector.
Text Connector Stream Used by External data connector. Abstract base class for text connector stream. See Overview of the External data connector.
Text Listener Stream Used by External data connector. Abstract base class for text listener streams. See Overview of the External data connector.
Text Stream Used by External data connector. Abstract base class for text based streams. See Overview of the External data connector.
Websocket Connector Stream Used by External data connector. Connects to a server via websockets and listens for data. See Overview of the External data connector.
Zone Used by External data connector. Used to define inclusion/exclusion extents for location actions. See Overview of the External data connector.
AVL/GPS connect
GPS Reference Point Used by AVL/GPS connect. See Web Source Injector. Deprecated from SmartSpace version 3.9 and above.
GPS Zone Used by AVL/GPS connect. See Web Source Injector. Deprecated from SmartSpace version 3.9 and above.
Web Location Source Used by AVL/GPS connect. See Web Source Injector. Deprecated from SmartSpace version 3.9 and above.
SmartSpace Developer
Sensor  
Location simulation
Simulation Control Used by Location simulation. Base type for all simulation control types. See Location simulation for further information.
Simulation Behaviour Used by Location simulation. A simulation behaviour has a set of service parameters that define how objects behave in a simulation. See Location simulation for further information.
Simulation Lifecycle Used by Location simulation. A simulation lifecycle has a set of service parameters that define a set of objects to be created while the lifecycle is active. See Location simulation for further information.
Simulation Target Group Used by Location simulation. A simulation target group is used to make random routing decisions. See Location simulation for further information.
ACS
Generation2 Area Used to define areas for use with ACS. See Creating areas for use in ACS.
ACS Assembly Line Parent type used with ACS.
ACS Assembly Point Parent type used with ACS.
ACS Association Zone Parent type used with ACS.
ACS Device Parent type used for all ACS device types. See ACS types in SmartSpace.
ACS Disassociation Zone Parent type used with ACS.
ACS Event Subscription Parent type used with ACS.
ACS Exception Parent type used with ACS. See ACS types in SmartSpace.
ACS External System Parent type used for all ACS external systems. See ACS types in SmartSpace.
ACS Ident Zone Parent type used for all ACS ident zones. See ACS types in SmartSpace.
ACS Object Parent type used for all ACS types. See ACS types in SmartSpace.
ACS Object Lifecycle Parent type used with ACS.
ACS Product Parent type used for all ACS product types. See ACS types in SmartSpace.
ACS Product Space Parent type used with ACS.
ACS Product Type Parent type used with ACS.
ACS Production Line Parent type used with ACS.
ACS Station Parent type used for all ACS assembly line station types. See ACS types in SmartSpace.
ACS Trigger Point Parent type used with ACS.
ACS Workspace Parent type used for all ACS workspace types. See ACS types in SmartSpace.
Outgoing ACS Event Parent type used for outgoing ACS events. See ACS types in SmartSpace.

Creating a custom type and adding a space property

Types and objects are created using the SmartSpace Config application. You can find a description of the workspace for creating types and objects in Types and objects. The instructions below take you through creating a type, giving it a name, and adding a spatial property.

To create a new type, click on TYPES / OBJECTS to open the Types and objects workspace and double-click <Create new type>.

This will display the type creation dialog. At this point you must:

  1. Give your new Type a name.
  2. Decide whether you want the type to inherit from any existing types.
  3. Give your new type a property with which instances of the object can be uniquely identified, .i.e. a “name” or “UID” property.
  4. Click Save.

screen capture showing the <Create new type> option and a dialog where a new type is created

If you want to add a space property to your new type, select the type in the top half of the Types and properties list and double-click the <Create new property> option in the lower half.

This will pop up the property creation dialog. From here you must:

  1. Give the new property a name. Because we are creating a property of type Space, it is good practice to use the term “extent” or “space” as part of the name.

  2. At which is managed by you can select the service which manages this property. Accept the default option of the site-level object property data service. In general, you should accept the default, but see Ubisense Real-Time Rules: Concepts and Configuration for further information.

  3. From the dropdown menu, choose Space as the property's type.

    screen shot showing the <Create new property> option and a dialg where the proerty is given a name and the Space type is selected

  4. Click Save.