Abstract
Many object-oriented information systems share an architectural style that emphasizes flexibility and run-time adaptability. Business rules are stored externally to the program such as in a database or XML files instead of in code. The object model that the user cares about is part of the database, and the object model of the code is just an interpreter of the users' object model. We call these systems "Adaptive Object-Models", because the users' object model is interpreted at runtime and can be changed with immediate (but controlled) effects on the system interpreting it. The real power in Adaptive Object-Models is that they have a definition of a domain model and rules for its integrity and can be configured by domain experts external to the execution of the program. This paper describes the Adaptive Object-Model architecture along with its strengths and weaknesses. It illustrates the Adaptive Object-Model architectural style by describing a framework for Medical Observations (following Fowler's Analysis Patterns) that we built.
- Ali Arsanjani. "Rule Object Pattern Language". Proceedings of PLoP2000. Technical Report #wucs-00-29, Dept. of Computer Science, Washington University Department of Computer Science, October 2000.]]Google Scholar
- Ali Arsanjani. Using Grammar-oriented Object Design to Seamlessly Map Business Models to Component -based Software Architectures, Proceedings of The International Association of Science and Technology for Development, 2001, Pittsburgh, PA.]]Google Scholar
- Krzysztof Czarnecki & Ulrich W. Eisenecker. Generative Programming --- Methods, Tools, and Applications, 2000. Addison-Wesley, 2000.]] Google ScholarDigital Library
- Peter Coad, "Object-Oriented Patterns". Communications of the ACM. 35(9):152-159, September 1992.]] Google ScholarDigital Library
- Brian Foote, Joseph W. Yoder. "Metadata and Active Object Models". Proceedings of Plop98. Technical Report #wucs-98-25, Dept. of Computer Science, Washington University Department of Computer Science, October 1998. URL: http://jerry.cs.uiuc.edu/~plop/plop98.]]Google Scholar
- Martin Fowler. Analysis Patterns, Reusable Object Models. Addison-Wesley. 1997.]] Google ScholarDigital Library
- Eric Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, Reading, MA, 1995.]] Google ScholarDigital Library
- Erich Gamma, Richard Helm, and John Vlissides, Design Patterns Applied, tutorial notes from OOPSLA'95.]]Google Scholar
- David Hay. Data Model Patterns, Convention of Thought. Dorset House Publishing. 1996]]Google Scholar
- Wolfgang Keller, Jens Coldewey. "Accessing Relational Databases". Pattern Languages of Program Design 3. Addisson Wesley, 1998.]] Google ScholarDigital Library
- Ralph Johnson, Bobby Wolf. "Type Object". Pattern Languages of Program Design 3. Addisson Wesley, 1998.]] Google ScholarDigital Library
- Ralph E. Johnson and Jeff Oakes, The User-Defined Product Framework, 1998. URL: http://st.cs.uiuc.edu/pub/papers/frameworks/udp.]]Google Scholar
- D. Manolescu. "Micro-Workflow: A Workflow Architecture Supporting Compositional Object-Oriented Software Development". PhD thesis, Computer Science Technical Report UIUCDCS-R-2000-2186. University of Illinois at Urbana-Champaign, October 2000, Urbana, Illinois.]] Google ScholarDigital Library
- Alan Perkins. Business rules-meta-data. Proceedings of 34th International Conference on Technology of Object-Oriented Languages and Systems, 2000. On page(s): 285-294.]] Google ScholarDigital Library
- N. Revault, X. Blanc & J-F. Perrot. "On Meta-Modeling Formalisms and Rule-Based Model Transforms", Comm. at Ecoop'2K workshop Iwme'00, Sophia Antipolis & Cannes, France, June 2000.]]Google Scholar
- Nicolas Revault & Joseph W. Yoder. "Adaptive Object-Models and Metamodeling Techniques", ECOOP'2001 Workshop Reader; Lecture Notes in Computer Science,; Springer Verlag 2001.]] Google ScholarDigital Library
- D. Riehle, M. Tilman, R. Johnson. "Dynamic Object Model". Proceedings of PLoP2000. Technical Report #wucs-00-29, Dept. of Computer Science, Washington University Department of Computer Science, October 2000. URL: http://jerry.cs.uiuc.edu/~plop/plop2k.]]Google Scholar
- D. Riehle, S. Fraleigh, D. Bucka-Lassen, N. Omorogbe. "The Architecture of a UML Virtual Machine". Proceedings of the 2001 Conference on Object-Oriented Program Systems, Languages and Applications (OOPSLA '01), October 2001.]] Google ScholarDigital Library
- Don Roberts, Ralph Johnson. "Patterns for Evolving Frameworks". Pattern Languages of Program Design 3. Addisson Wesley, 1998.]] Google ScholarDigital Library
- I. Rouvellou, L. Degenaro, K. Rasmus, D. Ehnebuske, B. McKee. "Extending business objects with business rules". Proceedings on Technology of Object-Oriented Languages, 2000. On page(s): 238 - 249,]] Google ScholarDigital Library
- C.G. Roy, J. Kelso, C. Standing. "Towards a visual programming environment for software development". Proceedings on Software Engineering: Education & Practice, 1998. Page(s): 381 - 388.]] Google ScholarDigital Library
- J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen. "Object-Oriented Modeling and Design" Prentice Hall, 1991.]] Google ScholarDigital Library
- M. Tilman, M. Devos. "A Reflective and Repository Based Framework". Implementing Application Frameworks, Wiley, 1999. On page(s) 29-64.]]Google Scholar
- J. Yoder, R. Johnson, Q. Wilson. "Connecting Business Objects to Relational Databases". Proceedings of Plop98. Technical Report #wucs-98-25, Dept. of Computer Science, Washington University Department of Computer Science, October 1998. URL: http://jerry.cs.uiuc.edu/~plop/plop98.]]Google Scholar
- Joseph W. Yoder, Brian Foote, Dirk Riehle, and Michel Tilman. Metadata and Active Object-Models Workshop Results Submission; OOPSLA Addendum, 1998.]] Google ScholarDigital Library
- Joseph W. Yoder & Reza Razavi. "Metadata and Adaptive Object-Models", ECOOP'2000 Workshop Reader; Lecture Notes in Computer Science, vol. no. 1964; Springer Verlag 2000.]] Google ScholarDigital Library
- Joseph W. Yoder, Ralph Johnson. "Implementing Business Rules with Adaptive Object-Models". Business Rules Approach. Prentice Hall. 2002.]]Google Scholar
Index Terms
- Architecture and design of adaptive object-models
Recommendations
Adaptive object-model evolution patterns
SugarLoafPLoP '10: Proceedings of the 8th Latin American Conference on Pattern Languages of ProgramsAn Adaptive Object-Model (AOM) is a software architecture style that represents user-defined entities, attributes, relationships, and behavior in an object-oriented domain model as metadata. In an AOM implementation, domain entities are constructed from ...
Constituent subband allocation for system modeling nonuniform subband adaptive filters
Subband adaptive filters (SAFs) have gained widespread use in key applications such as echo cancellation, system identification, and equalization. SAFs are normally constrained to utilize uniform filterbanks. However, it has been recently proposed that ...
Adaptive Programming
An adaptive program is one that changes its behavior base on the current state of its environment. This notion of adaptivity is formalized, and a logic for reasoning about adaptive programs is presented. The logic includes several composition operators ...
Comments