Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Simulation, verification and automated composition of web services
Proceedings of the 11th international conference on World Wide Web
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Aurora: a new model and architecture for data stream management
The VLDB Journal — The International Journal on Very Large Data Bases
The VLDB Journal — The International Journal on Very Large Data Bases
Automated Synthesis of Composite BPEL4WS Web Services
ICWS '05 Proceedings of the IEEE International Conference on Web Services
Knit: component composition for systems software
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Wishful search: interactive composition of data mashups
Proceedings of the 17th international conference on World Wide Web
SPADE: the system s declarative stream processing engine
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
A tag-based approach for the design and composition of information processing applications
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Mashup-based information retrieval for domain experts
Proceedings of the 18th ACM conference on Information and knowledge management
Proceedings of the 5th ACM international conference on Distributed event-based system
Hi-index | 0.00 |
An event processing flow can be represented as a directed graph that describes how events are obtained from one or more sources, processed by one or more components, and finally sent to one or more sinks. Such flows are often used by experts in different domains, on different platforms, to obtain customized information and alerts. In previous work, the Cascade language has been proposed for describing commonly used patterns of flows. The patterns cover different possible variations of the flows, including variations in the structure of the flow, the components in the flow and the possible parameterizations of these components. The patterns help in codifying best practices in terms of event processing flows in different domains. We refer to these patterns as function patterns. This is in contrast to design patterns that outline a strategy to solve a design challenge, but stop short of actually recommending a complete procedure to perform a function. We have developed tools that allow domain experts to construct, parameterize and deploy specific flows that follow a certain pattern. In this paper, we describe some experiences in using the flow patterns in a real-world domain. Some of the key lessons we learned are: 1) the use of patterns and associated tools helped make domain experts more productive and reduced their dependency on a supporting team of developers, 2) developing patterns requires a change in programming style, often resulting in more reusable and modularized code, 3) challenges remain with regard to code evolution and testing.