SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Trends in Adaptive Object Model Research
       Filipe Figueiredo Correia1,2 and Hugo Sereno Ferreira1,3

         1
             ParadigmaXis — Arquitectura e Engenharia de Software, S.A.,
                Avenida da Boavista, 1043, 4100-129 Porto, Portugal
                {filipe.correia,hugo.ferreira}@paradigmaxis.pt
                          http://www.paradigmaxis.pt/

          2
              FEUP — Faculdade de Engenharia da Universidade do Porto,
                 Rua Dr. Roberto Frias, s/n 4200-465, Porto, Portugal
                            filipe.correia@fe.up.pt
                              http://www.fe.up.pt/

                  3
                      MAP-I Doctoral Programme in Computer Science
                             hugo.ferreira@di.uminho.pt
                               http://www.map.edu.pt/i
Contents



    
         Model Driven Engineering
    
         Adaptive Object Models (AOMs)
    
         The Design of AOMs
    
         The Oghma System
    
         Open Issues
    
         Future Work in Oghma
    
         Final Remarks
Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   2
Model Driven Engineering



    
         Abstracting business domains and technology
           
               Requirements
           
               Design and implementation
    
         Different approaches to modeling
           
               Static – centred on documentation, or generative techniques
           
               Dynamic – runtime models




Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   3
Adaptive Object Models



    
         Dynamic meta­modeling technique
    
         Several abstraction levels in play at runtime
           
               A meta­model is seen as a first­class model
           
               MOF could be used to handle the different levels




Filipe Figueiredo Correia & Hugo Sereno Ferreira    Trends In Adaptive Object Models Research   4
Adaptive Object Models



        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 quot;Adaptive Object­Modelsquot;, because the users' object 
        model is interpreted at runtime and can be changed with immediate (but 
        controlled) effects on the system interpreting it.
                                                                     Joseph Yoder, et al. [11]




Filipe Figueiredo Correia & Hugo Sereno Ferreira          Trends In Adaptive Object Models Research   5
The Design of AOMs – Common Design




                                                          See references [4], [5] and [8].




Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   6
The Design of AOMs – Design Patterns



    
         Core                                        
                                                         GUI
         TypeSquare; TypeObject; Property;               PropertyRenderer; EntentyView; DynamicView; 
         Accountability; ValueObject; NullObject;        Workflow
         SmartVariable
                                                     
                                                         Process
    
         Creational
                                                         DomainSpecificAbstraction; SimpleSystem; 
         Builder; AOMBuilder; DynamicFactory;            ThreeExamples; WhiteBox, BlackBox; 
         Bootstraping; DependencyInjection;              ComponentLibrary; Hotspots; PluggableObjects; 
         VisualLanguage                                  Fined­GrainedObjects; VisualBuilder; 
                                                         LanguageTools
    
         Behavioral                                  
                                                         Instrumental
         DynamicHooks; Strategy; RuleObject; 
         RuleEngine; Typecube; Interpreter               ContextObject; Versioning; History; Caching

                                                                                           Welicki et al. [14]


Filipe Figueiredo Correia & Hugo Sereno Ferreira                 Trends In Adaptive Object Models Research       7
The Oghma System



    
         Based on an AOM
    
         Heads towards a framework for information systems
    
         Is an adaptive system at several levels
           
               Model
           
               Messages
           
               Addressing
           
               User interface
           
               Persistence
Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   8
The Oghma System – OO Meta-Model Design




Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   9
The Oghma System – What does it bring of new?




         Has Oghma's approach something of new to add to 
           AOM's already known and documented issues?




Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   10
The Oghma System – Research fronts



    
         Persistence
    
         Modeling Language
    
         Business Rules
    
         Client­Server architecture
    
         Queries
    
         Addressing scheme
    
         User Interfaces
Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   11
The Oghma System – Persistence



    
         Based on model transformation techniques
    
         Bijective transformations between relational and 
         object models (only at the instance level)




Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   12
The Oghma System – Modeling Language



    
         UML­based, but does not cover all of UML's 
         specification 
    
         Supports Interfaces, Associative Classes and 
         Navigability
    
         Finding the right level of expressiveness




Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   13
The Oghma System – Modeling Language Example



       <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
       <model><data>
         (...)
         <entity id=quot;computerquot; name=quot;Computerquot; tostring=quot;{brand} {model} (€{price})quot;>
           <list format=quot;{brand} {model} | {price}quot; columns=quot;{brand} {model} | {price}quot; />
           <attr id=quot;brandquot; name=quot;Brandquot; domain=quot;stringquot; cardinality=quot;1quot; />
           <attr id=quot;modelquot; name=quot;Modelquot; domain=quot;stringquot; cardinality=quot;1quot; />
           <attr id=quot;pricequot; name=quot;Pricequot; domain=quot;integerquot; cardinality=quot;1quot; />
           <attr id=quot;yearboughtquot; name=quot;yearboughtquot; domain=quot;integerquot; cardinality=quot;1quot; />
         </entity>
         <entity id=quot;desktopquot; name=quot;Desktopquot; inherits=quot;Computerquot;/>
         <entity id=quot;laptopquot; name=quot;Laptopquot; inherits=quot;Computerquot;>
           <attr id=quot;weightquot; name=quot;Weightquot; domain=quot;integerquot; cardinality=quot;1quot; />
         </entity>
         <entity id=quot;partquot; name=quot;Computer partquot;>
           <attr id=quot;namequot; name=quot;Namequot; domain=quot;stringquot; cardinality=quot;1quot; />
           <attr id=quot;typequot; name=quot;typequot; domain=quot;enumquot; cardinality=quot;1quot; />
         </entity>
         <relationship id=quot;rel_computer_partquot;>
           <node entity=quot;computerquot; id=quot;partsquot; name=quot;Detalhesquot; cardinality=quot;0..*quot; navigable=quot;truequot; />
           <node entity=quot;partquot; id=quot;computersquot; name=quot;Dimensõesquot; cardinality=quot;0..*quot; navigable=quot;falsequot; />
         </relationship>
         (...)
       </data></model>




Filipe Figueiredo Correia & Hugo Sereno Ferreira                   Trends In Adaptive Object Models Research   14
The Oghma System – Business Rules



    
         Defined in a declarative way, and part of the model
    
         Enforced on the server side (semantic integrity)
    
         Enforced on the client side (inputs validation; rapid feedback)

    Example
        <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
          (...)
          <entity id=quot;bookquot; name=quot;Bookquot; inherits=quot;Documentquot;>
           <attr id=quot;titlequot; name=quot;Titlequot; domain=quot;stringquot; />
            <attr id=quot;isbnquot; name=quot;ISBNquot; domain=quot;stringquot;
                regex=quot;^[0-9]{3}-[0-9]-[0-9]{2}-[0-9]{6}-[0-9]$quot; />
            <attr id=quot;authorquot; name=quot;Authorquot; domain=quot;stringquot; cardinality=quot;1..*quot; />
          </entity>
          (...)



Filipe Figueiredo Correia & Hugo Sereno Ferreira                    Trends In Adaptive Object Models Research   15
The Oghma System – Client-Server



    
         Adaptive model­based message schema
    
         Exchange of meta­level and operational­level 
         elements
    
         REST/XML over HTTP (eased debugging, caching, authentication)




Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   16
The Oghma System – Queries



    
         Two querying meta­models
           
               Object­oriented (serializable/deserializable to a URL­based representation)
           
               Relational­oriented (serializable to SQL)
    
         Object­oriented query instances are transformed into 
         relational­oriented query instances




Filipe Figueiredo Correia & Hugo Sereno Ferreira            Trends In Adaptive Object Models Research   17
The Oghma System – Addressing Scheme



    
         Directly derives from the use of RESTfull resources
    
         Adaptive model­based addressing



    Example
        http://oghma.paradigmaxis.pt/computer/laptop/@schema

        http://oghma.paradigmaxis.pt/computer/laptop/4A3615F1-5A91-22E4-0B1D-1416F93D4412

        http://oghma.paradigmaxis.pt/computer/laptop/4A3615F1-5A91-22E4-0B1D-1416F93D4412/parts

        http://oghma.paradigmaxis.pt/computer/laptop[yearbought lt 2005]




Filipe Figueiredo Correia & Hugo Sereno Ferreira                Trends In Adaptive Object Models Research   18
The Oghma System – User Interfaces



    
         Adaptive model­based user interfaces
           
               Rendering of entities
           
               Rendering of value properties (attributes)
           
               Rendering of instance properties (relations)
    
         Renderers chosen according to model information
           
               Attribute types
           
               Cardinalities
           
               Navigability

Filipe Figueiredo Correia & Hugo Sereno Ferreira        Trends In Adaptive Object Models Research   19
The Oghma System – User Interfaces Example (1)




Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   20
The Oghma System – User Interfaces Example (2)




Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   21
Open Issues in AOMs



    
         Higher initial development cost
    
         Higher complexity than traditional systems
           
               Harder to understand and maintain
    
         Model maintenance
           
               Development of tools from scratch
           
               Model evolution
    
         Need to assess the impact of AOMs on software 
         quality metrics
Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   22
Future Work in Oghma (1)



    
         Meta­model transformations
           
               Monolithic vs rule­based
    
         Model evolution
           
               Mapping elements from two different meta­models
           
               Leverage the concept of refactorings (meta­refactorings?)
           
               Develop tools that assist the migration process




Filipe Figueiredo Correia & Hugo Sereno Ferreira       Trends In Adaptive Object Models Research   23
Future Work in Oghma (2)



    
         Ontology model
           
               A form of knowledge representation
           
               A possible replacement for the UML­oriented meta­model
    
         Formalize this new knowledge as design patterns




Filipe Figueiredo Correia & Hugo Sereno Ferreira    Trends In Adaptive Object Models Research   24
Final Remarks



    
         Use when domain models change at a fast rate
    
         Oghma was developed with little knowledge of the 
         existing research on AOMs
    
         It has now taken some benefit from this knowledge
    
         It possesses also some characteristics that haven't 
         been documented before in the context of AOMs



Filipe Figueiredo Correia & Hugo Sereno Ferreira   Trends In Adaptive Object Models Research   25
The End



                                or perhaps just the beginning...




Filipe Figueiredo Correia & Hugo Sereno Ferreira       Trends In Adaptive Object Models Research        26
                                                             http://flickr.com/photos/21443321@N06/2103626456/
References

    1. Schmidt, D., Schmidt, D.: Guest editor’s introduction: Model­driven engineering.  Computer 39 (2006) 25–31
    2. Riehle, D., Fraleigh, S., Bucka­Lassen, D., Omorogbe, N.: The architecture of a UML virtual machine. In: OOPSLA ’01: Proceedings of the 16th ACM 
    SIGPLAN conference on Object oriented programming, systems, languages, and applications, Tampa Bay, FL, USA, ACM (2001) 327–341
    3. Yoder, J.: Adaptive object models and metadata definition (2008) http://www.adaptiveobjectmodel.com/Define_Adaptive_Object_Models.html Accessed January 
    5, 2008.
    4. Revault, N., Yoder, J.W.: Adaptive object­models and metamodeling techniques.In: ECOOP ’01: Proceedings of the Workshops on Object­Oriented 
    Technology,London, UK, Springer­Verlag (2002) 57–71
    5. Yoder, J.W., Johnson, R.E.: The adaptive object­model architectural style. In: WICSA 3: Proceedings of the IFIP 17th World Computer Congress ­ TC2 Stream / 
    3rd IEEE/IFIP Conference on Software Architecture, Kluwer, B.V (2002) 3–27
    6. OMG: OMG’s metaobject facility (MOF) home page (2008) http://www.omg.org/mof/ Accessed January 5, 2008.
    7. Costa, F.M., Provensi, L.L., Vaz, F.F.: Using runtime models to unify and structure the handling of meta­information in reflective middleware. Volume 4364., 
    Springer Berlin / Heidelberg (2006) 232–241
    8. Welicki, L., Lovelle, J.C., Aguilar, L.J.: Meta­specification and cataloging of software patterns with domain specific languages and adaptive object models. 
    In:EuroPLoP, Irsee, Germany (2006)
    9. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison­Wesley Professional (1995)
    10. Johnson, R., Woolf, B.: The type object pattern (1997)
    11. Yoder, J.W., Balaguer, F., Johnson, R.: Architecture and design of adaptive object models. ACM SIG­PLAN Notices 36(12) (2001) 50–60
    12. Fowler, M.: Analysis patterns: reusable objects models. Addison­Wesley Longman Publishing Co., Inc, Boston, MA, USA (1997)
    13. Arsanjani, A.: Rule object: A pattern language for adaptive and scalable business rule construction. (2000)
    14. Welicki, L., Yoder, J.W., Wirfs­Brock, R.: A pattern language for adaptive object models: Part i ­ rendering patterns. In: PLoP 2007, Monticello, Illinois (2007)
    15. Welicki, L., Yoder, J.W., Wirfs­Brock, R., Johnson, R.E.: Towards a pattern language for adaptive object models, Montreal, Quebec, Canada, ACM (2007) 
    787–788
    16. Fowler, M.: Patterns of Enterprise Application Architecture. Addison­Wesley Professional (2002)
    17. Fielding, R.T. In: Representational State Transfer (REST). University of California, Irvine (2000)
    18. ODMG: Object data management group home page (2008) http://www.odmg.org/  Accessed January 5, 2008.
    19. Microsoft: The linq project (2008) http://msdn2.microsoft.com/en­us/netframework/aa904594.aspx Accessed January 5, 2008.
    20. Dantas, A., Yoder, J., Borba, P., Johnson, R.: Using aspects to make adaptive object­models adaptable. In: RAM­SE’04­ECOOP’04 Workshop on 
    Reflection,AOP, and Meta­Data for Software Evolution, Oslo, Norway (2004) 9–19
    21. Crous, T., Danzfuss, T., Liebenberg, A., Moolman, A.: Adaptive object modelling using the .NET framework (2005)
    22. Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison­Wesley Professional (1999)
    23. Ambler, S.W., Sadalage, P.J.: Refactoring Databases: Evolutionary Database Design. Addison­Wesley Professional (2006) Object Models Research
Filipe Figueiredo Correia & Hugo Sereno Ferreira                                                                Trends In Adaptive                                        27
    24. W3C: Owl web ontology language overview (2004) http://www.w3.org/TR/owl­features/ Accessed January 5, 2008.

Contenu connexe

Similaire à Trends on Adaptive Object Model Research

Lessons for an enterprise approach to modeling at scale
Lessons for an enterprise approach to modeling at scaleLessons for an enterprise approach to modeling at scale
Lessons for an enterprise approach to modeling at scaleSigOpt
 
ERGO AI Factory - Insurer Innovation Award 2022
ERGO AI Factory - Insurer Innovation Award 2022ERGO AI Factory - Insurer Innovation Award 2022
ERGO AI Factory - Insurer Innovation Award 2022The Digital Insurer
 
Smarter Event-Driven Edge with Amazon SageMaker & Project Flogo (AIM204-S) - ...
Smarter Event-Driven Edge with Amazon SageMaker & Project Flogo (AIM204-S) - ...Smarter Event-Driven Edge with Amazon SageMaker & Project Flogo (AIM204-S) - ...
Smarter Event-Driven Edge with Amazon SageMaker & Project Flogo (AIM204-S) - ...Amazon Web Services
 
Webinar: Scaling MongoDB
Webinar: Scaling MongoDBWebinar: Scaling MongoDB
Webinar: Scaling MongoDBMongoDB
 
Ml based detection of users anomaly activities (20th OWASP Night Tokyo, English)
Ml based detection of users anomaly activities (20th OWASP Night Tokyo, English)Ml based detection of users anomaly activities (20th OWASP Night Tokyo, English)
Ml based detection of users anomaly activities (20th OWASP Night Tokyo, English)Yury Leonychev
 
ITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
ITARC15 Workshop - Architecting a Large Software Project - Lessons LearnedITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
ITARC15 Workshop - Architecting a Large Software Project - Lessons LearnedJoão Pedro Martins
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTrivadis
 
Operationalizing analytics to scale
Operationalizing analytics to scaleOperationalizing analytics to scale
Operationalizing analytics to scaleLooker
 
Proforma UK EA Presentation
Proforma UK EA PresentationProforma UK EA Presentation
Proforma UK EA PresentationMatthew Brown
 
Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019 Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019 Stefan Geißler
 
201309 130917200320-phpapp01
201309 130917200320-phpapp01201309 130917200320-phpapp01
201309 130917200320-phpapp01Simon Lin
 
Big Data LDN 2018: HOW AUTOMATION CAN ACCELERATE THE DELIVERY OF MACHINE LEAR...
Big Data LDN 2018: HOW AUTOMATION CAN ACCELERATE THE DELIVERY OF MACHINE LEAR...Big Data LDN 2018: HOW AUTOMATION CAN ACCELERATE THE DELIVERY OF MACHINE LEAR...
Big Data LDN 2018: HOW AUTOMATION CAN ACCELERATE THE DELIVERY OF MACHINE LEAR...Matt Stubbs
 
Course_Object Automation.pdf
Course_Object Automation.pdfCourse_Object Automation.pdf
Course_Object Automation.pdfObject Automation
 
Creating integrated domain, task and competency model
Creating integrated domain, task and competency modelCreating integrated domain, task and competency model
Creating integrated domain, task and competency modeltelss09
 
Get your organization’s feet wet with Semantic Web Technologies
Get your organization’s feet wet with Semantic Web TechnologiesGet your organization’s feet wet with Semantic Web Technologies
Get your organization’s feet wet with Semantic Web TechnologiesAndré Torkveen
 

Similaire à Trends on Adaptive Object Model Research (20)

Lessons for an enterprise approach to modeling at scale
Lessons for an enterprise approach to modeling at scaleLessons for an enterprise approach to modeling at scale
Lessons for an enterprise approach to modeling at scale
 
ERGO AI Factory - Insurer Innovation Award 2022
ERGO AI Factory - Insurer Innovation Award 2022ERGO AI Factory - Insurer Innovation Award 2022
ERGO AI Factory - Insurer Innovation Award 2022
 
Smarter Event-Driven Edge with Amazon SageMaker & Project Flogo (AIM204-S) - ...
Smarter Event-Driven Edge with Amazon SageMaker & Project Flogo (AIM204-S) - ...Smarter Event-Driven Edge with Amazon SageMaker & Project Flogo (AIM204-S) - ...
Smarter Event-Driven Edge with Amazon SageMaker & Project Flogo (AIM204-S) - ...
 
Webinar: Scaling MongoDB
Webinar: Scaling MongoDBWebinar: Scaling MongoDB
Webinar: Scaling MongoDB
 
AI at Scale in Enterprises
AI at Scale in Enterprises AI at Scale in Enterprises
AI at Scale in Enterprises
 
Pp 14-new
Pp 14-newPp 14-new
Pp 14-new
 
Ml based detection of users anomaly activities (20th OWASP Night Tokyo, English)
Ml based detection of users anomaly activities (20th OWASP Night Tokyo, English)Ml based detection of users anomaly activities (20th OWASP Night Tokyo, English)
Ml based detection of users anomaly activities (20th OWASP Night Tokyo, English)
 
ITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
ITARC15 Workshop - Architecting a Large Software Project - Lessons LearnedITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
ITARC15 Workshop - Architecting a Large Software Project - Lessons Learned
 
Are Your Test Cases Fit For Automation?
Are Your Test Cases Fit For Automation?Are Your Test Cases Fit For Automation?
Are Your Test Cases Fit For Automation?
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
 
Operationalizing analytics to scale
Operationalizing analytics to scaleOperationalizing analytics to scale
Operationalizing analytics to scale
 
Proforma UK EA Presentation
Proforma UK EA PresentationProforma UK EA Presentation
Proforma UK EA Presentation
 
Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019 Stefan Geissler kairntech - SDC Nice Apr 2019
Stefan Geissler kairntech - SDC Nice Apr 2019
 
201309 130917200320-phpapp01
201309 130917200320-phpapp01201309 130917200320-phpapp01
201309 130917200320-phpapp01
 
Big Data LDN 2018: HOW AUTOMATION CAN ACCELERATE THE DELIVERY OF MACHINE LEAR...
Big Data LDN 2018: HOW AUTOMATION CAN ACCELERATE THE DELIVERY OF MACHINE LEAR...Big Data LDN 2018: HOW AUTOMATION CAN ACCELERATE THE DELIVERY OF MACHINE LEAR...
Big Data LDN 2018: HOW AUTOMATION CAN ACCELERATE THE DELIVERY OF MACHINE LEAR...
 
Course_Object Automation.pdf
Course_Object Automation.pdfCourse_Object Automation.pdf
Course_Object Automation.pdf
 
Creating integrated domain, task and competency model
Creating integrated domain, task and competency modelCreating integrated domain, task and competency model
Creating integrated domain, task and competency model
 
AHGHANIM2
AHGHANIM2AHGHANIM2
AHGHANIM2
 
AHGHANIM2
AHGHANIM2AHGHANIM2
AHGHANIM2
 
Get your organization’s feet wet with Semantic Web Technologies
Get your organization’s feet wet with Semantic Web TechnologiesGet your organization’s feet wet with Semantic Web Technologies
Get your organization’s feet wet with Semantic Web Technologies
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Dernier (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Trends on Adaptive Object Model Research

  • 1. Trends in Adaptive Object Model Research Filipe Figueiredo Correia1,2 and Hugo Sereno Ferreira1,3 1 ParadigmaXis — Arquitectura e Engenharia de Software, S.A., Avenida da Boavista, 1043, 4100-129 Porto, Portugal {filipe.correia,hugo.ferreira}@paradigmaxis.pt http://www.paradigmaxis.pt/ 2 FEUP — Faculdade de Engenharia da Universidade do Porto, Rua Dr. Roberto Frias, s/n 4200-465, Porto, Portugal filipe.correia@fe.up.pt http://www.fe.up.pt/ 3 MAP-I Doctoral Programme in Computer Science hugo.ferreira@di.uminho.pt http://www.map.edu.pt/i
  • 2. Contents  Model Driven Engineering  Adaptive Object Models (AOMs)  The Design of AOMs  The Oghma System  Open Issues  Future Work in Oghma  Final Remarks Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 2
  • 3. Model Driven Engineering  Abstracting business domains and technology  Requirements  Design and implementation  Different approaches to modeling  Static – centred on documentation, or generative techniques  Dynamic – runtime models Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 3
  • 4. Adaptive Object Models  Dynamic meta­modeling technique  Several abstraction levels in play at runtime  A meta­model is seen as a first­class model  MOF could be used to handle the different levels Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 4
  • 5. Adaptive Object Models 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 quot;Adaptive Object­Modelsquot;, because the users' object  model is interpreted at runtime and can be changed with immediate (but  controlled) effects on the system interpreting it. Joseph Yoder, et al. [11] Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 5
  • 6. The Design of AOMs – Common Design See references [4], [5] and [8]. Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 6
  • 7. The Design of AOMs – Design Patterns  Core  GUI TypeSquare; TypeObject; Property;  PropertyRenderer; EntentyView; DynamicView;  Accountability; ValueObject; NullObject;  Workflow SmartVariable  Process  Creational DomainSpecificAbstraction; SimpleSystem;  Builder; AOMBuilder; DynamicFactory;  ThreeExamples; WhiteBox, BlackBox;  Bootstraping; DependencyInjection;  ComponentLibrary; Hotspots; PluggableObjects;  VisualLanguage Fined­GrainedObjects; VisualBuilder;  LanguageTools  Behavioral  Instrumental DynamicHooks; Strategy; RuleObject;  RuleEngine; Typecube; Interpreter ContextObject; Versioning; History; Caching Welicki et al. [14] Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 7
  • 8. The Oghma System  Based on an AOM  Heads towards a framework for information systems  Is an adaptive system at several levels  Model  Messages  Addressing  User interface  Persistence Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 8
  • 9. The Oghma System – OO Meta-Model Design Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 9
  • 10. The Oghma System – What does it bring of new? Has Oghma's approach something of new to add to  AOM's already known and documented issues? Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 10
  • 11. The Oghma System – Research fronts  Persistence  Modeling Language  Business Rules  Client­Server architecture  Queries  Addressing scheme  User Interfaces Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 11
  • 12. The Oghma System – Persistence  Based on model transformation techniques  Bijective transformations between relational and  object models (only at the instance level) Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 12
  • 13. The Oghma System – Modeling Language  UML­based, but does not cover all of UML's  specification   Supports Interfaces, Associative Classes and  Navigability  Finding the right level of expressiveness Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 13
  • 14. The Oghma System – Modeling Language Example <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> <model><data> (...) <entity id=quot;computerquot; name=quot;Computerquot; tostring=quot;{brand} {model} (€{price})quot;> <list format=quot;{brand} {model} | {price}quot; columns=quot;{brand} {model} | {price}quot; /> <attr id=quot;brandquot; name=quot;Brandquot; domain=quot;stringquot; cardinality=quot;1quot; /> <attr id=quot;modelquot; name=quot;Modelquot; domain=quot;stringquot; cardinality=quot;1quot; /> <attr id=quot;pricequot; name=quot;Pricequot; domain=quot;integerquot; cardinality=quot;1quot; /> <attr id=quot;yearboughtquot; name=quot;yearboughtquot; domain=quot;integerquot; cardinality=quot;1quot; /> </entity> <entity id=quot;desktopquot; name=quot;Desktopquot; inherits=quot;Computerquot;/> <entity id=quot;laptopquot; name=quot;Laptopquot; inherits=quot;Computerquot;> <attr id=quot;weightquot; name=quot;Weightquot; domain=quot;integerquot; cardinality=quot;1quot; /> </entity> <entity id=quot;partquot; name=quot;Computer partquot;> <attr id=quot;namequot; name=quot;Namequot; domain=quot;stringquot; cardinality=quot;1quot; /> <attr id=quot;typequot; name=quot;typequot; domain=quot;enumquot; cardinality=quot;1quot; /> </entity> <relationship id=quot;rel_computer_partquot;> <node entity=quot;computerquot; id=quot;partsquot; name=quot;Detalhesquot; cardinality=quot;0..*quot; navigable=quot;truequot; /> <node entity=quot;partquot; id=quot;computersquot; name=quot;Dimensõesquot; cardinality=quot;0..*quot; navigable=quot;falsequot; /> </relationship> (...) </data></model> Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 14
  • 15. The Oghma System – Business Rules  Defined in a declarative way, and part of the model  Enforced on the server side (semantic integrity)  Enforced on the client side (inputs validation; rapid feedback) Example <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> (...) <entity id=quot;bookquot; name=quot;Bookquot; inherits=quot;Documentquot;> <attr id=quot;titlequot; name=quot;Titlequot; domain=quot;stringquot; /> <attr id=quot;isbnquot; name=quot;ISBNquot; domain=quot;stringquot; regex=quot;^[0-9]{3}-[0-9]-[0-9]{2}-[0-9]{6}-[0-9]$quot; /> <attr id=quot;authorquot; name=quot;Authorquot; domain=quot;stringquot; cardinality=quot;1..*quot; /> </entity> (...) Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 15
  • 16. The Oghma System – Client-Server  Adaptive model­based message schema  Exchange of meta­level and operational­level  elements  REST/XML over HTTP (eased debugging, caching, authentication) Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 16
  • 17. The Oghma System – Queries  Two querying meta­models  Object­oriented (serializable/deserializable to a URL­based representation)  Relational­oriented (serializable to SQL)  Object­oriented query instances are transformed into  relational­oriented query instances Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 17
  • 18. The Oghma System – Addressing Scheme  Directly derives from the use of RESTfull resources  Adaptive model­based addressing Example http://oghma.paradigmaxis.pt/computer/laptop/@schema http://oghma.paradigmaxis.pt/computer/laptop/4A3615F1-5A91-22E4-0B1D-1416F93D4412 http://oghma.paradigmaxis.pt/computer/laptop/4A3615F1-5A91-22E4-0B1D-1416F93D4412/parts http://oghma.paradigmaxis.pt/computer/laptop[yearbought lt 2005] Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 18
  • 19. The Oghma System – User Interfaces  Adaptive model­based user interfaces  Rendering of entities  Rendering of value properties (attributes)  Rendering of instance properties (relations)  Renderers chosen according to model information  Attribute types  Cardinalities  Navigability Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 19
  • 20. The Oghma System – User Interfaces Example (1) Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 20
  • 21. The Oghma System – User Interfaces Example (2) Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 21
  • 22. Open Issues in AOMs  Higher initial development cost  Higher complexity than traditional systems  Harder to understand and maintain  Model maintenance  Development of tools from scratch  Model evolution  Need to assess the impact of AOMs on software  quality metrics Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 22
  • 23. Future Work in Oghma (1)  Meta­model transformations  Monolithic vs rule­based  Model evolution  Mapping elements from two different meta­models  Leverage the concept of refactorings (meta­refactorings?)  Develop tools that assist the migration process Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 23
  • 24. Future Work in Oghma (2)  Ontology model  A form of knowledge representation  A possible replacement for the UML­oriented meta­model  Formalize this new knowledge as design patterns Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 24
  • 25. Final Remarks  Use when domain models change at a fast rate  Oghma was developed with little knowledge of the  existing research on AOMs  It has now taken some benefit from this knowledge  It possesses also some characteristics that haven't  been documented before in the context of AOMs Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 25
  • 26. The End or perhaps just the beginning... Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive Object Models Research 26 http://flickr.com/photos/21443321@N06/2103626456/
  • 27. References 1. Schmidt, D., Schmidt, D.: Guest editor’s introduction: Model­driven engineering.  Computer 39 (2006) 25–31 2. Riehle, D., Fraleigh, S., Bucka­Lassen, D., Omorogbe, N.: The architecture of a UML virtual machine. In: OOPSLA ’01: Proceedings of the 16th ACM  SIGPLAN conference on Object oriented programming, systems, languages, and applications, Tampa Bay, FL, USA, ACM (2001) 327–341 3. Yoder, J.: Adaptive object models and metadata definition (2008) http://www.adaptiveobjectmodel.com/Define_Adaptive_Object_Models.html Accessed January  5, 2008. 4. Revault, N., Yoder, J.W.: Adaptive object­models and metamodeling techniques.In: ECOOP ’01: Proceedings of the Workshops on Object­Oriented  Technology,London, UK, Springer­Verlag (2002) 57–71 5. Yoder, J.W., Johnson, R.E.: The adaptive object­model architectural style. In: WICSA 3: Proceedings of the IFIP 17th World Computer Congress ­ TC2 Stream /  3rd IEEE/IFIP Conference on Software Architecture, Kluwer, B.V (2002) 3–27 6. OMG: OMG’s metaobject facility (MOF) home page (2008) http://www.omg.org/mof/ Accessed January 5, 2008. 7. Costa, F.M., Provensi, L.L., Vaz, F.F.: Using runtime models to unify and structure the handling of meta­information in reflective middleware. Volume 4364.,  Springer Berlin / Heidelberg (2006) 232–241 8. Welicki, L., Lovelle, J.C., Aguilar, L.J.: Meta­specification and cataloging of software patterns with domain specific languages and adaptive object models.  In:EuroPLoP, Irsee, Germany (2006) 9. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison­Wesley Professional (1995) 10. Johnson, R., Woolf, B.: The type object pattern (1997) 11. Yoder, J.W., Balaguer, F., Johnson, R.: Architecture and design of adaptive object models. ACM SIG­PLAN Notices 36(12) (2001) 50–60 12. Fowler, M.: Analysis patterns: reusable objects models. Addison­Wesley Longman Publishing Co., Inc, Boston, MA, USA (1997) 13. Arsanjani, A.: Rule object: A pattern language for adaptive and scalable business rule construction. (2000) 14. Welicki, L., Yoder, J.W., Wirfs­Brock, R.: A pattern language for adaptive object models: Part i ­ rendering patterns. In: PLoP 2007, Monticello, Illinois (2007) 15. Welicki, L., Yoder, J.W., Wirfs­Brock, R., Johnson, R.E.: Towards a pattern language for adaptive object models, Montreal, Quebec, Canada, ACM (2007)  787–788 16. Fowler, M.: Patterns of Enterprise Application Architecture. Addison­Wesley Professional (2002) 17. Fielding, R.T. In: Representational State Transfer (REST). University of California, Irvine (2000) 18. ODMG: Object data management group home page (2008) http://www.odmg.org/  Accessed January 5, 2008. 19. Microsoft: The linq project (2008) http://msdn2.microsoft.com/en­us/netframework/aa904594.aspx Accessed January 5, 2008. 20. Dantas, A., Yoder, J., Borba, P., Johnson, R.: Using aspects to make adaptive object­models adaptable. In: RAM­SE’04­ECOOP’04 Workshop on  Reflection,AOP, and Meta­Data for Software Evolution, Oslo, Norway (2004) 9–19 21. Crous, T., Danzfuss, T., Liebenberg, A., Moolman, A.: Adaptive object modelling using the .NET framework (2005) 22. Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison­Wesley Professional (1999) 23. Ambler, S.W., Sadalage, P.J.: Refactoring Databases: Evolutionary Database Design. Addison­Wesley Professional (2006) Object Models Research Filipe Figueiredo Correia & Hugo Sereno Ferreira Trends In Adaptive 27 24. W3C: Owl web ontology language overview (2004) http://www.w3.org/TR/owl­features/ Accessed January 5, 2008.