One embodiment of the invention is a method for generating a database
model from a set of business rules. For a business rule given as input,
an empty list of fact types is created. A determination of whether the
business rule is a definitional rule defining that one or more
propositions become true upon occurrence of an event is made. If the
business rule is a definitional rule, the fact type of each of the
propositions is added to the list of fact types. Otherwise, a
determination of whether the business rule is an authorization rule for
provision of information that comprises one or more authorized provisions
of information corresponding to one or more fact types is made. If the
business rule is an authorization rule for provision of information, the
corresponding fact types are added to the list of fact types. For each
fact type in the list of fact types, the fact type having at least one
role, the role having a type, if the type of the role is not a lexical
type, the type is added to a list of types. The types in the list of
types are processed and the fact types in the list of fact types are
processed.