Adaptive Object-Models successfully confront the need for change by casting information like business rules as data rather than code. In this way, it is subject to change at runtime. Using objects to model such data and coupling an interpretation mechanism to that structure, we obtain a domain-specific language, which allows users themselves to change the system following the evolution of their business. If you change the object model, the system changes its behavior. For example, a lot of workflow systems have an Adaptive Object-Model.
Objects have states and respond to events by changing state.
The Adaptive Object-Model defines the objects, their states, the events, and the conditions under which an object changes state. Business rules can be stored in an AdaptiveObjectModel that makes it easy to evolve the way a company does their business. I am trying to maintain a few links that I think are worth looking at if you are interested in building dynamic or adaptable systems. If you think you have a worthwhile link, email me.