skip to main content
article

Architecture and design of adaptive object-models

Published: 01 December 2001 Publication History

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.

References

[1]
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.]]
[2]
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.]]
[3]
Krzysztof Czarnecki & Ulrich W. Eisenecker. Generative Programming --- Methods, Tools, and Applications, 2000. Addison-Wesley, 2000.]]
[4]
Peter Coad, "Object-Oriented Patterns". Communications of the ACM. 35(9):152-159, September 1992.]]
[5]
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.]]
[6]
Martin Fowler. Analysis Patterns, Reusable Object Models. Addison-Wesley. 1997.]]
[7]
Eric Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, Reading, MA, 1995.]]
[8]
Erich Gamma, Richard Helm, and John Vlissides, Design Patterns Applied, tutorial notes from OOPSLA'95.]]
[9]
David Hay. Data Model Patterns, Convention of Thought. Dorset House Publishing. 1996]]
[10]
Wolfgang Keller, Jens Coldewey. "Accessing Relational Databases". Pattern Languages of Program Design 3. Addisson Wesley, 1998.]]
[11]
Ralph Johnson, Bobby Wolf. "Type Object". Pattern Languages of Program Design 3. Addisson Wesley, 1998.]]
[12]
Ralph E. Johnson and Jeff Oakes, The User-Defined Product Framework, 1998. URL: http://st.cs.uiuc.edu/pub/papers/frameworks/udp.]]
[13]
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.]]
[14]
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.]]
[15]
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.]]
[16]
Nicolas Revault & Joseph W. Yoder. "Adaptive Object-Models and Metamodeling Techniques", ECOOP'2001 Workshop Reader; Lecture Notes in Computer Science,; Springer Verlag 2001.]]
[17]
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.]]
[18]
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.]]
[19]
Don Roberts, Ralph Johnson. "Patterns for Evolving Frameworks". Pattern Languages of Program Design 3. Addisson Wesley, 1998.]]
[20]
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,]]
[21]
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.]]
[22]
J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen. "Object-Oriented Modeling and Design" Prentice Hall, 1991.]]
[23]
M. Tilman, M. Devos. "A Reflective and Repository Based Framework". Implementing Application Frameworks, Wiley, 1999. On page(s) 29-64.]]
[24]
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.]]
[25]
Joseph W. Yoder, Brian Foote, Dirk Riehle, and Michel Tilman. Metadata and Active Object-Models Workshop Results Submission; OOPSLA Addendum, 1998.]]
[26]
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.]]
[27]
Joseph W. Yoder, Ralph Johnson. "Implementing Business Rules with Adaptive Object-Models". Business Rules Approach. Prentice Hall. 2002.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 36, Issue 12
December 2001
77 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/583960
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 December 2001
Published in SIGPLAN Volume 36, Issue 12

Check for updates

Author Tags

  1. adaptive object-model
  2. adaptive systems
  3. dynamic object-model
  4. meta-architectures
  5. metadata
  6. patterns
  7. reflection
  8. reflective systems meta-modeling

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)22
  • Downloads (Last 6 weeks)2
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media