Presentation is loading. Please wait.

Presentation is loading. Please wait.

CachingType Object AOM Patterns Categories Code is data, data is code... Everything is data, everything is code! Towards a Pattern Language for Adaptive.

Similar presentations


Presentation on theme: "CachingType Object AOM Patterns Categories Code is data, data is code... Everything is data, everything is code! Towards a Pattern Language for Adaptive."— Presentation transcript:

1 CachingType Object AOM Patterns Categories Code is data, data is code... Everything is data, everything is code! Towards a Pattern Language for Adaptive Object Models Value ObjectNull Object  Buschmann, F.; R. Meunier, H. Rohnert, P. Sommerlad, M. Stal. Pattern Oriented Software Architecture, Volume 1: A System of Patterns. Wiley & Sons. 1996.  Czarnecki, K., Eisenecker U. Generative Progamming: Methods, Tools, and Applications. Addison-Wesley. 2000.  Foote B.; J. 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.  Fowler, M. Analysis Patterns: Reusable Object Models. Addison-Wesley. 1997.  Gamma, E.; R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object Oriented Software. Addison-Wesley, 1995.  Johnson, R.; R. Wolf. Type Object. Pattern Languages of Program Design 3. Addisson Wesley, 1998.  Manolescu, D.; R. Johnson. Dynamic Object Model and Adaptive Workflow. Metadata and Active Object-Model Pattern Mining Workshop. OOPSLA'99, Denver, USA, 1999.  Razavi, R.; K. Mechitov, S. Sundresh, G. Agha, J. Perrot. Ambiance: Adaptive Object Model-based Platform for Macroprogramming Sensor Networks. Companion of the 21st ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA 2006), Portland, Oregon, USA, 2006.  Revault, N; J. Yoder. Adaptive Object-Models and Metamodeling Techniques Workshop Results. Proceedings of the 15th European Conference on Object Oriented Programming (ECOOP 2001), Budapest, Hungary, 2001.  Riehle, D.; M. Tilman, R. Johnson. Dynamic Object Model. Proceedings of the 8th Pattern Language of Programs Conference (PLoP 2000), Monticello, Illinois, USA, 2000. 00-29, Dept. of Computer Science, Washington University Department of Computer Science, October, 2000.  Riehle, D.; 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 2001), October 2001.  Roberts D.; R. Johnson. Evolving Frameworks: A Pattern Language for Developing Object-Oriented Frameworks, Pattern Languages of Program Design 3, Robert Martin, Dirk Riehle, and Frank Buschmann, eds., Addison-Wesley, 1997.  Sommerlad, P.; M. Ruedi. Do-it-yourself Reflection. 3rd European Conference on Pattern Languages of Programming (EuroPLoP 1998).  Yoder, J.; F. Balaguer, R. Johnson. Architecture and Design of Adaptive Object-Models. Proceedings of the ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA 2001), Tampa, Florida, USA, 2001.  Yoder, J.; R. Johnson. The Adaptive Object-Model Architectural Style. IFIP 17th World Computer Congress - TC2 Stream / 3rd IEEE/IFIP Conference on Software Architecture: System Design, Development and Maintenance (WICSA 2002), Montréal, Québec, Canada, 2002.  Yoder, J.; R. Razavi. Metadata and Adaptive Object-Models. ECOOP Workshops (ECOOP 2000), Cannes, France, 2000.  Welicki, L.; L. Joyanes Aguilar; J. Cueva Lovelle. Meta-Specification and Cataloging of Software Patterns with Domain Specific Languages and Adaptive Object-Models. 11th European Pattern Language of Programming Conference (EuroPLoP 2006), Irsee, Bavaria, Germany, 2006.  Welicki, L.; J. Yoder; R. Wirfs-Brock. A Pattern Language for Adaptive Object Models: Part I - Rendering Patterns. 14th Pattern Language of Programs Conference (PLoP 2007), Monticello, Illinois, USA, 2007. Bootstrapping Dynamic Factory Rule ObjectDynamic Hooks BehavioralProcessCreationalGUICoreInstrumental Includes the core patterns that are present in the basic implementation of AOMs. These are the basic patterns and they are the ones that govern this architectural style Includes the patterns that help to create instances of AOMs Includes the patterns for dynamically adding, removing or modifying behavior to the AOMs Includes the patterns that deal with how to present AOMs to end-users in applications Includes the patterns that deal with the process of creating AOMs. They establish guidelines for evolving frameworks and boundaries to avoid going up to the meta-levels far beyond than necessary. Includes patterns that help to instrument the usage, control, and instrumentation of AOMs. They also help to provide guidelines for non-functional requirements such as performance and auditability Sources for AOM Patterns and Applications AOM Common Architecture Behavior Classes with Attributes and Relationships StrategyType Cube Dependency Injection Extents… Type Square Uses to decuple types… Represent attributes as… Represent relationships using… Describe each property as… Handle null and default values with… Handle incomplete and default relationships with… PropertiesAccountability Controls effects of references on… Describes… Smart Variables Simple behaviour with… Uses / extends… Allows having versions of… Coordinates several… Can use… Rule Engine Registers changes… Versioning Helps… Context ObjectHistory Complex behavior… Interpreter Builder AOM Builder Manages states… Dynamic ViewsThree Examples White Box Framework Black Box Framework Component LibraryHot SpotsPluggable Objects Fine-Grained Objects Visual BuilderLanguage Tools Simple System Domain Specific Abstraction Time Manages several… Are registered using… Uses for interpreting description of entities… GUI Workflow Creates instances of… Extends… Decouple dependencies using… Creates instances of elements dinamically… Editor / Visual Language Property Renderer Renders one instance… Entity View Renders one instance… Can use… Workflow / Flow of Control Functions Temporal Rules Constraints / Validations Event Driven Transformations When get complex can be an… For more info on AOMs, visit www.adaptiveobjectmodel.com Leon Welicki ONO (Cableuropa S.A.U.) lwelicki@acm.org Joseph W. Yoder The Refactory, Inc. joe@refactory.com Rebecca Wirfs-Brock Wirfs-Brock Associates rebecca@wirfs-brock.com Ralph E. Johnson Univ. of Illinois at Urbana-Champaign johnson@cs.uiuc.edu Types Types of Rules Entities Configuration Data UI Caching Types Types of Caching Improves performance… Gets type information from…


Download ppt "CachingType Object AOM Patterns Categories Code is data, data is code... Everything is data, everything is code! Towards a Pattern Language for Adaptive."

Similar presentations


Ads by Google