300 likes | 432 Views
Dialog modelling with interactors and UML Statecharts – A hybrid approach. Hallvard Trætteberg hal@idi.ntnu.no, www.idi.ntnu.no/~hal Dept. of Computer and Information Sciences (IDI) Norwegian Univ. of Science and Technology (NTNU) Trondheim. Structure of presentation.
E N D
Dialog modelling withinteractors and UML Statecharts – A hybrid approach Hallvard Trætteberg hal@idi.ntnu.no, www.idi.ntnu.no/~hal Dept. of Computer and Information Sciences (IDI) Norwegian Univ. of Science and Technology (NTNU) Trondheim
Structure of presentation • The problem we want to solve • capture abstract features of design • Features of our solution - DiaMODL • dataflow, behaviour • integration with UML • Examples of usage • Current state and future work • Conclusion Hallvard Trætteberg, DSVIS-2003
formality perspective granularity Classification ofdesign representations • From problem to solution (perspective) • From high to low level (granularity) • Level of formality ourtarget • Representation must be tailored to the needs of the design process and its participants Hallvard Trætteberg, DSVIS-2003
Scenario 1 – tradition engineering • Build task model • Annotated with information usage • contextual information used for decision making • data that is operated on • Identify dialog structures that support tasks • Map AIOs to CIOs • rules and heuristics • device characteristics Hallvard Trætteberg, DSVIS-2003
Scenario 2 – the designer approach • Sketch or prototype with the user • Document information flow and behavior • express what a concrete design does not • complement, not replace concrete description • Look for alternative designs for abstract • appreciate that concrete prototypesare not always about concrete design • systematically search for design alternatives Hallvard Trætteberg, DSVIS-2003
Example:HybridGUI/modellingtool Hallvard Trætteberg, DSVIS-2003
DiaMODL – key features • Abstract model of interaction • abstract specification of functional dialog elements • visual, compositional and scalable notation • platform- and device-independent • formal ”enough”, executable but incomplete • Covers diverse interaction styles • forms and web-pages • direct manipulation • Hybrid language • based on Pisa interactors and UML Statecharts • integrated with domain modelling language, e.g. UML Hallvard Trætteberg, DSVIS-2003
Generic interaction(Pisa black box) • Notation for generic inputand output components • Dataflow-oriented • Interactor mediates information in two directions Hallvard Trætteberg, DSVIS-2003
Scalable notation • Specification of functionality • output and inputof integers • Description of construction • composition of sub-interactors • string input combined withparsing and unparsing • Same abstract description,many alternativeconcrete interaction objects Hallvard Trætteberg, DSVIS-2003
Use of UML • Data • need for representing configurations of concrete objects (placeholders for values, i.e. variables) • collaboration diagram elements capture this • elements and sets are mapped toclasses and (multi-)objects • Behavior • Statecharts was already used • scale better than Activity charts Hallvard Trætteberg, DSVIS-2003
More complex interaction objects • Functionality defined in terms of configuration of domain objects • Utilise power ofdomain modellinglanguage • Output: Set • Input: Subset • UML is not ideal forexpressing mathematicalrelations Alternative implementation Hallvard Trætteberg, DSVIS-2003
... and their composition • Interactor foreach set • Two buttons andadd and removefunctions Hallvard Trætteberg, DSVIS-2003
Generic tree interactor Hallvard Trætteberg, DSVIS-2003
Java Beans • Properties aremapped togates orresources Hallvard Trætteberg, DSVIS-2003
javax.swing.JList Hallvard Trætteberg, DSVIS-2003
javax.swing.JTree Hallvard Trætteberg, DSVIS-2003
Configuration of larger elements... hierarchy message list single message Hallvard Trætteberg, DSVIS-2003
... and their composition ... • Selection 2 • Output:Set of related Messages • Input: Message instance • Selection 1 • Output:Mail Node hierarchy • Input: Mailbox • Message • Output: Message instance Hallvard Trætteberg, DSVIS-2003
... and detailed specification in terms of domain model • Selection 1 • Output:Mail Folderhierarchy • Input: Mailbox • Selection 2 • Output:Set av related Messages • Input: Message-element • Message • Output: Message-element • Stretches UML’s notation Hallvard Trætteberg, DSVIS-2003
Activation and sequencing Hallvard Trætteberg, DSVIS-2003
State-oriented CIOs • Direct manipulation • Web page navigation • Mode selection in toolbars • Tab folders Hallvard Trætteberg, DSVIS-2003
Genericinteractors • Identify reusablepatterns • Generalizeinteractorcomposition Hallvard Trætteberg, DSVIS-2003
...generic interactors • Instantiate generic interactorby binding parameters Hallvard Trætteberg, DSVIS-2003
...customize generic interactors • Provide interactor forsetting parameter Hallvard Trætteberg, DSVIS-2003
Patterns • Problem description =interactor specification • Solution =interactor composition Hallvard Trætteberg, DSVIS-2003
Goal:HybridGUI/modellingtool Hallvard Trætteberg, DSVIS-2003
Open source Java implementation • Data model • extension of UML’s meta-model (Rose & Unisys tool) • use NetBeans MDR forJMI code generation, storage and XML-handling • Behavior • Statechart/interactor machinery • Editor • based on JGraph/Graphpad component/application(ArgoUML was discarded) Hallvard Trætteberg, DSVIS-2003
Extension of UML’s meta model Hallvard Trætteberg, DSVIS-2003
Future work • Validation in industry • real interest expressed, but not really tried out • Hybrid GUI-builder and modelling tool • mixed-mode GUI-building and dialog modelling • bottom-up user-centered prototyping process • Distributed user interface • interactor model may be split into parts anddeployed across interconnected devices • ad-hoc interactor connections usingBluetooth-style networking technology • XML-based (instant) messaging Hallvard Trætteberg, DSVIS-2003
Conclusion • DiaMODL • language for specifying and documenting dialog design • visual and scalable notation partly based on UML • Strengths • platform/device independent • covers several interaction styles • Weaknesses • executable, but incomplete • no tool support (besides Visio template) • too little industry validation Hallvard Trætteberg, DSVIS-2003