Model Driven Hypermedia Development Method

748 views

Published on

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

No Downloads
Views
Total views
748
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Model Driven Hypermedia Development Method

  1. 1. A Model-Driven Hypermedia Development Method (MDHDM). Carlos Solís, José H. Canós, María C. Penadés, Manuel Llavador Department of Computer Science (DSIC), Technical University of Valencia Camino de Vera s/n, 46022, Valencia, España. E-mail {csolis, jhcanos, mpenades, mllavador}@dsic.upv.es
  2. 2. Outline <ul><li>Motivation </li></ul><ul><li>Model Driven Engineering </li></ul><ul><li>MDHDM (Model Driven Hypermedia Development Method) </li></ul><ul><li>Conclusions </li></ul>
  3. 3. Motivation
  4. 4. Motivation Recommendations Index Class: Shopping Cart Index Item Search Form Main Menu
  5. 5. Web Engineering Methods (/1/3)
  6. 6. Web Engineering Methods (2/3)
  7. 7. Web Engineering Methods 3/3 <ul><li>Heuristics to transform ER or Object Oriented models in Navigational Models. </li></ul><ul><li>However these heuristics lack of formalization, and can be misinterpreted by the developers. </li></ul><ul><li>The navigational models do not represent the dynamic of the applications as obtained by the heuristics. </li></ul><ul><li>Some methods include process primitives, but they are mixed with the navigational design (WebML). </li></ul>
  8. 8. Goals <ul><li>Formalize the models </li></ul><ul><li>Formalize and automate the heuristics. </li></ul><ul><li>Define a catalog of heuristics </li></ul><ul><li>Include a dynamic or process view. </li></ul>
  9. 9. Starting Points <ul><li>Applying the MDE concepts, we can achieve the goal of automate and formalize. </li></ul><ul><li>The dynamic view behavior can be modeled if a process model is taken as starting point. </li></ul>
  10. 10. MDE. Model Driven Engineering
  11. 11. Model Driven Architecture Code If ( i== x) send Code If ( i== x) send QVT Transformation InstanceOf Code PIM PSM Source Code Generation Code If ( i== x) send ER Metamodel M2 M1 M0 M3 MOF UML Metamodel UML Model ER Model Metamodel J2EE MetaModel J2EE Model
  12. 12. MDHDM
  13. 13. MDHDM
  14. 14. Business Process Modeling Notation
  15. 15. BPMN Example (Select Subprocess)
  16. 16. The key: Two kinds of links <ul><li>Structural Links </li></ul><ul><li>Process Links </li></ul><ul><li>The final navigational model is obtained by joining the navigational models derived from both conceptual (as usual) and process models . </li></ul>
  17. 17. The key: Two kinds of links Recommendations Index Class: Shopping Cart Index Item Search Form Principal Menu
  18. 18. Process Mappings (1/2) <ul><li>Automatic Task . Automatic tasks do not have a mapping in the hypermedia world, but they have to be performed. </li></ul><ul><li>Or-split . Or-splits are transformed into redirection elements if they are automatic; however a manual or-split is transformed into a menu of process links in the hypermedia model. </li></ul><ul><li>And-split . And-splits are transformed into windows, so that the user can perform the navigation in parallel windows. </li></ul><ul><li>Or-join . Or-joins do not have a mapping in the hypermedia model. </li></ul>
  19. 19. Process Mappings <ul><li>And-join . And-joins are mapped to the event of “close a window”. </li></ul><ul><li>Process links. The process links are derived from the process model, without counting the links eliminated by the synchronization nodes, and the links between automatic activities. They are shown if a hypermedia node matches the data needed for the next process activity, that means the node contains the set of information that can be mapped to the activity input. </li></ul><ul><li>Subprocess . A subprocess is mapped using the mappings of its individual elements. </li></ul>
  20. 20. Presentation PSM <ul><li>Each navigational element satisfies a XML schema. </li></ul><ul><li>For each navigational element there is a HTML template. </li></ul><ul><li>From the HTMLs the schemas are extracted using an inference algorithm. </li></ul><ul><li>We use the XWebMapper to match the templates schemas XSDs with the schemas of each Navigational element. </li></ul><ul><li>The result is a generic XSLT template. </li></ul>
  21. 21. Concrete Hypermedia Model PSM <ul><li>Represents the behavioral patterns of the navigational model elements. </li></ul><ul><li>It has the common elements of web pages. </li></ul>
  22. 22. Implementation
  23. 24. Video Demo.
  24. 25. Conclusions
  25. 26. Conclusions <ul><li>We have described how MDE can be applied to hypermedia development. </li></ul><ul><li>The PIM and PSM models needed for hypermedia development have been identified. </li></ul><ul><li>The transformations are defined declaratively and follow a complete MDE paradigm. </li></ul><ul><li>The dynamic view of the application is obtained from the process model. </li></ul><ul><li>The navigational model has two kind of links: structural and process links. </li></ul>
  26. 27. Current & Further Work <ul><li>We are currently completing the catalogue of transformations and improving the implementation of a support tool. We also plan to automate the transformation of BPMN to WSBPEL (Web Services Business Process Execution Language) (OASIS, 2006) in order to support SOA (Service Oriented Architecture) development. </li></ul>
  27. 28. Thank you.

×