110 likes | 287 Views
A Reference Model for Event Patterns. Christian Silberbauer (christian.silberbauer@gmx.de). The Context. easyCredit platform of the Teambank should detect cancellation of credit applications Solution is part of the diploma thesis of Hans-Martin Brandl and David Guschakowski
E N D
A Reference Model for Event Patterns Christian Silberbauer (christian.silberbauer@gmx.de)
The Context • easyCredit platform of the Teambank should detect cancellation of credit applications • Solution is part of the diploma thesis of Hans-Martin Brandl and David Guschakowski • Von Ammon teaches Complex Event Processing at the Fachhochschule Regensburg • In this lecture we made a description of the Loss Pattern
The Pattern’s Sources • Christopher Alexander was the first one writing about patterns • His Book: “The Timeless Way of Building” • He is an architect!
Or: A Pattern describes a solution of a problem in a certain context. Alexander’s Pattern Definition “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.”
Standards for Software Patterns • Gamma et. Al. (GoF), 1994, „Design Patterns – Elements of Reusable Object-Oriented Software“ • Buschmann et. Al., 1996,„Pattern-oriented Software Architecture – A System of Patterns“
Gamma Name Intent Also Known As Motivation Applicability Structure Participants Collaborations Consequences Implementation Sample Code Known Uses Related Patterns Buschmann Name Also Known As Example Context Problem Solution Structure Dyanamics Implementation Example Resolved Variants Known Uses Consequences See Also Pattern Structure
Writing Event Patterns • Use a standardized structure for your pattern description (Gamma, Buschmann) • A pattern of a certain category of patterns has to have the same abstraction level • Don‘t describe too general concepts (e.g. Monitoring, Drill down, Benefits of using Events in general)