The document describes a model-driven framework for extracting business rules from Java applications. The framework uses model discovery to generate a platform-specific model from source code. It then performs variable classification to identify domain variables and business concepts. Business rule identification works by "slicing" the model based on domain variables to annotate statements, methods, and declarations relevant to each variable. The annotations are used to extract a business rule model represented using IBM's business rule metamodel. The overall goal is to modularly discover and represent business rules implemented in an application's source code.