a dialog control framework for hypertext based
play

A Dialog Control Framework for Hypertext-based Applications November - PDF document

A Dialog Control Framework for Hypertext-based Applications November 8, 2002 YOU ARE HERE YOU ARE HERE Introduction A Dialog Control Framework A Dialog Control Framework Motivation for Hypertext-


  1. A Dialog Control Framework for Hypertext-based Applications November 8, 2002 YOU ARE HERE � YOU ARE HERE � � � � � � � � Introduction A Dialog Control Framework A Dialog Control Framework � Motivation for Hypertext- -based Applications based Applications for Hypertext � Dialog Flow Notation � Dialog Elements and Graphs Matthias Book Matthias Book � Dialog Modules and Nesting � Dialog Control Framework � Dialog Flow Specification Language Software Engineering Chair Department of Computer Science � Framework Architecture University of Dortmund, Germany GI-Informatiktage, November 8, 2002 1/26 Matthias Book: A Dialog Control Framework for Hypertext-based Applications 2/26 Hypertext Application Application ( (Step Step 1) 1) Hypertext Evolution of Web Sites Evolution of Web Sites + ideal thin clients – limited user interface Complexity Information Interaction Transaction Application Matthias Book: A Dialog Control Framework for Hypertext-based Applications 3/26 Matthias Book: A Dialog Control Framework for Hypertext-based Applications 4/26 Hypertext Hypertext Application Application ( (Step Step 2) 2) Hypertext Application Hypertext Application ( (Step Step 3) 3) Matthias Book: A Dialog Control Framework for Hypertext-based Applications 5/26 Matthias Book: A Dialog Control Framework for Hypertext-based Applications 6/26 GI-Informatiktage 2002 - Matthias Book 1

  2. A Dialog Control Framework for Hypertext-based Applications November 8, 2002 Hypertext Hypertext Application Application ( (Step Step 4) 4) Hypertext Application Hypertext Application ( (Step Step 5) 5) Matthias Book: A Dialog Control Framework for Hypertext-based Applications 7/26 Matthias Book: A Dialog Control Framework for Hypertext-based Applications 8/26 Hypertext Application Application ( (Step Step 6) 6) Hypertext Conceptual Models of Dialog Flows Conceptual Models of Dialog Flows Window - b a sed application Mailbox Folder Message Preferences Message Folder Hypertext - b a sed application ISO Dialog Principles Index Forum Login Register Thank you Index Matthias Book: A Dialog Control Framework for Hypertext-based Applications 9/26 Matthias Book: A Dialog Control Framework for Hypertext-based Applications 10/26 Media Dependent Dialog Flows Flows Need for for a Dialog a Dialog Control Control Framework Framework Media Dependent Dialog Need Example: Online Shop Checkout � Problems: � Dialog flows cannot be nested Address, shipping and billing data � Dialog flows vary on different media � Dialog control logic often complex, neglected Address, shipping and billing mask � Wanted: Address Shipping Billing mask mask mask � Reusable solution for any app Address Shipping Billing � Dialog Control Framework data data data � Dialog Flow Notation Matthias Book: A Dialog Control Framework for Hypertext-based Applications 11/26 Matthias Book: A Dialog Control Framework for Hypertext-based Applications 12/26 GI-Informatiktage 2002 - Matthias Book 2

  3. A Dialog Control Framework for Hypertext-based Applications November 8, 2002 YOU ARE HERE � YOU ARE HERE � � � � � � � Dialog Graph Dialog Graph check login check name, � Introduction status Login password not yet submit logged in � Motivation incorrect � Dialog Flow Notation correct Action Event Mask mark user � Dialog Elements and Graphs as logged in � Dialog Modules and Nesting ok � Dialog Control Framework no already logged in � Dialog Flow Specification Language has admin yes rights? � Framework Architecture Matthias Book: A Dialog Control Framework for Hypertext-based Applications 13/26 Matthias Book: A Dialog Control Framework for Hypertext-based Applications 14/26 Dialog Module Dialog Module Nesting Dialog Modules Nesting Dialog Modules check login check name, status Login password not yet check login check name, submit logged in Login status password incorrect not yet submit user authorization correct register logged in mark user create new as logged in account ok incorrect already no logged in user authorization register cancel correct has admin is user yes rights? is admin create new mark user account as logged in Shop Forum Product Forum Catalog Lobby ok Shop Forum is user Home Home is user done no already logged in user user authorization authorization is user enter enter has admin yes is admin is admin rights? Shop Forum is admin Admin Admin Matthias Book: A Dialog Control Framework for Hypertext-based Applications 15/26 Matthias Book: A Dialog Control Framework for Hypertext-based Applications 16/26 Event Semantics Multiple Presentation Presentation Channels Channels Event Semantics Multiple � events are results of elements, not calls to them Example: Online Shop Checkout � same event generated by same element checkout [HTML] Address, shipping may lead to different elements in different contexts A,S,B and billing data Mask � module reusability and flexibility save save save Address, shipping addr. shipg. billg. and billing mask Product Shop Forum Forum Catalog Lobby Address Shipping Billing Shop Forum save save save mask mask mask is user Home Home is user addr. shipg. billg. user user Addr. Shipg. Billg. authorization authorization Address Shipping Billing Mask Mask Mask enter enter data data data is admin is admin checkout [WML] Shop Forum Admin Admin Matthias Book: A Dialog Control Framework for Hypertext-based Applications 17/26 Matthias Book: A Dialog Control Framework for Hypertext-based Applications 18/26 GI-Informatiktage 2002 - Matthias Book 3

  4. A Dialog Control Framework for Hypertext-based Applications November 8, 2002 Key Notation Features Key Notation Features YOU ARE HERE � YOU ARE HERE � � � � � � � � Consecutive, fine-grained actions or masks � Introduction � flexible dialog graphs � Motivation � Dialog modules encapsulate dialog graphs � Dialog Flow Notation � reuse in different contexts, nesting � Dialog Elements and Graphs � Events are results, not calls � Dialog Modules and Nesting � Dialog Control Framework � dialog control not performed by model or view � Advanced features (not shown here) � Dialog Flow Specification Language � Framework Architecture � complex dialog structures Matthias Book: A Dialog Control Framework for Hypertext-based Applications 19/26 Matthias Book: A Dialog Control Framework for Hypertext-based Applications 20/26 From Spec to Implementation From Spec to Implementation User Authorization User Authorization Flow Flow Spec Spec check login check name, status Login password not yet submit � Req Analysis, Specification, Design phase logged in incorrect <dfs-flows> correct user authorization register ... � dialog flow specification refined incrementally mark user create new as logged in account <in-module name="User Authorization"> ok � Implementation Phase <channel name="HTML"> already no logged in has admin is user rights? yes � smooth, efficient transition desired <on-init> is admin <call-action>check login status</call-action> � diagrams serve as input for framework </on-init> check login check name, <ex-action name="check login status"> status Login password not yet submit <on-event name="not yet logged in"> logged in XML XML incorrect Translation <call-mask>Login</call-mask> Dialog Dialog correct user authorization register </on-event> Flows Elems mark user create new as logged in <on-event name="already logged in"> account Doc Doc ok <call-action>has admin rights?</call-action> already no logged in </on-event> has admin is user </ex-action> yes rights? ... is admin Matthias Book: A Dialog Control Framework for Hypertext-based Applications 21/26 Matthias Book: A Dialog Control Framework for Hypertext-based Applications 22/26 Front Controller Architecture Architecture Dialog Ctrl Framework Architecture Architecture Front Controller Dialog Ctrl Framework � Dialog Flow Specification, Dialog Control Logic Compound Stack XML XML Import OO distributed over all actions Dialog Dialog Dialog Flows Elems Flow � inflexible dialog flow specification Doc Doc Model � limited dialog control capabilities push, Look up � no support for different channels' interaction patterns pop, top Dialog Spec, Set view Event Request Control Logic Request Request Event Channel Dialog Controller Action Action Interface Controller Application Dispatch Event Logic Update Forward Forward Client Update Client Response Response Extract Extract View Mask Model Model Matthias Book: A Dialog Control Framework for Hypertext-based Applications 23/26 Matthias Book: A Dialog Control Framework for Hypertext-based Applications 24/26 GI-Informatiktage 2002 - Matthias Book 4

Recommend


More recommend