1850975
Using classic problems to teach Java framework design
Abstract All programmers should understand the concept of software families and know the techniques for constructing them. This paper suggests that classic problems, such as well-known algorithms and data structures, are good sources for examples to use in a study of software family design. The paper describes two case studies that can be used to introduce students in a Java software design course to the construction of software families using software frameworks. The first is the family of programs that use the well-known divide and conquer algorithmic strategy. The second is the family of programs that carry out traversals of binary trees.
16003818
Java in the box: implementing the BoxScript component language
BoxScript is a Java-based language that supports the component-oriented programming paradigm. BoxScript introduces a composition strategy and type structure to support two main properties of component-oriented programming, compositionality and flexibility. This paper briefly introduces the fundamental concepts of BoxScript and then describes how BoxScript components (i.e., boxes) are realized as clusters of interrelated Java interfaces, classes, and packages.
11623191
Mapping component specifications to Enterprise JavaBeans implementations
Component-based software development has become an important approach to building complex software systems. Much research focuses on component specification to achieve the advantages of the component-based approach in theory. Most of this research pays little attention to the mappings from component specifications to component implementations. However, the mappings are important because they determine whether the implementations perform satisfactorily to meet the specifications. After presenting a general approach to component specification and the technology of Enterprise JavaBeans (EJB) component model, this paper presents three approaches to mapping from component specification to EJB implementation. This paper uses a course registration system as an example to demonstrate the ideas. The approaches presented will be helpful to those who are working on the realizations of component systems.
1073181
Keeping Secrets within a Family: Rediscovering Parnas
David Parnas wrote several papers in the 1970’s and 1980’s that are now considered classics. The concepts he advocated such as information hiding and use of abstract interfaces are generally accepted as the appropriate way to design nontrivial software systems. However, not all of what he proposed has been fully appreciated and assimilated into our practices. Many of his simple, elegant ideas have been lost amongst the hype surrounding the technologies and methods that have arisen in the past two decades. This paper examines Parnas’s ideas, especially his emphasis on program families, and proposes that college-level computing science and software engineering curricula should renew their attention to these very important principles and techniques and present them in the context of contemporary software development.
1055574
BoxScript: a component-oriented language for teaching
As component-oriented approaches become increasingly pervasive in the development of complex software systems, it becomes increasingly important to introduce computing science students to appropriate programming concepts, languages and techniques. This paper describes the design of the component-oriented language BoxScript, which seeks to address the needs of teachers and students for a clean, simple language. This paper first enumerates the principles applied in the language design and then presents the key concepts and features of BoxScript. The paper illustrates the language features by using an example and by comparing it with several other component-oriented programming languages.
11844078
Customized Benchmark Generation Using MDA
This paper describes an approach for generating customized benchmark applications from a software architecture description using a Model Driven Architecture (MDA) approach. The benchmark generation and performance data capture tool implementation is based on widely used open source MDA frameworks. The business logic of the benchmark application is modeled in UML and generated by taking advantage of the existing generation "cartridges" so that the current component technology can be exploited in the benchmark. This greatly reduces the effort and expertise needed for benchmarking with complex component technology. We have also extended the MDA framework to model and generate a load testing suite and automatic performance measurement infrastructure. The approach complements current model-based performance prediction and analysis methods by generating the benchmark application from the same application architecture that the performance models are derived from. This provides the potential for tightly integrating runtime performance measurement with model-based prediction either for model validation or improving model prediction accuracy. We illustrate the approach using a case study based on EJB component technology.
28754515
3D Object-based Scalable Wavelet Video Coding with Boundary Effect Suppression
This paper extends the lifting-based motion threading technique from the frame-based coding to the object-based coding, attracted by the unique advantages of the object-based coding that do not exist in other coding schemes. The boundary effects, which exist in spatial and temporal wavelet transforms due to the manner of object-based coding, are well suppressed by 3D shape adaptive discrete wavelet transform (3D SA-DWT) via the lifting implementation in a unified framework. Based on the proposed object-based motion threading technique, a 3D object-based scalable wavelet video coder is developed. Experimental results show that the proposed coder achieves good performance compared with the existing object-based coders, and provides the scalability functionality at the same time.
39241507
Feature selection using a proximity-index optimization model
Abstract One of the recurring issues in pattern recognition problems has been feature extraction and selection. This paper addresses this issue from a different pespective. Without assuming any particular classificaiton algorithm, it first suggests that one extract as much information as conveniently possible in several pattern-information domains. This paper later suggests applying the proposed Proximity-Index method, to select a significantly smaller, yet optimal feature subset. This method is formally described and is successfully applied to a waveform classification problem. The features selected by the algorithm are used to classify ten signal classes and produce a very encouraging recognition performance of 87.00% on 200 samples. This method is computationally inexpensive and particularly useful for large data set problems.
14501514
Semi-supervised Multi-label Learning by Constrained Non-negative Matrix Factorization
We present a novel framework for multi-label learning that explicitly addresses the challenge arising from the large number of classes and a small size of training data. The key assumption behind this work is that two examples tend to have large overlap in their assigned class memberships if they share high similarity in their input patterns. We capitalize this assumption by first computing two sets of similarities, one based on the input patterns of examples, and the other based on the class memberships of the examples. We then search for the optimal assignment of class memberships to the unlabeled data that minimizes the difference between these two sets of similarities. The optimization problem is formulated as a constrained Non-negative Matrix Factorization (NMF) problem, and an algorithm is presented to efficiently find the solution. Compared to the existing approaches for multi-label learning, the proposed approach is advantageous in that it is able to explore both the unlabeled data and the correlation among different classes simultaneously. Experiments with text categorization show that our approach performs significantly better than several state-of-the-art classification techniques when the number of classes is large and the size of training data is small.
12295885
Classification-Driven Pathological Neuroimage Retrieval Using Statistical Asymmetry Measures
This paper reports our methodology and initial results on volumetric pathological neuroimage retrieval. A set of novel image features are computed to quantify the statistical distributions of approximate bilateral asymmetry of normal and pathological human brains. We apply memory-based learning method to find the most-discriminative feature subset through image classification according to predefined semantic categories. Finally, this selected feature subset is used as indexing features to retrieve medically similar images under a semantic-based image retrieval framework. Quantitative evaluations are provided.