Active database systems can be used to establish and enforce data mana
gement policies. A large amount of the semantics that normally needs t
o be coded in application programs can be abstracted and assigned to a
ctive rules. This trend is sometimes called ''knowledge independence''
; a nice consequence of achieving full knowledge independence is that
data management policies can then effectively evolve just by modifying
rules instead of application programs. Active rules, however, may be
quite complex to understand and manage: rules react to arbitrary event
sequences, they trigger each other, and sometimes the outcome of rule
processing may depend on the order in which events occur or rules are
scheduled. Although reasoning on a large collection of rules is very
difficult, the task becomes more manageable when the rules are few. Th
erefore we are convinced that modularization, similar to what happens
in any software development process, is the key principle for designin
g active rules; however, this important notion has not been addressed
so far. This article introduces a modularization technique for active
rules called stratification; it presents a theory of stratification an
d indicates how stratification can be practically applied. The emphasi
s of this article is on providing a solution to a very concrete and pr
actical problem; therefore, our approach is illustrated by several exa
mples.