Trends on Adaptive Object Model Research

  • 1,667 views
Uploaded on

Presented on DSIE'08 - http://www.fe.up.pt/dsie08

Presented on DSIE'08 - http://www.fe.up.pt/dsie08

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,667
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
42
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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