QoS analysis for component-based embedded software: Model and methodology
Component-based development (CBD) techniques have been widely used to enhance the productivity and reduce the cost for software systems development. However, applying CBD techniques to embedded software development faces additional challenges. For embedded systems, it is crucial to consider the quality of service (QoS) attributes, such as timeliness, memory limitations, output precision, and battery constraints. Frequently, multiple components implementing the same functionality with different QoS properties (measurements in terms of QoS attributes) can be used to compose a system. Also, software components may have parameters that can be configured to satisfy different QoS requirements. Composition analysis, which is used to determine the most suitable component selections and parameter settings to best satisfy the system QoS requirement, is very important in embedded software development process. In this paper, we present a model and the methodologies to facilitate composition analysis. We define QoS requirements as constraints and objectives. Composition analysis is performed based on the QoS properties and requirements to find solutions (component selections and parameter settings) that can optimize the QoS objectives while satisfying the QoS constraints. We use a multi-objective concept to model the composition analysis problem and use an evolutionary algorithm to determine the Pareto-optimal solutions efficiently.

title: A software enhancement system for embedded software development
abstract: This paper proposes a rule-based expert system model to assist developers in enhancing the quality of embedded software. The expert system supports semi-automated source code enhancements from multiple perspectives including optimization, reconfiguration to achieve quality of service (QoS) trade-offs, conformance to coding standards, etc., by defining a rule base that is composed of modularized and extensible rule sets. The rule sets are composed of re-usable rules; the rules capture the in-depth knowledge of different software experts. The expert system also adopts a technique to support automated fact generation. This allows the expert system to support processing programs developed in different programming languages

title: Code Parameterization for Satisfaction of QoS Requirements in Embedded Software
abstract: The rapid growth of embedded systems urgently requires methods of improving the development process for these systems. Component-based development (CBD) techniques have been widely studied to enhance the productivity of developing complex applications. These techniques can benefit the software development process for embedded systems as well as other application domains. However, applying CBD techniques to embedded software development faces additional challenges. For embedded systems, it is crucial to consider the QoS attributes, such as timeliness, memory limitations, output precision, battery constraints, etc. However, it is often difficult to adjust the QoS properties of a system integrated from components that do not consider QoS properties in the first place. In this paper, we present an overview of a repository-based embedded software development methodology and then focus on component parameterization techniques. The basic concept of the parameterization process is to identify configurable parameters in a component that can be parameterized to achieve QoS tradeoffs. The component is then modified to a reconfigurable one such that its configurable parameters can be adjusted to satisfy different QoS requirements for various applications or for dynamical changing execution environment. A rule base is used to assist the parameter identification process. We also develop delta file technique to facilitate component adaptation and testing tools for QoS data collection. Keywords-embedded system, component parameterization, QoS, Repository system

title: Implementing database operations using SIMD instructions
abstract: Modern CPUs have instructions that allow basic operations to be performed on several data elements in parallel. These instructions are called SIMD instructions, since they apply a single instruction to multiple data elements. SIMD technology was initially built into commodity processors in order to accelerate the performance of multimedia applications. SIMD instructions provide new opportunities for database engine design and implementation. We study various kinds of operations in a database context, and show how the inner loop of the operations can be accelerated using SIMD instructions. The use of SIMD instructions has two immediate performance benefits: It allows a degree of parallelism, so that many operands can be processed at once. It also often leads to the elimination of conditional branch instructions, reducing branch mispredictions.We consider the most important database operations, including sequential scans, aggregation, index operations, and joins. We present techniques for implementing these using SIMD instructions. We show that there are significant benefits in redesigning traditional query processing algorithms so that they can make better use of SIMD technology. Our study shows that using a SIMD parallelism of four, the CPU time for the new algorithms is from 10% to more than four times less than for the traditional algorithms. Superlinear speedups are obtained as a result of the elimination of branch misprediction effects.

title: Algorithm Selectors for Providing Location Estimation Services within a Cellular Radio Network
abstract: Mobile location estimation is becoming an important value-added service for mobile phone operators. Many mobile location estimation algorithms based on the cellular radio networks have been proposed but there exists no general solution since each algorithm has its own advantage depending on specific terrain and environmental factors. In this paper, we propose and investigate three algorithm selectors, one with a LDA classifier and the other two with Bayes classifiers using either a Naive Bayes probabilistic model or a Bayes probabilistic model, to select the best mobile location estimation algorithms from our previous work in order to combine their merits, and provide a more accurate estimation for location services. We have tested these three algorithm selectors with real data taken in Hong Kong. Experiment results have shown that they are all useful in particular, and the one with a Bayes probabilistic model outperforms all other existing location algorithms among different kinds of terrains in terms of average errors

title: An electronic payment scheme allowing special rates for anonymous regular customers
abstract: Anonymous electronic payment systems are regarded as essential for the protection of the privacy of consumers participating in electronic transactions. In this paper, we present an electronic payment scheme which allows regular customers not only to get special rates from the merchant but also to be kept anonymous to the merchant.

title: Buffering databse operations for enhanced instruction cache performance
abstract: As more and more query processing work can be done in main memory access is becoming a significant cost component of database operations. Recent database research has shown that most of the memory stalls are due to second-level cache data misses and first-level instruction cache misses. While a lot of research has focused on reducing the data cache misses, relatively little research has been done on improving the instruction cache performance of database systems.We first answer the question "Why does a database system incur so many instruction cache misses?" We demonstrate that current demand-pull pipelined query execution engines suffer from significant instruction cache thrashing between different operators. We propose techniques to buffer database operations during query execution to avoid instruction cache thrashing. We implement a new light-weight "buffer" operator and study various factors which may affect the cache performance. We also introduce a plan refinement algorithm that considers the query plan and decides whether it is beneficial to add additional "buffer" operators and where to put them. The benefit is mainly from better instruction locality and better hardware branch prediction. Our techniques can be easily integrated into current database systems without significant changes. Our experiments in a memory-resident PostgreSQL database system show that buffering techniques can reduce the number of instruction cache misses by up to 80% and improve query performance by up to 15%.

title: A feedback-based approach for segmenting handwritten legal amounts on bank cheques
abstract: The proposed feedback-based approach is implemented in two steps. In the first step, segmentation is done according to the structural features between the connected components in the legal amounts. In the second step, a feedback process is introduced to re-segment the parts that could not be identified in the first step. Then a multiple neural network classifier is used to verify the re-segmentation result. The confidence value produced by the classifier is used to determine the best segmentation points. This approach is tested on a CENPARMI database and the result indicates that the correct segmentation rate increased by 13.4% from the previous approach.