Title: User-Interface Design
1User-Interface Design Real-time Systems Design
- Can the user easily do what he wants to do?
An unresponsive real-time system may be worse
than no system at all
2Lecture Objectives
- To understand the important aspects of user
interface design - To discuss the guidelines for producing better
user interface - To understand the major issues in designing
real-time systems - To illustrate the design considerations for
real-time systems
3User Interface
- The interface is the system for most users
- Communication between the user and the system
- When interface is not easy, user may reject
system - Important to have more user-friendly interface to
improve usability - User training may help improve users
understanding and use of system
4Types of Interface
- Natural Language Interface
5Types of Interface
- Question and Answer Interface
6Types of Interface
7Types of Interface
- Menus
- Input/ Output Forms
- Command-Language Interface
User interface has two main components
Presentation language Action language
8Human Factors
- It is important to understand the human factors
- Better understanding of skills, behaviour and
limitations can produce better and friendlier
interface - The factors
- Human Perception
- Human Skills
- Type of Task
9Human Perception
- Visual - size, shape, color, orientation,
movement, etc - When we look at an item, we are receiving info
from all parts - The brain can efficiently process 7 chunks
(items) at a time - So when designing a screen, these factors should
be considered
10Human Skills
- Understand the target user and the skill level of
the user - Education level, e.g. clerk, manager, engineer or
programmer - Computer skills - novice, average, expert
- For unskilled users, user interface have to be
more robust and more help should be available
11Types of Tasks
- Communication tasks - information transferred
from producer to consumer - Dialogue tasks - user direct and control
interaction with the system - Cognitive tasks - performed once information is
obtained associated with system function - Control tasks - allow user to control info and
cognition and order the process through which
other generic tasks occur
12General Interaction Guidelines
- Be consistent
- Offer meaningful feedback
- Ask for verification of any non-trivial
destructive action - Permit easy reversal of most actions
- Reduce the amount of information to memorise
between actions - Seek efficiency in dialog, motion and thought
13General Interaction Guidelines (Continued)
- Forgive mistakes
- Categorize activities by function and organise
screen geography accordingly - Provide help facilities that are context
sensitive - Use simple action verbs or short verb phrases to
name commands
14Information Display Guidelines
- Display only information that is relevant to the
current context - Dont bury the user with data, use a presentation
format that enables rapid assimilation of
information - Use consistent labels, standard abbreviations,
and predictable colours - Allow user to maintain visual context
- Produce meaningful error messages
15Information Display Guidelines (Continued)
- Use upper and lower case, indentation, and text
grouping to aid in understanding - Use windows to compartmentalize different types
of information - Use analog displays to represent information
that is more easily assimilated with this form of
representation - Consider available geography of the display
screen and use it efficiently
16Data Input Guidelines
- Minimize the number of input actions required of
the user - Maintain consistency between information display
and data input - Allow user to customize input
- Interaction should be flexible but also tuned to
the users preferred mode of input
17Data Input Guidelines (Continued)
- Deactivate commands that are inappropriate in the
context of current actions - Let user control the interactive flow
- Provide help to assist with all input actions
- Elliminate mickey mouse input
18Real-time Systems
- Systems that are integrated with real-world
devices - Generate action in response to external events
- High speed data acquisition and control under
severe time and reliability constraints - System performance is most important
19Real-time Systems Interfaces
Sensors
Control device
environmental data
control instructions
Real-time System
20Examples of Real-time Systems
- Aircraft avionics
- Manufacturing process control
- Industrial instrumentation
- Intelligent buildings
- Anti-lock Braking System (ABS)
21Differences in Real-time System Development
- Design of real-time system is resource
constrained - Real-time systems are compact, yet complex
- Real-time systems often work without the presence
of a human user
22Demands of Real-time System
- Information flow that is gathered or produced on
a time-continuous basis - Control information passed throughout the system
and associated control processing - Multiple instances of same transformation,
sometimes encountered in multitasking situations - System states and the mechanism that cause
transitions between states
23Time-continuous Data Flow
Monitored temperature
Input continuously
Output continuously
Monitor and adjust temperature level
Corrected value
Temperature set-point
24Extensions to Data Flow Notation
Data object that is input or output from a
process on continuous basis
quasi-continuous data flow
Control process
Transformer of control or events accepts
control and input and produces control as output
Control item or event takes on a Boolean or
discrete value
control item
Repository of control items that are to be stored
for use by one or more processes
control store
25Example of Data and Control Flow
Status of each fixture
Movement alarm
Robot initiation control
parts status buffer
Start/stop flag
Bit string
Monitor fixture operator interface
Process activate
Operator settings
Position commands
Process robot commands
Robot movement record
Operator commands
robot command file
26Dynamic Attributes
- Interrupt handling and context switching
- Response time
- Data transfer rate and throughput
- Resource allocation and priority handling
- Task synchronization and intertask communication
27Interrupt Handling and Context Switching
- Interrupts - external stimuli
- System must respond to interrupts
- Usually multiple interrupts - need to prioritize
and service most important ones - Many real-time operating systems make dynamic
calculations to monitor servicing of interrupts,
within given time constraints - Context switching - switch among tasks
- Interrupt latency - time lag before interrupt
28Interrupt Handling Routine
- Save state of interrupted program
- Determine nature of the interrupt
- Service interrupt
- Restore state of interrupted program
- Return to interrupted program
29Response Time
- Time within which a system must detect an
internal or external event and respond with an
action - Usually event detection and response generation
are simple - Determining appropriate response may involve
complex, time-consuming algorithms - Context switching and interrupt latency affects
response time
30Data Transfer Rate and Throughput
- Data Transfer Rate - how fast data move into or
out of the system - Throughput - rate of output compared to rate of
input (system efficiency) - Timing and capacity is usually given by vendors
- However, overall system performance need to
consider other factors e.g. device performance,
buffer size, I/O device, etc.
31Resource Allocation and Priority Handling
- Distributed databases are preferred in real-time
systems because of multitasking - Data often processed in parallel
- Concurrency control required - locking and time
stamping to ensure data integrity - Real-time operating systems also manage resources
such as memory and processors
32Task Synchronisation and Communication
- Real-time multitasking systems must have
mechanism to synchronize and communicate between
tasks - Queuing semaphores - synchronization and
signaling items that manage traffic - Mailboxes and Messaging systems - alternative to
sending information between tasks
33Conclusion
- Real-time system emphasized on performance and
reliability - Fault tolerance and system restart is most
critical - Often redundancy and backup is built into system
design - Design requires additional consideration for
size, efficiency and reliability
34References
- Software Engineering A Practitioners Approach
5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 - Software Engineering by Ian Sommerville,
Addison-Wesley, 2001