8.11 Summary
One of the earliest examples of pattern languages for specifying computer programs is Path Expressions [22], which is conceptually similar to Regular Expressions.4 Historically, Rapide-EPL evolved experimentally from an event pattern language for specifying and monitoring multitasking programs, called Task Sequencing Language [7], which was also rooted in Regular Expressions.
Rapide-EPL could be viewed as being designed by taking Regular Expressions of basic event patterns as a basic event pattern language and then adding new features, including the causal () and independence (||) event pattern operators, predicate guards over complex event patterns, timing operators similar to the ones usually found in simulation languages, strong typing with inheritance, and pattern macros. Today, several pattern languages could be added to in similar ways to be suitable for CEP.