Browsing by Subject "Design and implementations"
Now showing 1 - 2 of 2
- Results Per Page
- Sort Options
Item Open Access Generic windowing support for extensible stream processing systems(John Wiley & Sons Ltd., 2014) Gedik, B.Stream processing applications process high volume, continuous feeds from live data sources, employ data-in-motion analytics to analyze these feeds, and produce near real-time insights with low latency. One of the fundamental characteristics of such applications is the on-the-fly nature of the computation, which does not require access to disk resident data. Stream processing applications store the most recent history of streams in memory and use it to perform the necessary modeling and analysis tasks. This recent history is often managed using windows. All data stream management systems provide some form of windowing functionality. Windowing makes it possible to implement streaming versions of the traditionally blocking relational operators, such as streaming aggregations, joins, and sorts, as well as any other analytic operator that requires keeping the most recent tuples as state, such as time series analysis operators and signal processing operators. In this paper, we provide a categorization of different window types and policies employed in stream processing applications and give detailed operational semantics for various window configurations. We describe an extensibility mechanism that makes it possible to integrate windowing support into user-defined operators, enabling consistent syntax and semantics across system-provided and third-party toolkits of streaming operators. We describe the design and implementation of a runtime windowing library that significantly simplifies the construction of window-based operators by decoupling the handling of window policies and operator logic from each other. We present our experience using the windowing library to implement a relational operators toolkit and compare the efficacy of the solution to an earlier implementation that did not employ a common windowing library. Copyright © 2013 John Wiley & Sons, Ltd.Item Open Access A study to observe relations between software engineers' responses to incomplete requirements and requirements volatility(2009) Albayrak Ö.; Bicakci, M.; Bozkurt H.For high quality software, software requirements must be complete. In practice, not all software requirements are complete. In case of incomplete software requirements, software engineers fill in the requirements' gaps by getting feedback from the stakeholders or by making explicit or implicit assumptions. Explicit assumptions can be validated during analysis, while implicit assumptions validation is carried to design and implementation. Thus, compared to implicit assumption, explicit assumptions are better. Software requirements specifications change during different phases of project life-cycle. In an attempt to improve software development processes, we conducted an empirical study to search possible relationships between the number of implicit assumptions made by software engineers and requirements' volatility. This practice paper presents data from three completed projects at one CMMI level 3 company. Within the limit of our data set, our experience shows that possible relationships between projects' requirements volatility and the number of implicit assumptions are worth studying.