6951288
A Generalised Spreadsheet Verification Methodology
Although spreadsheets have been around for over thirty years, we are only just realising their importance. Most companies use spreadsheets in their decision-making processes, but rarely employ any form of testing. This paper shows how an "all-uses" test adequacy technique can be integrated into Microsoft's Excel. The modular technique adopted makes the implementation spreadsheet package independent. It also includes a user interface, to assist developers specify test cases and a technique for recording test cases and session information. In particular it presents a systematic technique for constructing test cases. As a key problem with spreadsheet development is the inexperience of developers, this paper describes an easy to use tool that will improve the standard of spreadsheets developed.
2529500
Automatic Recognition of Colloquial Australian Sign Language
This paper presents an automatic Australian sign language (Auslan) recognition system, which tracks multiple target objects (the face and hands) throughout an image sequence and extracts features for the recognition of sign phrases. Tracking is performed using correspondences of simple geometrical features between the target objects within the current and the previous frames. In signing, the face and a hand of a signer often overlap, thus the system needs to segment these for the purpose of feature extraction. Our system deals with the occlusion of the face and a hand by detecting the contour of the foreground moving object using a combination of motion cues and the snake algorithm. To represent signs, features that are invariant to scaling, 2D rotations, and signing speed are used for recognition. The features represent the relative geometrical positioning and shapes of the target objects, as well as their directions of motion. These are used to recognise Auslan phrases using Hidden Markov Models. Experiments were conducted using 163 test sign phrases with varying grammatical formations. Using a known grammar, the system achieved over 97% recognition rate on a sentence level and 99% success rate at a word level.
429886
Determining Component Reliability Using a Testing Index
Component-Based Software Engineering has the potential to provide reliable systems based on tested components quickly and economically, but these systems will only be as reliable as the components from which they are constructed. We propose a 6-point scale which can be used to rate the degree to which a component has been tested. This scale can be used by developers to assess the risk of using a third party component. Since a variety of test strategies are used, it is necessary to correlate testing strategies with our scale. In this paper, we examine the testing strategies specified in British Standard 7925-2 and show how they relate to the reliability levels that we propose. Since well-behaved use of resources is also a key factor in overall system reliability, we propose that an 'R' tag be added to the rated level when resource usage has been verified to be within reasonable bounds.
7164001
Software Component Certification
Although the stringent requirements of some critical applications may require independent certification, the authors see software developer self-certification as a viable alternative in many other cases. They accept that using software certification laboratories (SCLs) may work well for certain software distribution models, but they cannot be applied to all types of software development. The approach has several drawbacks. For example, an SCL may work well for larger software houses that ship mass-marketed software applications to the public, but it is less satisfactory for smaller developers who make reusable components or safety-critical software or for developers who belong to the freeware community.
16178058
Dataflow Java: implicitly parallel Java
Dataflow computation models enable simpler and more efficient management of the memory hierarchy-a key barrier to the performance of many parallel programs. This paper describes a dataflow language based on Java. Use of the dataflow model enables a programmer to generate parallel programs without explicit directions for message passing, work allocation and synchronisation. A small handful of additional syntactic constructs are required. A pre-processor is used to convert Dataflow Java programs to standard portable Java. The underlying run-time system was easy to implement using Java's object modelling and communications primitives. Although raw performance lags behind an equivalent C-based system, we were able to demonstrate useful speedups in a heterogeneous environment, thus amply illustrating the potential power of the Dataflow Java approach to use all machines-of whatever type-that might be available on a network when Java JIT compiler technology matures.
5662830
Exploiting FPGA Concurrency to Enhance JVM Performance
The Java Programming Language has been praised for its platform independence and portability, but because of its slow execution speed on a software Java Virtual Machine (JVM), some people decide to use faster languages such as C. Building a JVM in hardware is an obvious solution to this problem. Several approaches have been taken to try to achieve the best solution. One approach is by reducing the number of Java instructions a program has to execute along with directly executing instructions in hardware, for example on a Field Programmable Gate Array (FPGA), to increase the execution speed. Another approach is the translation of Java Byte Codes into native code by a FPGA and then executing the native code on a conventional CPU. Others have developed a multi-threaded JVM and exploited the parallelism offered by a FPGA and have specifically designed the JVM for real-time systems. This paper compares and contrasts all these approaches and then argues that the parallelism of a FPGA should be exploited in the most general way possible by not restricting the threads of execution to a specific task. It gives a method for building such a JVM and also some results from a JVM that was built using this method. The paper concludes that this approach should be taken to build a system that is capable of running threads of a Java program in parallel.
44418882
A Decomposition Approach for Balancing Large-Scale Acyclic Data Flow Graphs
An efficient decomposition technique that provides a more systematic approach in solving the optimal buffer assignment problem of an acyclic data-flow graph (ADFG) with a large number of computational nodes is presented. The buffer assignment problem is formulated as an integer linear optimization problem that can be solved in pseudopolynomial time. However, if the size of an ADFG increases, then integer linear constraint equations may grow exponentially, making the optimization problem more intractable. The decomposition approach utilizes the critical path concept to decompose a directed ADFG into a set of connected subgraphs, and the integer linear optimization technique can be used to solve the buffer assignment problem in each subgraph. Thus, a large-scale integer linear optimization problem is divided into a number of smaller-scale subproblems, each of which can be easily solved in pseudopolynomial time. Examples are given to illustrate the proposed decomposition technique. >
2650464
Web-service-based, Dynamic and Collaborative E-learning
This paper describes an on-going effort to investigate problems and approaches for achieving Web-service-based, dynamic and collaborative e-learning. In this work, a Learning Content Definition Model is used to model distributed and sharable learning resources as content objects. Distributed and sharable software systems/components for supporting e-learning are modeled as software objects. Both types of objects are uniformly published as Web-services in a constraint-based Web-service registry and made sharable and reusable. An extended Web-service infrastructure provides a standard framework for the modeling, registration, discovery, binding and invocation of these objects. In this work, we also introduce a Learning Process Definition Model and a Learning Process Execution Engine for specifying and executing learning process models, which represent instructional modules in the forms of activity trees. An Event-Trigger-Rule Server is integrated with the Learning Process Execution Engine to make learning process models active, flexible, customizable and adaptable. It is also used to facilitate the interaction and coordination among learners, administrators, authors, and other personnel involved in collaborative elearning.
17140302
Immersive authoring of tangible augmented reality applications
In this paper, we suggest a new approach for authoring tangible augmented reality applications, called 'immersive authoring.' The approach allows the user to carry out the authoring tasks within the AR application being built, so that the development and testing of the application can be done concurrently throughout the development process. We describe the functionalities and the interaction design for the proposed authoring system that are specifically targeted for intuitive specification of scenes and various object behaviors. Several cases of applications developed using the authoring system are presented. A small pilot user study was conducted to compare the proposed method to a non-immersive approach, and the results have shown that the users generally found it easier and faster to carry out authoring tasks in the immersive environment.
8422740
Characterizations of solution sets of convex vector minimization problems
Complete dual characterizations of the weak and proper optimal solution sets of an infinite dimensional convex vector minimization problem are given. The results are expressed in terms of subgradients, Lagrange multipliers and epigraphs of conjugate functions. A dual condition characterizing the containment of a closed convex set, defined by a cone-convex inequality, in a reverse-convex set, plays a key role in deriving the results. Simple Lagrange multiplier characterizations of the solution sets are also derived under a regularity condition. Numerical examples are given to illustrate the significance of the results.
9555637
Modeling virtual object behavior within virtual environment
Development of virtual reality systems requires iterations of specification, implementation and evaluation. Since correct evaluations of immersive VR systems require the tedious process of wearing many devices, there exist both temporal and spatial gaps between the implementation and evaluation stage, and this usually causes delay and inefficiency in the development process. In order to overcome this gap, there have been several approaches to constructing or modeling the physical aspects of the virtual world (or objects) within the virtual environment. However, modeling their behaviors is still carried out in conventional (2D) programming environments.This paper proposes an interaction model, and interfaces for specifying (and modifying) object behavior, within the virtual environment, based on an underlying virtual object model. The interaction model follows the concept of programming by demonstration, and based on it, we have built a system called the PiP (Programming virtual object behavior in virtual reality Program) "in" which a user can create, modify, test, and save object behaviors. We illustrate examples of interactive virtual worlds constructed using the PiP, and discuss its merits and shortcomings as a content development platform.