A Survey of Software Development with Open Source Components in Chinese Software Industry
Chinese software companies are increasingly using Open Source Software (OSS) components in system development. Integrating such components into new software systems leads to challenges related to component selection, component integration and testing, licensing compliance, and system maintenance. Although these issues have been investigated industrially in other countries, few state-of-the-practice studies have so far been performed in China and with a representative subset of software companies. It is therefore difficult for Chinese software companies to be aware of special issues, or to plan improvement of OSS-related processes. This paper describes a questionnaire-based survey in Chinese software companies of software development with existing OSS components. Data from 47 finished development projects in 43 companies have been collected. The results show that use of web search engines was the most common method to locate OSS components. Local expertise combined with requirements compliance was the most decisive factors when choosing an identified component. To avoid legal exposure, the common strategy was to use components without licensing constraints. About 84% of the components needed bug fixing or other code changes, rarely relies on support from the OSS community. However, close participation with the OSS community was rare, although most developers meant that this was important.

title: Observations on versioning of off-the-shelf components in industrial projects (short paper)
abstract: Using OTS (Off-The-Shelf) components in software projects has become increasing popular in the IT industry. After project managers opt for OTS components, they can decide to use COTS (Commercial-Off-The-Shelf) components or OSS (Open Source Software) components. We have done a series of interviews and surveys to document and understand industrial practice with OTS-based development in Norwegian, German, and Italian IT industry. The perspective is that of a software architect or system integrator, not a developer or maintainer of such components. The study object is a completed development project using one or several OTS components. This paper reports on the versioning aspects of OTS components in such projects. We found that one third of the COTS components actually provided source code, in addition to all OSS components. However, OTS components were seldom modified (i.e. re-used "as-is"), even if source code was available. Although backward compatibility of new releases did not cause noticeable problems for a single OTS component, using several different OTS components in a project caused difficulties in maintenance planning of asynchronous releases and system integration of new releases. Several new research questions have been formulated based on the results of this study.

title: An Empirical Study on Off-the-Shelf Component Usage in Industrial Projects
abstract: Using OTS (Off-The-Shelf) components in software projects has become increasing popular in the IT industry. After project managers opt for OTS components, they can decide to use COTS (Commercial-Off-The-Shelf) components or OSS (Open Source Software) components instead of building these themselves. This paper describes an empirical study on why project decision-makers use COTS components instead of OSS components, or vice versa. The study was performed in form of an international survey on motivation and risks of using OTS components, conducted in Norway, Italy and Germany. We have currently gathered data on 71 projects using only COTS components and 39 projects using only OSS components, and 5 using both COTS and OSS components. Results show that both COTS and OSS components were used in small, medium and large software houses and IT consulting companies. The overall software system also covers several application domains. Both COTS and OSS were expected to contribute to shorter time-to-market, less development effort and the application of newest technology. However, COTS users believe that COTS component should have good quality, technical support, and will follow the market trend. OSS users care more about the free ownership and openness of the source code. Projects using COTS components had more difficulties in estimating selection effort, following customer requirement changes, and controlling the component's negative effect on system security. On the other hand, OSS user had more difficulties in getting the support reputation of OSS component providers.

title: Electronic Homework on the WWW
abstract: This paper presents the design of an Intelligent Tutoring System (ITS) MathEH, that is a coached problem solving system, also called "Electronic Homework". In describing the main modules of the system, we emphasize its novel aspects: (1). Using Constraint Logic Programming (CLP) as the domain knowledge representation and automatic reasoning mechanism. (2). A method for probability propagation in Bayesian networks to achieve two adversary requirements: exact probability computation and real-time response. (3). The design decisions about how to deploy MathEH on the WWW.

title: Validation of New Theses on Off-the-Shelf Component Based Development
abstract: Using OTS (Off-The-Shelf) components in software development has become increasingly popular in the IT industry. OTS components can be either COTS (Commercial-Off-The-Shelf), or OSS (Open-Source-Software) components. A recent study with seven structured interviews concluded with six theses, which contradicted widely accepted (or simply undisputed) insight. Since the sample size of that study was very small, it is necessary to investigate these theses in a larger and randomized sample. A state-of-the-practice survey in three countries — Norway, Italy, and Germany — has been performed to validate these new theses. Data from 133 OTS component-based projects has been collected. Results of this survey support four and contradict two of the initial theses. The supported theses are: OSS components were mainly used without modification in practice; custom code mainly provided additional functionality; formal OTS selection processes were seldom used; OTS component users managed to get required changes from vendors. The unsupported theses are: standard mismatches were more frequent than architecture mismatches; OTS components were mainly selected based on architecture compliance instead of function completeness.

title: An Empirical Study of Variations in COTS-based Software Development Processes in Norwegian IT Industry

title: Groups of connected objects

title: Ontology-Based Clustering and Routing in Peer-to-Peer Networks
abstract: How to improve the performance of content searching in peer-to-peer (P2P) systems is a challenging issue. In this paper we attack this problem by proposing a new decentralized P2P architecture – ontology-based community overlays. The system exploits the semantic property of the content in the network to cluster nodes sharing similar interest together to improve the query and searching performance. Specifically, a distributed hash table (DHT) based overlay is constructed to assist peers organizing into communities. Those peers in the same community form a Gnutella-like unstructured overlay. This architecture helps reduce the search time and decrease the network traffic by minimizing the number of messages propagated in the system. Moreover, it retains the desirable properties of existing unstructured architectures, including being fully decentralized with loose structure, and supporting complex queries. We demonstrate by simulation, that with this architecture, peers can get more relevant resources faster and with less traffic generated.

title: Incorporating Legacy System into Semantic Grid Framework
abstract: The semantic grid is an extension of the current grid. Resources description framework (RDF) can be used to extend the current grid into semantic grid in which information and services are given well-defined meaning. This paper proposed an approach to recognizing the reusable components from the legacy system and representing these components by using XML and RDF, which could be performed for incorporating legacy system components into the semantic grid framework

title: A grid oriented approach to reusing legacy code in ICENI framework
abstract: Legacy systems are valuable assets for organisations. They continuously evolve with new emerged technologies in rapidly changing business environment. ICENI provided an excellent grid middleware framework for developing grid-based systems. It creates an opportunity for legacy systems to evolve in grid environment. In this paper, we propose a component-based reengineering approach which applies software clustering techniques and program slicing techniques to recover components from legacy systems. It supports component encapsulation with JNI and component integration with CXML. The resulting components with core legacy code function in grid environment.

title: Product accumulate codes: a class of codes with near-capacity performance and low decoding complexity
abstract: We propose a novel class of provably good codes which are a serial concatenation of a single-parity-check (SPC)-based product code, an interleaver, and a rate-1 recursive convolutional code. The proposed codes, termed product accumulate (PA) codes, are linear time encodable and linear time decodable. We show that the product code by itself does not have a positive threshold, but a PA code can provide arbitrarily low bit-error rate (BER) under both maximum-likelihood (ML) decoding and iterative decoding. Two message-passing decoding algorithms are proposed and it is shown that a particular update schedule for these message-passing algorithms is equivalent to conventional turbo decoding of the serial concatenated code, but with significantly lower complexity. Tight upper bounds on the ML performance using Divsalar's (1999) simple bound and thresholds under density evolution (DE) show that these codes are capable of performance within a few tenths of a decibel away from the Shannon limit. Simulation results confirm these claims and show that these codes provide performance similar to turbo codes but with significantly less decoding complexity and with a lower error floor. Hence, we propose PA codes as a class of prospective codes with good performance, low decoding complexity, regular structure, and flexible rate adaptivity for all rates above 1/2.