310 likes | 418 Views
From Model-based to Model-driven Design of User Interfaces. Agenda. Introduction Model-based Design of User Interfaces (MBUID) Model-driven Engineering and MBUID CUP Current activities Conclusion. Agenda. Introduction Model-based Design of User Interfaces (MBUID)
E N D
Agenda Introduction Model-based Design of User Interfaces (MBUID) Model-driven Engineering and MBUID CUP Current activities Conclusion
Agenda • Introduction • Model-based Design of User Interfaces (MBUID) • Model-driven Engineering and MBUID • CUP • Current activities • Conclusion
Introduction • Software engineering • Use models • Model driven Engineering (MDE) • User Interface • Prototyping • No or limited modeling • Problems • Multi-device / mobile user interfaces • Context-sensitive user interfaces
Introduction • User interface (technology) is complex • Business applications • Mobile and embedded interfaces • Memory and processing constraints • Heterogeneous devices, environments • Cognitive constraints • Input and output constraints • Model-based design of user interfaces • On its own • Combine with MDE?
Agenda • Introduction • Model-based Design of User Interfaces (MBUID) • Model-driven Engineering and MBUID • CUP • Current activities • Conclusion
Model-based Design of User Interfaces • Reuse designs • Use different models for different aspects • Task model • Presentation model • Abstract (logical structure) • Concrete (“physical structure”) • Dialog model • Context model • User, Environment, Platform, Services
Model-based Design of User Interfaces • Use multiples levels of abstraction • Tasks • Platform/modality independent (abstract) • Toolkit independent (concrete) • Code, xml, … (final) • Availability of tools: • Limited in scope • Research tools • Not always publicly available
Agenda • Introduction • Model-based Design of User Interfaces (MBUID) • Model-driven Engineering and MBUID • CUP • Current activities • Conclusion
Model-driven Engineering • Reuse of design: • Different levels of abstraction • Computation independent models • Platform independent models • Platform specific models • Transformations based upon • Marks • Platform information • Additional information • Code generation Abstract Concrete Context information
Agenda • Introduction • Model-based Design of User Interfaces (MBUID) • Model-driven Engineering and MBUID • CUP • Current activities • Conclusion
Context-Sensitive User Interface Profile • Goals • Integrate user interface models in • UML (2.0) • Software engineering (MDE) • Define platform independent / abstract layer • Tasks • Presentation • Integrate context • Broader than platform: environment, users, … • Context is more than information
Context-Sensitive User Interface Profile • Usage of CUP • Platform independent models (CUP stereotypes) CUP (abstract) Patterns/CUP Specific models (concrete)
Context-Sensitive User Interface Profile • UML Profile • Extend UML meta model • Enhance semantics • New notations • Extends UML 2.0 • Extensions for • Context • Abstract User Interfaces • Task specification
CUP: Models • Activity model <> Task model: • Tasks • Temporal relations • Hierarchy • Presentation model • Abstract • Context model • Information • Gathering • Domain model
CUP: Activity Model • Activity “flow” • Temporal relations between actions • Composed of activities • Stereotypes indicating kind of action • User • Interaction • System • Environment
CUP: Presentation Model • Abstract model • Logical structure of deployed user interface • Omits platform specific information • Precedence specification • Stereotypes (user interface components) • Input component • Output component • Action component • Group component
CUP: Presentation Model • Properties of user interface components • Datatype • Meta-data • Label • Explanation • Importance • … • Sequencing can be done through associations • Time • Space
CUP: Context model • Context information • Can be broad specification as in the context ontology • Gathering indicated by stereotypes • profiledContext - by humans • detectedContext - by system • Context processing • Indicate responsible components • contextCollector
Agenda • Introduction • Model-based Design of User Interfaces (MBUID) • Model-driven Engineering and MBUID • CUP • Current activities • Conclusion
Current activities – future work • Define transformations to platform specific models • Use patterns • Wizard • Each user interface component is a step • Add “buttons” for navigation • Form • Linear list of input components • Confirmation, cancellation at end
Current Activities – future work • Define transformations to platform specific models • Use design knowledge • Integrate knowledge from prototyping • Integration with early prototyping tool (sketch-based) • Possibilities for consistency checks • XML-based: • XHTML (+ XForms) • UIML? • Use style • Directly to code?
Agenda • Introduction • Model-based Design of User Interfaces (MBUID) • Model-driven Engineering and MBUID • CUP • Current activities • Conclusion
Conclusions • Defined CUP • Platform independent models • Actions • Presentation • Context model • Information • Interaction • Working on • Transformations to platform specific models • Refinement of the profile
Conclusions • Other contributions • Context-sensitive models • Decision nodes • Dialog model with transitions triggered by context • Integration “context toolkit” • Tool support • Distributed user interfaces • Adapting models for distributed user interfaces • Tool support
Questions? ???