> ... If limitation stays I'll have to create individual address attributes instead of embedding Address BO
This may be a good idea, actually. If you move the attributes to real business objects representing people or companies they may look better on object forms and easier to handle as they will be an integral part of the object. Yes, you will need to repeat the address-specific rules on each business object, but you can get the system to do it for you. For example, if you have objects Customer and Staff, you can create an object group Person with members Customer and Staff. Then, when adding a rule to Customer, instead of writing it like this:
If Customer.PostCode IS UNDEFINED Then DoSomething
You can write the rule like this:
If Person.PostCode IS UNDEFINED Then DoSomething
In other words, you can use the group name when adding object rules. The benefit is that the system will give you an option to automatically add rules to other member-objects in a group when you add a rule to one object. Furthermore, since the rules attached to different objects will be identical, when you make a change to such a rule later on the system will ask you whether to automatically change the rule on other member-objects.
Unlike traditional programming, in Aware IM this is a preferred way of handling attributes/rules that are identical for several objects, but cannot be extracted into a separate object because the new object would exist for technical rather than business reasons.
With object groups you can do some other cool things like using them in queries, for example to find all people (whether customers or staff) who live in a particular town, etc.