SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Weitere ähnliche Inhalte

Ähnlich wie Oopsla2001 Intriguing Talk

High-performance model queries
High-performance model queriesHigh-performance model queries
High-performance model queriesIstvan Rath
 
Agile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeAgile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeGary Pedretti
 
Architecture Knowledge
Architecture KnowledgeArchitecture Knowledge
Architecture KnowledgeAakash Ahmad
 
The Synergy Between the Object Database, Graph Database, Cloud Computing and ...
The Synergy Between the Object Database, Graph Database, Cloud Computing and ...The Synergy Between the Object Database, Graph Database, Cloud Computing and ...
The Synergy Between the Object Database, Graph Database, Cloud Computing and ...InfiniteGraph
 
SplunkLive New York 2011: DealerTrack
SplunkLive New York 2011: DealerTrackSplunkLive New York 2011: DealerTrack
SplunkLive New York 2011: DealerTrackSplunk
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)David Rosenblum
 
Oracle 10g sql fundamentals i
Oracle 10g sql fundamentals iOracle 10g sql fundamentals i
Oracle 10g sql fundamentals iManaswi Sharma
 
UML with Action Semantics
UML with Action SemanticsUML with Action Semantics
UML with Action Semanticselliando dias
 
Modular Architectures: What they are why do they matter now.
Modular Architectures: What they are why do they matter now.Modular Architectures: What they are why do they matter now.
Modular Architectures: What they are why do they matter now.Param Rengaiah
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsFilip Krikava
 
Requirement Analysis - ijcee 2(3)
Requirement Analysis - ijcee 2(3)Requirement Analysis - ijcee 2(3)
Requirement Analysis - ijcee 2(3)IT Industry
 
Let us understand design pattern
Let us understand design patternLet us understand design pattern
Let us understand design patternMindfire Solutions
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
ArchitectureOfAOMsWICSA3
ArchitectureOfAOMsWICSA3ArchitectureOfAOMsWICSA3
ArchitectureOfAOMsWICSA3Erdem Sahin
 
Strategic refactoring. Refactoring strategies
Strategic refactoring. Refactoring strategiesStrategic refactoring. Refactoring strategies
Strategic refactoring. Refactoring strategiesValentin-Tudor Mocanu
 
Dc architecture for_cloud
Dc architecture for_cloudDc architecture for_cloud
Dc architecture for_cloudAlain Geenrits
 
Entity framework introduction sesion-1
Entity framework introduction   sesion-1Entity framework introduction   sesion-1
Entity framework introduction sesion-1Usama Nada
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization Ivano Malavolta
 
Agile comparison with requriement approaches
Agile comparison with requriement approachesAgile comparison with requriement approaches
Agile comparison with requriement approachesfungfung Chen
 

Ähnlich wie Oopsla2001 Intriguing Talk (20)

High-performance model queries
High-performance model queriesHigh-performance model queries
High-performance model queries
 
Agile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeAgile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New Hope
 
Architecture Knowledge
Architecture KnowledgeArchitecture Knowledge
Architecture Knowledge
 
The Synergy Between the Object Database, Graph Database, Cloud Computing and ...
The Synergy Between the Object Database, Graph Database, Cloud Computing and ...The Synergy Between the Object Database, Graph Database, Cloud Computing and ...
The Synergy Between the Object Database, Graph Database, Cloud Computing and ...
 
SplunkLive New York 2011: DealerTrack
SplunkLive New York 2011: DealerTrackSplunkLive New York 2011: DealerTrack
SplunkLive New York 2011: DealerTrack
 
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
Software System Scalability: Concepts and Techniques (keynote talk at ISEC 2009)
 
Oracle 10g sql fundamentals i
Oracle 10g sql fundamentals iOracle 10g sql fundamentals i
Oracle 10g sql fundamentals i
 
UML with Action Semantics
UML with Action SemanticsUML with Action Semantics
UML with Action Semantics
 
Modular Architectures: What they are why do they matter now.
Modular Architectures: What they are why do they matter now.Modular Architectures: What they are why do they matter now.
Modular Architectures: What they are why do they matter now.
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF Models
 
Requirement Analysis - ijcee 2(3)
Requirement Analysis - ijcee 2(3)Requirement Analysis - ijcee 2(3)
Requirement Analysis - ijcee 2(3)
 
Let us understand design pattern
Let us understand design patternLet us understand design pattern
Let us understand design pattern
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
ArchitectureOfAOMsWICSA3
ArchitectureOfAOMsWICSA3ArchitectureOfAOMsWICSA3
ArchitectureOfAOMsWICSA3
 
Strategic refactoring. Refactoring strategies
Strategic refactoring. Refactoring strategiesStrategic refactoring. Refactoring strategies
Strategic refactoring. Refactoring strategies
 
Dc architecture for_cloud
Dc architecture for_cloudDc architecture for_cloud
Dc architecture for_cloud
 
Entity framework introduction sesion-1
Entity framework introduction   sesion-1Entity framework introduction   sesion-1
Entity framework introduction sesion-1
 
Top 10 Reasons to Switch to ER/Studio
Top 10 Reasons to Switch to ER/Studio Top 10 Reasons to Switch to ER/Studio
Top 10 Reasons to Switch to ER/Studio
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization
 
Agile comparison with requriement approaches
Agile comparison with requriement approachesAgile comparison with requriement approaches
Agile comparison with requriement approaches
 

Kürzlich hochgeladen

The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Kürzlich hochgeladen (20)

The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

Oopsla2001 Intriguing Talk

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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