Thursday, September 24, 2009

Thoughts on The Adaptive Object-Model Architectural Style

After reading the high-level description of the adaptive object-model architecture I think it is brilliant. Instead of implementing classes that correspond to the different business entities, in contrast this style is based on user defining descriptions of structures and rules within that particular business domain thus making it very flexible to changes in business rules. In the last lecture Professor Johnson was asking the class about what kinds of architecture could last a long time; with its advantages of adaptability and quick turnaround, applications done in this architectural style should last much longer than the traditional object model in our ever-changing business world.

Since this style involves another level of abstraction, I can see it is harder for one to comprehend. It also depends on each person's past experience and the programming language he or she uses. For Smalltalk programmers it should be more familiar due to their exposure to metaclasses. Here I have a suggestion on section 3, Examples of Adaptive Object-Models, it could go add an example of type creation, it is hard to grasp the brilliance of the architecture just by reading the high-level description and looking at the UML diagram.

This architecture hinges on two key patterns: TypeObject and Property. I was unfamiliar with the former and thus I digged up a bit online. The link below points to another paper written by professor Johnson which clearly explains the pattern:

http://www.comlab.ox.ac.uk/people/jeremy.gibbons/dpa/typeobject.pdf

I also saw the term "framework" being used multiple times in this paper. Typically, a framework enables easy creation of multiple programs. Since in this architectural style new types can be created dynamically based on different user rules, thus each run of the application with a different rule set will produce a different set of object types; one could argue that they are different programs. I think that is why the examples in the paper are referred to as frameworks, which means that this architectural style also gives us a template for creating a framework.

No comments:

Post a Comment