Oopsla2001 Intriguing Talk

643 views
604 views

Published on

Architecture and Design of Adaptive Object-Models -- Type Square

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
643
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Oopsla2001 Intriguing Talk

  1. 1. Architecture and Design of Adaptive Object-Models Joseph W. Yoder Federico Balaguer Ralph Johnson The Refactory, Inc. University of Illinois yoder@refactory.com [balaguer|johnson]@cs.uiuc.edu http://www.adaptiveobjectmodel.com Table of Contents Overview Adaptive Object-Model Description Architectural Elements of AOM An Example in the Medical Domain Implementation Issues Summary 2 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 1
  2. 2. Meta Collaborators Ali Arsanjani Jeff Oaks Krzysztof Czarnecki Nicolas Revault Martine Devos Dirk Riehle Brian Foote Reza Razavi Martin Fowler Michel Tilman Dragos Manolescu Others… 3 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. General Problem Requirements change within applications’ domain. Business Rules are changing rapidly. Applications have to quickly adapt to new business requirements. Changing the application is costly, it generally includes code and data-storage. There are cycles of: build-compile-release. 4 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 2
  3. 3. Forces – Shearing Layers Who (Business Person, Analyst, Developer) What (Business Rule, Persistence Layer,…) When (How often, How fast) There is a different rate of change on the system. Foote & Yoder - Ball of Mud PLoPD4 5 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. General Solution Create an object design (meta-model) that describes the domain objects which includes attributes, relationships, and business rules as instances rather than classes. The domain objects are instantiated through a description given by the user or domain expert. Each new requirement is satisfied by creating a new description and a new instantiation. Separate what changes from what doesn’t. 66 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 3
  4. 4. Adaptive Object-Models Architectures that can dynamically adapt to new user requirements by storing descriptive (metadata) information about the business rules that are interpreted at runtime. Sometimes called a quot;reflective architecturequot; or a quot;meta-architecture quot;. Highly Flexible – Business people (non-programmers) can change it too. 7 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Adaptive Object-Model (Active|Dynamic Object-Model) An ADAPTIVE OBJECT-MODEL is an object model ! that provides “meta” information about the domain so that it can be changed at runtime quot; explicit object model that it interprets at run-time quot; change the object model, system changes its behavior ADAPTIVE OBJECT-MODELS usually arise from ! domain-specific frameworks Business rules are stored as descriptive (meta) ! information in ADAPTIVE OBJECT-MODELS 8 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 4
  5. 5. Adaptive Object-Models Represents classes, attributes, relationships, and behavior as metadata. Based on instances rather than classes. Users change the metadata (object model) to reflect changes in the domain. Stores its Object-Model in a database or in files and interprets it (can be XML/XMI). Consequently, the object model is adaptable, when you change it, the system changes immediately. 9 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Architectural Elements of Adaptive Object Models • • Entity-Relationship Metadata • TypeObject • Strategy/RuleObjects • Properties • Interpreters/Builders • Type Square • Editors/GUIs If you want something to change quickly, you must push it into the data. 10 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 5
  6. 6. Metadata and Adaptive Object-Models quot;Anything you can do, I can do Metaquot; Metadata: If something is going to vary in a predictable way, store the description of the variation in a database so that it is easy to change….Ralph Johnson ”Meta is Betaquot; Code is Data, Data is Code – Everything is Data 11 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Type-Object Before After SomeClass Entity -specificAttribues : type +someOperations() 0..n ... SubClass1 SubClass2 SubClassN EntityType -sharedAttributes : type +typeOperations() PLoPD3 - Johnson and Woolf 12 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 6
  7. 7. Properties Before After Property Entity Entity 0..n -name : String = firstAttribute attributes -firstAttribute : String = Any -type : String = String -value : String = Any PLoP98 - Foote and Yoder 13 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Type Square Entity EntityType 0..n type 0..n properties properties 0..n PropertyType Property -name : String 0..n type -type : Type ECOOP & OOPSLA 2000, 2001 – Yoder, Balaguer, Johnson 14 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 7
  8. 8. Entity-Relationship commissioner 1..n Accountability Party 0..n responsible 1..n 0..n operational 0..n 0..n knowledge 1..n type type 1..n legal commissioner 1..n Accountability Type 0..n Party Type legal responsible 1..n 0..n Analysis Patterns - Fowler 15 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Strategies/RuleObjects SomeStrategy Entity -sharedAttributes : someType -specificAttribues : type +sharedInterface() +someOperations() ... Strategy1 Strategy2 StragegyN Strategy2.1 Strategy2.2 Design Patterns - GOF95 16 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 8
  9. 9. Putting It All Together (Very Common Structure) Classes with Behavior Attributes Entity EntityType Rule 0..n type rule 0..n 0..n properties properties 0..n PropertyType Property PrimRule CompositeRule -name : String 0..n type -type : Type ECOOP & OOPSLA 2001 Yoder, Balaguer, Johnson 17 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Other Patterns Composite – GOF Interpreter – GOF Builder – GOF Mediator/Adaptor – GOF History – Francis Anderson PLoPD4 Roles – Baumer, Riehle, Siberski, & Wulf Fowler PLoP ‘97 RuleObject – Arsanjani PLoP2000 18 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 9
  10. 10. Interpreters / Builders Application Persistence Mechanism Database Domain Metadata Objects Repository/Namespace Interpreter/ XML Parser Builder XML 19 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Adaptive Object-Model Example 20 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 10
  11. 11. Medical Observations 21 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Observation - First Model Person Observation Measurement Trait Quantity traitValue unit convertTo: amount expressOnUnit: expressOnUnits: PhysicalMeasure Blood EyeColor HairColor … Gender FeedingType Hearing Vision Height Weight … What happens when a new observation is required? 22 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 11
  12. 12. Observation Example Validator guard 1 1..* type contDescr 1 validatorName PartyType isValid: obsValue ObservationType 1..* varType phenomenonType 1 descriptor isValid: obsValue 1 descriptor 1..* 1..* elements DiscreteValidator RangedValidator NullValidator Party intervalSet descriptorSet validUnit PrimitiveObservation CompositeObservation Type Type properties 1..* Observation 1..* instance recordedDate comments elements 1..* isValid Quantity unit value 1..* quantity Primitive Observation CompositeObservation convertTo: observationValue Knowledge level dvalue 1..* Operational level DiscreteValues 23 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Metamodel and GUI Generating Dynamic GUIs is Hard! Can generate GUIs using metadata. Special GUI components can be developed for using the metadata. 24 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 12
  13. 13. PartyType: Metadata-Editors 25 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Advantages of Adaptive Object-Models Can more easily adapt to new business requirements. Smaller in terms of classes so possibly easier to maintain by experts. Changes do not require recompiling the system. Business People can make changes. Time to market can be reduced. 26 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 13
  14. 14. Disadvantages of Adaptive Object-Models It demands having infrastructure for storing, building, interpreting metadata. Developing AOM can be expensive. Can be hard to understand and maintain. It requires skilled human resources. Can have poor performance. 27 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Related Approaches and Technologies Generative Techniques Black-box Frameworks Metamodeling Techniques Code Generators Table-driven Systems UML Virtual Machine 28 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 14
  15. 15. Successfully Used For: Represent Insurance Policies Telephone Billing Systems Model Workflow Medical Domain Financial Domain Validate Equipment Configuration Model Documents Model Databases 29 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Summary Adaptive Object-Models can take time to develop -- but the payoff can be enormous! Adaptive Object-Models work based upon domain expert knowledge. Applying well-known design principles such as TypeObject, Properties, and Strategies & RuleObjects works well for developing Adaptive Object-Models. 30 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 15
  16. 16. That’s All 31 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. Dimensions of Abstraction language L3 for defining languages L2 A language for defining domain specific software L1 A specific software L0 An execution of that software Dimensions of abstraction in Adaptive Object-Models, Reflection and OMG ’s metamodeling Architecture 32 Copyright by ECOOP’ 2000 workshop on Adaptive Object-Model. --- http://www.joeyoder.com/Research/metadata/ECOOP2000/description.html Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 16
  17. 17. Points to Remember AOMs Separates what changes quickly from what changes slowly Takes into account who changes what and where Objects constitute a domain specific language Building languages out of objects can be good…reflection guys say this. 33 Architecture and Design of Adaptive Object-Models – Intriguing Technology Session, OOPSLA’2001 – October 2001, Tampa FL. Copyright 2001, The Refactory, Inc. 17

×