140 likes | 237 Views
Rule – Based GUI Modification. Matthew J Mattia CSC 8570. Complex GUI Challenges. Cumbersome Code Consistent/Predictable design (GUEPs #5, CD’s #10) Display “proper” amount of information Including IUI Aspects Trace user behavior to determine expertise
E N D
Rule – Based GUI Modification Matthew J Mattia CSC 8570
Complex GUI Challenges • Cumbersome Code • Consistent/Predictable design (GUEPs #5, CD’s #10) • Display “proper” amount of information • Including IUI Aspects • Trace user behavior to determine expertise • Maintaining user knowledge base • Handling dynamic GUI changes • Use CLIPS AI system rules
What is CLIPS? • Knowledge Representation-- Tool for handling 3 programming paradigms: rule-based, object-oriented and procedural • Rule-based programming allows knowledge to be represented as heuristics, or "rules of thumb," which specify a set of actions to be performed for a given situation
Dynamic GUI Modification Should expose a lot of intelligence & dynamic behavior because: • Complex (financial, health, industrial) interfaces need dynamic control to mitigate testing overhead • Users do not read documentation – interface should be intuitive • Users have different skill sets
Ideasfor Further Investigation • Presentation layer must be separated from remaining application Why? • Run-time adaptation depends on the ability to collect information about user activities • Deduce user competency, preferences, goals • Automatically reshape GUI to better communicate w/user • Solve common user issues (e.g. - extend acceptance area of button)
Solution • Tasks – performed in two-layered sets of rules, represented as facts, which are loaded into clips engine • Semi-Automatic Approach for GUI generation; facts invoke rules, which modify the GUI • Adaptation of UI Based on Collected Info About User Activities
Use Rule-Based CLIPS Approach • Maximum Flexibility • Maximum Simplicity • Flawless Integration (into business layer code) of rule-based mechanism
Rule-Based Implementation • Rule–Based Language (clausal logic) • Declarative Language • Binds logic with rules • Form: H B where H is rule head and B is rule body • GUI exists in specially designed table set in DB • Converts descriptions into hierarchical structure of objects, which define graphical element appearance • Objects consist of Forms, Groups, Controls • Rules modify GUI definition facts, leading to new GUI
Realization • Web Server Application in Java • Financial Application • Hierarchical Object Structure defines GUI layout
Adaptive Interface Renderer Modified facts converted back to the internal Java class objects and are delivered to the renderer for building the GUI 3 INPUTS: • Interface Specification • Device Model • User Model (user traces) • User determined during login process
User Traces • Place frequently desired widgets in convenient locations for users to access them • Rarely used features should be removed from the common workspace • The term trail refers to “coherent” sequences of elements manipulated by the user (set) • A trail ends when the user switches to another frame or selects another instrument • When application accumulates enough trace info, it can be used in adaption rules
Research Conclusions • RBUI requires greater up front time investment for long term dividends and flexibility. • Rule-based approach is an easily extendable framework – just add new rules. • Component reuse w/single add – changes reflect in all hierarchies. • Testing is easier and less time consuming • IUI features – handles user responses • Must work with empty Knowledge Base
Common Reference • Automatically Generating UI (Gajos, Weld) - Interface design assumptions about user’s environment. “In contrast to these approaches, we argue that interfaces should instead be personalized to better suit the particular contexts of individual users. We argue that automatic personalized interface generation is a feasible and scalable solution to this challenge. We present our Supple system, which can automatically generate interfaces adapted to a person's devices, tasks, preferences, and abilities.”
Critiques • Poorly written sections (bad grammar) • Bounces from topic to topic • CLIPS not defined CLIPS Definition • Did not define “standard-approach version of application” – too vague. • Advantages of proposed technique are “classified”