SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
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.

Más contenido relacionado

Similar a 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
 

Similar a 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
 

Último

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 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.