tributes
IP
,
TYPE
, and
TO-PATH
.
An element
DATA-TYPE
contains information
about the structures of data items handled by an ap-
plication. Its subelements and attributes are modeled
in a way similar to C++ class structures.
An element
WINDOWS
contains information about
the different types of windows used by an application.
An element
PATH
represents the paths a data
stream processing application consists of. It is de-
scribed by the attributes
NAME
and
TYPE
where
NAME
identifies a path and
TYPE
is a type of data item pro-
cessed by a path. The subelements of
PATH
inlude the
repetitions of the elements
OPERATION
and
OUTPUT
.
An element
OPERATION
that represent the operations
included in a path has its own sub-elements including
COMMENTS
,
GET
,
STORE
, and
BRANCH
.
C++ code generated from XML specification im-
plements entire application except the elementary op-
erations that have to be separately provided by the ap-
plication programmers. Every data item handled by
a data stream processing application has its type de-
clared in the application. Data types are represented
by C++ classes of objects and the variables being the
instances of a particular data type are stored as either
private or public variables.
All paths described in XML document are repre-
sented as sequences of operations are the segments
within the function. A code generated from XML
uses sockets for connecting and listening to different
ports.
6 SUMMARY, AND FUTURE
WORK
This work considers the design and implementation
of data stream processing applications in the envi-
ronments where the limited computational resources
or specific requirements imposed on the applications
make the utilization of complex DSMS not practical.
In our approach an application processing n input data
streams is represented as an n-ary operation. We show
how to decompose such operations into the expres-
sions built of binary operations, materializations, and
input data items and later on we describe the transala-
tion the expressions into the sets of data stream pro-
cessing paths. In our model one data stream is di-
rected for processing to one path and set of paths
represents entire application. The paths are formally
described in XML based language and implemented
through the automatic translation into C++ code.
The following are the possible directions for fu-
ture extensions of our approach to data stream pro-
cessing. An interesting idea is to distribute the com-
putations over many processing units. A closely re-
lated problem is the distribution of the processing in
the sensor networks. Another problem is related to
the simultaneous processing of more than one data
stream. In such a case the synchronization of flows
of data items along the processing paths needs to
throughly be addressed.
REFERENCES
Abadi, D., Carney, D., Cetintemel, U., M.Cherniack, Con-
vey, C., Erwin, C., Galvez, E., Hauton, M., Maskey,
A., Rasin, A., A.Singer, Stonebraker, M., Tatbul, N.,
Xing, Y., Yan, R., and Zdonik, S. (2003). Aurora: A
data stream management system. In Proceedings of
the 2003 ACM SIGMOD International Conference on
Management of Data, pages 663–663.
Avnur, R. and Hellerstein, J. (2002). Continuously adaptive
continuous queries over streams. In Proceedings of
the 2002 ACM SIGMOD International Conference on
Management of Data, pages 49–60.
Babcock, B., Babu, S., Datar, M., Motwani, R., and Widom,
J. (2002). Models and issues in data stream sys-
tems. In Popa, L., editor, Proceedings of the Twenty-
first ACM SIGACT-SIGMOD-SIGART Symposium on
Principles of Database Systems, pages 1–16. ACM
Press.
Cranor, C., Johnson, T., Spatatschek, O., and Shkapenyuk,
V. (2003). Gigascope: A stream database for net-
work applications. In Proceedings of the 2003 ACM
SIGMOD International Conference on Management
of Data, pages 644–648.
Getta, J. R. and Vossough, E. (2004). Optimization of data
stream processing. SIGMOD Record, 33(3):34–39.
Motwani, R., Widom, J., Arasu, A., Babcock, B., Babu, S.,
Datar, M., Manku, G., C.Olston, Rosenstein, J., and
Varma, R. (2003). Query processing, resource man-
agement, and approximation in a data stream man-
agement system. In Proceedings of the First Bi-
ennial Conference on Innovative Data Systems Re-
search, pages 245–256.
Zdonik, S., Stonebraker, M., M.Cherniack, Cetintemel, U.,
Balazinska, M., and H.Balakrishnan (2003). The Au-
rora and Medusa projects. Bulletin of the Technical
Committee on Data Engineering, pages 3–10.
ICSOFT 2007 - International Conference on Software and Data Technologies
196