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
Outline Motivation Model Driven Engineering MDHDM (Model Driven Hypermedia Development Method) Conclusions
Motivation
Motivation Recommendations Index Class: Shopping Cart Index Item Search Form Main Menu
Web Engineering Methods (/1/3)
Web Engineering Methods (2/3)
Web Engineering Methods 3/3 Heuristics to transform ER or Object Oriented models in Navigational Models. However these heuristics lack of formalization, and can be misinterpreted by the developers. The navigational models do not represent the dynamic of the applications as obtained by the heuristics. Some methods include process primitives, but they are mixed with the navigational design (WebML).
Goals Formalize the models Formalize and automate the heuristics. Define a catalog of heuristics Include a dynamic or process view.
Starting Points Applying the MDE concepts, we can achieve the goal of automate and formalize. The dynamic view behavior can be modeled if a process model is taken as starting point.
MDE. Model Driven Engineering
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
MDHDM
MDHDM
Business Process Modeling Notation
BPMN Example (Select Subprocess)
The key: Two kinds of links Structural Links Process Links The final navigational model is obtained by joining the navigational models derived from both conceptual (as usual) and process models .
The key: Two kinds of links Recommendations Index Class: Shopping Cart Index Item Search Form Principal Menu
Process Mappings (1/2) Automatic Task . Automatic tasks do not have a mapping in the hypermedia world, but they have to be performed.  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. And-split . And-splits are transformed into windows, so that the user can perform the navigation in parallel windows. Or-join . Or-joins do not have a mapping in the hypermedia model.
Process Mappings And-join . And-joins are mapped to the event of “close a window”.  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. Subprocess . A subprocess is mapped using the mappings of its individual elements.
Presentation PSM Each navigational element satisfies a XML schema. For each navigational element there is a HTML template. From the HTMLs the schemas are extracted using an inference algorithm. We use the XWebMapper to match the templates schemas XSDs with the schemas of each Navigational element. The result is a generic XSLT template.
Concrete Hypermedia Model PSM Represents the behavioral patterns of the navigational model elements. It has the common elements of web pages.
Implementation
 
Video Demo.
Conclusions
Conclusions We have described how MDE can be applied to hypermedia development. The PIM and PSM models needed for hypermedia development have been identified. The transformations are defined declaratively and follow a complete MDE paradigm.  The dynamic view of the application is obtained from the process model. The navigational model has two kind of links: structural and process links.
Current & Further Work 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.
Thank you.

Model Driven Hypermedia Development Method

  • 1.
    A Model-Driven HypermediaDevelopment 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.
    Outline Motivation ModelDriven Engineering MDHDM (Model Driven Hypermedia Development Method) Conclusions
  • 3.
  • 4.
    Motivation Recommendations IndexClass: Shopping Cart Index Item Search Form Main Menu
  • 5.
  • 6.
  • 7.
    Web Engineering Methods3/3 Heuristics to transform ER or Object Oriented models in Navigational Models. However these heuristics lack of formalization, and can be misinterpreted by the developers. The navigational models do not represent the dynamic of the applications as obtained by the heuristics. Some methods include process primitives, but they are mixed with the navigational design (WebML).
  • 8.
    Goals Formalize themodels Formalize and automate the heuristics. Define a catalog of heuristics Include a dynamic or process view.
  • 9.
    Starting Points Applyingthe MDE concepts, we can achieve the goal of automate and formalize. The dynamic view behavior can be modeled if a process model is taken as starting point.
  • 10.
    MDE. Model DrivenEngineering
  • 11.
    Model Driven ArchitectureCode 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.
  • 13.
  • 14.
  • 15.
  • 16.
    The key: Twokinds of links Structural Links Process Links The final navigational model is obtained by joining the navigational models derived from both conceptual (as usual) and process models .
  • 17.
    The key: Twokinds of links Recommendations Index Class: Shopping Cart Index Item Search Form Principal Menu
  • 18.
    Process Mappings (1/2)Automatic Task . Automatic tasks do not have a mapping in the hypermedia world, but they have to be performed. 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. And-split . And-splits are transformed into windows, so that the user can perform the navigation in parallel windows. Or-join . Or-joins do not have a mapping in the hypermedia model.
  • 19.
    Process Mappings And-join. And-joins are mapped to the event of “close a window”. 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. Subprocess . A subprocess is mapped using the mappings of its individual elements.
  • 20.
    Presentation PSM Eachnavigational element satisfies a XML schema. For each navigational element there is a HTML template. From the HTMLs the schemas are extracted using an inference algorithm. We use the XWebMapper to match the templates schemas XSDs with the schemas of each Navigational element. The result is a generic XSLT template.
  • 21.
    Concrete Hypermedia ModelPSM Represents the behavioral patterns of the navigational model elements. It has the common elements of web pages.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
    Conclusions We havedescribed how MDE can be applied to hypermedia development. The PIM and PSM models needed for hypermedia development have been identified. The transformations are defined declaratively and follow a complete MDE paradigm. The dynamic view of the application is obtained from the process model. The navigational model has two kind of links: structural and process links.
  • 27.
    Current & FurtherWork 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.
  • 28.