Smartness
Smartness is often referring to Smart house or
smart room where small sensors, such embedded
processors are used to detect their surroundings and
equip human with both information processing and
communication capabilities. A smart house is a truly
interactive house using the latest information and
communication technology to link all the mechanical
and digital devices available today. Humans could
communicate and cooperate with other smart objects
and, theoretically, access all sorts of Internet
resources. Objects and appliances could thus react and
operate in a context-sensitive manner and appear to be
smart. Five aspects of smartness should be considered
for evaluation purpose: location awareness,
environment awareness, situation awareness, user
recognition and personalization.
Table 1: Evaluation Scope of the UC Service.
Data Intrusion Prevention Metrics:
- X = 1- A/ N, where A = No. of times that a major data intrusion event
occurred, and N = No. of test cases tried to cause data intrusion event
- Y = 1- B/N, where B = No. of times that a minor data intrusion even
occurred
- Z = A /T or B / T, where T = period of operation time (during operation
testing)
Is data encrypted to protect the wearer’s privacy?
- To prevent the wearer's identity being discovered
- To prevent the wearer's personal details(sensor data)
from being discovered
- To Provide encryption?
Privacy
Access Auditability X = A /B, where A = No. of “user accesses to the
system and data” recorded in the access history database, and B = No. of
“user accesses to the system and data” done during evaluation
How complete is the audit trail concerning the user
access to the system and data?
Authentication
Security
Personalisation Rate X = A /B, where A = No. of times the ubiquitous
computing system provides correct personalised information to a specific
user, and B = Total No. of times the ubiquitous computing system need to
provide correct customised functions to a specific user
Is the ubiquitous computing system capable of
providing personalised information according to user
preferences?
Personalization
Automatic Identification Rate = A /B, where A = No. of cases the ubiquitous
computing system identifies a user correctly, and B = Total No. of cases the
ubiquitous computing system needs to identify a user
Can the ubiquitous computing system automatically
identify the user?
User
recognition
Situation Sensitivity = confidence intervals (α± β%) in terms of the real
situation of the user
Is the system capable of providing environment-aware,
such as location-aware and orientation-aware sensor
data?
Situation
awareness
Environment Sensitivity = confidence intervals (α± β%) in terms of the real
environment of the user
Is the system capable of providing environment-aware,
such as location-aware and orientation-aware sensor
data?
Environment
awareness
Location Sensitivity = confidence intervals (
α± β
%) in terms of the real
location of the user
How accurate can the ubiquitous computing system
sense the user location?
Location
awareness
Smartness
Adaptability of data structure X = A /B, where A = No. of data which are
operable but are not observed due to incomplete operations caused by
adaptation limitations, and B = No. of data which are expected to be
operable in the environment to which the software is adapted
Can user or maintainer easily adapt software to data sets
in new environment?
Adaptability
Failure Analysis Capability X = 1- A /B, where A =No. of failures of which
causes are still not found, and B = Total No. of registered failures
Can user identify specific operation which caused
failure?
Maintainability
Recovery Rate =A /B, where A = No. of implemented recovery
requirements confirmed, and B = No. of recovery requirements in the
specification
How capable is the product in restoring itself after
abnormal event or at request?
Fault recovery
Fault avoidance rate = A /B, where A = Number of fault patterns having
avoidance, and B = Number of fault patterns to be considered
How many fault patterns were brought under control to
avoid critical and serious failures?
Fault Tolerance
Fault Detection Rate = A/B, where A = absolute number of faults detected in
this product, and B = number of estimated faults to be detected (using past
history or modelling techniques)
How many faults were detected in this product?Maturity
Reliability R(u) = exp(-u
λ
(x)) = exp(-u/MTTF). Here u is the projected
execution time in the future, x is a variable of integration, and
λ
(x) is the
failure rate.
How to measure system reliability?Reliability
Availability A = MTTF/(MTTF +MTTR), where MTTF is the mean time to
failure. MTTR is the mean time to repair.
What is the availability of the system?
Resource
availability
Maximum memory Utilisation X = Amax /Rmax, where Amax = MAX(Ai),
(for i=1 to N), Rmax = required maximum No. of memory related error
messages from 1st to i-th evaluation, and N = No. of evaluations
What is the absolute limit on memory required in
fulfilling a function?
Efficiency
Service
Quality
Accuracy to expectation Ratio = A / T, where A = No. of cases encountered
by the users with a difference against the reasonably expected results
beyond allowable, and T = Operation time
Are the differences between the actual and reasonably
expected results acceptable?
Accuracy
Function Adequacy X = A / B, where A = No. of functions in which
problems are detected, and B = Total No. of functions
How adequate are the evaluated functions?Suitability
Functional compliance ratio X = 1 –A/B, where A = No. of functionality
compliance items specified that have not been implemented, and B = Total
No. of functionality compliance items specified
How compliant is the functionality of the product to
applicable regulations, standards and conventions?
Compliance
Functionality
Metric(s)Checklist ExampleCharacteristicCriteria
Data Intrusion Prevention Metrics:
- X = 1- A/ N, where A = No. of times that a major data intrusion event
occurred, and N = No. of test cases tried to cause data intrusion event
- Y = 1- B/N, where B = No. of times that a minor data intrusion even
occurred
- Z = A /T or B / T, where T = period of operation time (during operation
testing)
Is data encrypted to protect the wearer’s privacy?
- To prevent the wearer's identity being discovered
- To prevent the wearer's personal details(sensor data)
from being discovered
- To Provide encryption?
Privacy
Access Auditability X = A /B, where A = No. of “user accesses to the
system and data” recorded in the access history database, and B = No. of
“user accesses to the system and data” done during evaluation
How complete is the audit trail concerning the user
access to the system and data?
Authentication
Security
Personalisation Rate X = A /B, where A = No. of times the ubiquitous
computing system provides correct personalised information to a specific
user, and B = Total No. of times the ubiquitous computing system need to
provide correct customised functions to a specific user
Is the ubiquitous computing system capable of
providing personalised information according to user
preferences?
Personalization
Automatic Identification Rate = A /B, where A = No. of cases the ubiquitous
computing system identifies a user correctly, and B = Total No. of cases the
ubiquitous computing system needs to identify a user
Can the ubiquitous computing system automatically
identify the user?
User
recognition
Situation Sensitivity = confidence intervals (α± β%) in terms of the real
situation of the user
Is the system capable of providing environment-aware,
such as location-aware and orientation-aware sensor
data?
Situation
awareness
Environment Sensitivity = confidence intervals (α± β%) in terms of the real
environment of the user
Is the system capable of providing environment-aware,
such as location-aware and orientation-aware sensor
data?
Environment
awareness
Location Sensitivity = confidence intervals (
α± β
%) in terms of the real
location of the user
How accurate can the ubiquitous computing system
sense the user location?
Location
awareness
Smartness
Adaptability of data structure X = A /B, where A = No. of data which are
operable but are not observed due to incomplete operations caused by
adaptation limitations, and B = No. of data which are expected to be
operable in the environment to which the software is adapted
Can user or maintainer easily adapt software to data sets
in new environment?
Adaptability
Failure Analysis Capability X = 1- A /B, where A =No. of failures of which
causes are still not found, and B = Total No. of registered failures
Can user identify specific operation which caused
failure?
Maintainability
Recovery Rate =A /B, where A = No. of implemented recovery
requirements confirmed, and B = No. of recovery requirements in the
specification
How capable is the product in restoring itself after
abnormal event or at request?
Fault recovery
Fault avoidance rate = A /B, where A = Number of fault patterns having
avoidance, and B = Number of fault patterns to be considered
How many fault patterns were brought under control to
avoid critical and serious failures?
Fault Tolerance
Fault Detection Rate = A/B, where A = absolute number of faults detected in
this product, and B = number of estimated faults to be detected (using past
history or modelling techniques)
How many faults were detected in this product?Maturity
Reliability R(u) = exp(-u
λ
(x)) = exp(-u/MTTF). Here u is the projected
execution time in the future, x is a variable of integration, and
λ
(x) is the
failure rate.
How to measure system reliability?Reliability
Availability A = MTTF/(MTTF +MTTR), where MTTF is the mean time to
failure. MTTR is the mean time to repair.
What is the availability of the system?
Resource
availability
Maximum memory Utilisation X = Amax /Rmax, where Amax = MAX(Ai),
(for i=1 to N), Rmax = required maximum No. of memory related error
messages from 1st to i-th evaluation, and N = No. of evaluations
What is the absolute limit on memory required in
fulfilling a function?
Efficiency
Service
Quality
Accuracy to expectation Ratio = A / T, where A = No. of cases encountered
by the users with a difference against the reasonably expected results
beyond allowable, and T = Operation time
Are the differences between the actual and reasonably
expected results acceptable?
Accuracy
Function Adequacy X = A / B, where A = No. of functions in which
problems are detected, and B = Total No. of functions
How adequate are the evaluated functions?Suitability
Functional compliance ratio X = 1 –A/B, where A = No. of functionality
compliance items specified that have not been implemented, and B = Total
No. of functionality compliance items specified
How compliant is the functionality of the product to
applicable regulations, standards and conventions?
Compliance
Functionality
Metric(s)Checklist ExampleCharacteristicCriteria
Security
The security of UC service refers to establish
mutual trust between infrastructure and device in a
manner that is minimally intrusive. Security can be
implemented in heterogeneous components such as
firewalls, different computer operating systems and
multiple databases. Authentication is one of the most
important characteristics of ubiquitous computing
security. Authentication provides confirmation of user
access rights and privileges to the information to be
retrieved.
3.2 System Software
UC device hardware is not simply limited to handheld
devices. There is also a large amount of fixed-
infrastructure hardware that may be incorporated into
a system. The software that runs the hardware devices,
and coordinates the usage of the physical resources is
of paramount importance. The UC systems software
and networks have two orthogonal aspects:
configuration and coordination.
Configuration
The systems software and networks used by a UC
system need to be able to be adequately configured so
that the ubiquitous computing system can effectively
use the hardware. From a purely configurational point
of view, the most important aspects of configuration
management are: scalability and extensibility.
Coordination
Coordination describes the system software’s
ability to coordinate a user request operating across
the ubiquitous computing system. We sub-divide this
category into resource coordination, mobility,
reliability and distributed systems support.
Table 2: Evaluation Scope of the UC System Software.
1-A/B where A is the number of machines still operating (in the
presence of other machines being unavailable) and users are still able
to submit new jobs (and have them complete) and B is the total
number of machines in the environment
To what level are the distributed physical resources inter-
dependent?
1-A/B where A is the number of machines that have been booted in
the environment and users are still able to submit new jobs (and have
them complete) and B is the total number of machines in the
environment
Is the systems software a ‘distributed/network operating
system’ or a ‘middleware layer’?
Distributed
systems support
What is the availability (‘up-time’) of the systems software? 1-(A/B)
where A is the time that the systems software has been unavailable
due to fault(s) and B is the sum of the time the systems software has
been operating and to has been unavailable.
What technical support is available for the system
software or hardware?
What is the availability (‘up-time’) of the hardware? 1-(A/B) where A
is the time that the hardware has been unavailable due to fault(s) and
B is the sum of the time the hardware has been operating and to has
been unavailable
Does the system continue working in the presence of a
variety of faults?
Reliability
1-(A/B) where A is the time for the system to access a re-located piece
of hardware (after the system is quiescent) and B is the time to access
the hardware before moving
Is there enough information available on remote
resources to make a good judgement on where to locate
code/data
1-(A/B) where A is the time for the system to locate a re-located piece
of hardware and B is the time to locate the hardware before moving
Is the resource monitoring aspect of the systems software
sophisticated enough to judge whether a program or code
would be more efficient if located elsewhere?
Mobility
1-(A/B) where A is the response time of the system after a new
service is invoked and B is the response time of the system before the
service was invoked.
How well does the systems software control resource
sharing on the local hardware
Resource
coordination
Coordination
A/B where A is the number of software systems that have technical
support available from the Vendor and B is the total number of
softwar e systems in the environment
Can programmers interrogate the services or other
hardware used by the system?
A/B where A is the number of software and hardware systems that can
be upgraded in the field and B is the total number of hardware and
software systems in the environment that could need upgrading
Is there a programmer API that can be used to extend the
system?
Extensibility
A/B where A is the number of jobs (queries, service invocations) that
are waiting to be executed and B is the number of jobs that are
concurrently being executed on average (lower is better).
Is there a list of drivers or APIs that can be used by
developers or technical people to use a new piece of
hardware with the ubiquitous computing system?
1-(A/B) where A is the response time of the system after new
hardware is added and B is the response time of the system before the
new hardware was added
Does the ubiquitous computing system support the ability
to add new hardware?
Scalability
Configuration
Metric(s)Checklist ExampleCharacteristicCriteria
1-A/B where A is the number of machines still operating (in the
presence of other machines being unavailable) and users are still able
to submit new jobs (and have them complete) and B is the total
number of machines in the environment
To what level are the distributed physical resources inter-
dependent?
1-A/B where A is the number of machines that have been booted in
the environment and users are still able to submit new jobs (and have
them complete) and B is the total number of machines in the
environment
Is the systems software a ‘distributed/network operating
system’ or a ‘middleware layer’?
Distributed
systems support
What is the availability (‘up-time’) of the systems software? 1-(A/B)
where A is the time that the systems software has been unavailable
due to fault(s) and B is the sum of the time the systems software has
been operating and to has been unavailable.
What technical support is available for the system
software or hardware?
What is the availability (‘up-time’) of the hardware? 1-(A/B) where A
is the time that the hardware has been unavailable due to fault(s) and
B is the sum of the time the hardware has been operating and to has
been unavailable
Does the system continue working in the presence of a
variety of faults?
Reliability
1-(A/B) where A is the time for the system to access a re-located piece
of hardware (after the system is quiescent) and B is the time to access
the hardware before moving
Is there enough information available on remote
resources to make a good judgement on where to locate
code/data
1-(A/B) where A is the time for the system to locate a re-located piece
of hardware and B is the time to locate the hardware before moving
Is the resource monitoring aspect of the systems software
sophisticated enough to judge whether a program or code
would be more efficient if located elsewhere?
Mobility
1-(A/B) where A is the response time of the system after a new
service is invoked and B is the response time of the system before the
service was invoked.
How well does the systems software control resource
sharing on the local hardware
Resource
coordination
Coordination
A/B where A is the number of software systems that have technical
support available from the Vendor and B is the total number of
softwar e systems in the environment
Can programmers interrogate the services or other
hardware used by the system?
A/B where A is the number of software and hardware systems that can
be upgraded in the field and B is the total number of hardware and
software systems in the environment that could need upgrading
Is there a programmer API that can be used to extend the
system?
Extensibility
A/B where A is the number of jobs (queries, service invocations) that
are waiting to be executed and B is the number of jobs that are
concurrently being executed on average (lower is better).
Is there a list of drivers or APIs that can be used by
developers or technical people to use a new piece of
hardware with the ubiquitous computing system?
1-(A/B) where A is the response time of the system after new
hardware is added and B is the response time of the system before the
new hardware was added
Does the ubiquitous computing system support the ability
to add new hardware?
Scalability
Configuration
Metric(s)Checklist ExampleCharacteristicCriteria
4 CASE STUDY
We consider two case studies and investigate the
propriety of the proposed evaluation scopes for UC
service and ubiquitous system software.
4.1 Mobile Banking Service
The main applications of the ubiquitous service would
be via mobile phones. SK telecom and Telecom NZ
EVALUATION ISSUES FOR UBIQUITOUS COMPUTING
319