Real-Time IoT Stream Processing and Large-scale Data Analytics for Smart City Applications

Wrapper This class representes a Data wrapper. Each geo-spatially distinct external resource that needs to be connected to the CityPulse framework must be modelled as an instance of AbstractWrapper. AbstractComposedWrapper In case multiple geo-spatially distinct sensor observations can be fetched or received with one single request, an AbstractComposedWrapper can be used to split and distribute the external resource’s answer. The AbstractComposedWrapper holds references to multiple AbstractWrapper and acts as container for the distinct sensors. An AbstractComposedWrapper possesses a reference to an implementation of AbstractSplitter, which holds the logic how to split and distribute response messages.ComposedWrapper In case multiple geo-spatially distinct sensor observations can be fetched or received with one single request, an AbstractComposedWrapper can be used to split and distribute the external resource’s answer. The AbstractComposedWrapper holds references to multiple AbstractWrapper and acts as container for the distinct sensors. An AbstractComposedWrapper possesses a reference to an implementation of AbstractSplitter, which holds the logic how to split and distribute response messages. AbstractConnection A derivation of this class is responsible to fetch or receive new sensor observations from the external resource.Connection A derivation of this class is responsible to fetch or receive new sensor observations from the external resource. AbstractSplitter AbstractSplitter is only used in combination with AbstractComposedWrapper. An implementation of an AbstractSplitter gets a response message from an external resource for multiple geo-spatially distinct sensor observations as input and divides these messages for each embedded AbstractWrapper within the AbstractComposedWrapper. Each embedded AbstractWrapper will have a special kind of AbstractConnection (named SplitterConnection), which collects the messages or messageparts corresponding to the AbstractWrapper.Splitter AbstractSplitter is only used in combination with AbstractComposedWrapper. An implementation of an AbstractSplitter gets a response message from an external resource for multiple geo-spatially distinct sensor observations as input and divides these messages for each embedded AbstractWrapper within the AbstractComposedWrapper. Each embedded AbstractWrapper will have a special kind of AbstractConnection (named SplitterConnection), which collects the messages or messageparts corresponding to the AbstractWrapper. AbstractParser An instance of the AbstractParser class is responsible to interpret the plain response messages from the external resource received by the AbstractConnection (or SplitterConnection). An AbstractWrapper may have two implementations of an AbstractParser, one for real data and one for historic data.Parser An instance of the AbstractParser class is responsible to interpret the plain response messages from the external resource received by the AbstractConnection (or SplitterConnection). An AbstractWrapper may have two implementations of an AbstractParser, one for real data and one for historic data. AbstractReader An AbstractReader provides historic data for an AbstractWrapper. If no AbstractReader is implemented the corresponding Data wrapper is not available for the Resource management’s replayReader An AbstractReader provides historic data for an AbstractWrapper. If no AbstractReader is implemented the corresponding Data wrapper is not available for the Resource management’s replay