Rule * Based GUI Modification

advertisement
Matthew J Mattia
CSC 8570


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


Knowledge Representation -- Tool for
handling 3 programming paradigms: rulebased, 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
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


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)



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

Maximum Flexibility

Maximum Simplicity

Flawless Integration (into business layer code)
of rule-based mechanism

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

Web Server Application in Java
 Financial Application
 Hierarchical Object Structure defines GUI layout
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





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






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

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.”





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”
Download