An object is a primitive object, a vector or in the form of a tuple of data components:
Object ={o| o is Primitive or
o=[o_1, ... , o_n] such that o_i is Object(Vector of object) or
o=(Prop_1, ... , Prop_n) forall i in {1...n}, Prop_i(o) is Object}
Time might be a point, in case of an instantaneous event, or an interval during if it is durative. Supported durative time is range.
time | [start_time:end_time]
Type | Actor | Time |
---|
(Type, Value) | SensorId | Time |
---|
ActivityId | ActorId | Time |
---|
Id | Name | Cumulative | OnChange | Nominal | Range | Location | Object | Sensor |
---|
Id | Name |
---|
Id | Name | Cumulative | OnChange | Nominal | Range | Location | Object | Sensor |
---|---|---|---|---|---|---|---|---|
int | string | bool | bool | bool | json {min,max}/{items} | string | string | string |
in case of nominal sensors, the range contain items and for numeric sensors, the range contain min and max |
Type | Value | SensorId | Time |
---|
ActivityId | ActorId | StartTime | EndTime |
---|
\begin{Example}[Different Segmentation approaches]
\end{Example}
\begin{lstlisting}[mathescape=true]
function Fixed time window(S,X,r,l) {//S=SegmentHistory, X=Events,
//r=Shift, l=windowLength
p=begin(S[last])
return X.eventsIn([p + r : p + r + l]);
}
function Fixed siding window(S,X,r,l) {
prev_w=S[last]; p=begin(S[last])
be=first({e \in X| p + r
indx=len(S[last])+1 //first event not in old segment
indx=len(S[last])+1 //first event not in old segment