10134807
A semidefinite programming approach to tensegrity theory and realizability of graphs
Recently, Connelly and Sloughter [14] have introduced the notion of d-realizability of graphs and have, among other things, given a complete characterization of the class of 3-realizable graphs. However, their work has left open the question of finding an algorithm for realizing those graphs. In this paper, we resolve that question by showing that the semidefinite programming (SDP) approach of [11, 32] can be used for realizing 3-realizable graphs. Specifically, we use SDP duality theory to show that given a graph G and a set of lengths on its edges, the optimal dual multipliers of a certain SDP give rise to a proper equilibrium stress for some realization of G. Using this result and the techniques in [14, 31], we then obtain a polynomial time algorithm for (approximately) realizing 3-realizable graphs. Our results also establish a little-explored connection between SDP and tensegrity theories and allow us to derive some interesting properties of tensegrity frameworks.
9107374
Market equilibria for homothetic, quasi-concave utilities and economies of scale in production
Eisenberg and Gale (1959) gave a convex program for computing market equilibrium for Fisher's model for linear utility functions, and Eisenberg (1961) generalized this to concave homogeneous functions of degree one. We further generalize to:1. Homothetic, quasi-concave utilities. This also helps extend Eisenberg's result to concave homogeneous functions of arbitrary degree.2. We introduce the notion of a trading cone which enables us to compute market equilibrium in the presence of economies of scale in production provided differential pricing is allowed. Applications to network pricing are provided.
44474419
On the complexity of approximating a KKT point of quadratic programming
We present a potential reduction algorithm to approximate a Karush—Kuhn—Tucker (KKT) point of general quadratic programming (QP). We show that the algorithm is a fully polynomial-time approximation scheme, and its running-time dependency on accuracy ε ∈ (0, 1) is O((l/ε) log(l/ε) log(log(l/ε))), compared to the previously best-known result O((l/ε)2). Furthermore, the limit of the KKT point satisfies the second-order necessary optimality condition of being a local minimizer. © 1998 The Mathematical Programming Society, Inc. Published by Elsevier Science B.V.
17936055
An Empirical User Study of an Active Reuse Repository System
This paper reports an empirical user study of an active reuse repository system. Instead of waiting passively for software developers to initiate the component location process with a well-defined reuse query, active reuse repository systems infer reuse queries from syntactic and semantic cues present in partially constructed programs in development environments, and proactively deliver components that match the inferred reuse queries. The reported empirical user study of an implemented active reuse repository system called CodeBroker shows that active repository systems promote reuse by motivating and enabling software developers to reuse components whose existence is not anticipated, and reducing the cost of reuse through the automation of the component location process.
8137126
An active and adaptive reuse repository system
Although software reuse repository systems have been an active research area for more than a decade, one important aspect has not been given enough attention: if software developers make no attempt to reuse, repository systems offer no help and reuse will not happen. Active information delivery, which presents information without being given explicit queries can motivate software developers to reuse. Critical challenges for active delivery systems are the contextualization of delivered information to the development task, and the adaptation of the information to each developer. This paper discusses how to address these challenges and demonstrates the feasibility of implementation through a prototype system.
1476378
Toward an understanding of the motivation of open source software developers
An Open Source Software (OSS) project is unlikely to be successful unless there is an accompanied community that provides the platform for developers and users to collaborate. Members of such communities are volunteers whose motivation to participate and contribute is of essential importance to the success of OSS projects. In this paper, we aim to create an understanding of what motivates people to participate in OSS communities. We theorize that learning is one of the motivational forces. Our theory is grounded in the learning theory of Legitimate Peripheral Participation, and is supported by analyzing the social structure of OSS communities and the co-evolution between OSS systems and communities. We also discuss practical implications of our theory for creating and maintaining sustainable OSS communities as well as for software engineering research and education.
18302519
Dynamic community: a new conceptual framework for supporting knowledge collaboration in software development
Software development is a knowledge intensive activity and software developers are knowledge workers. Knowledge needed for software development is often distributed among different developers. Supporting efficient knowledge collaboration and transfer is thus essential for software development organizations to remain competitive. This paper proposes a new theory /sub y/namic community to support knowledge collaboration and discusses its application in software development. Dynamic community integrates the traditional knowledge management approach in which knowledge is formalized and accumulated in knowledge repositories, and the community-based knowledge collaboration approach in which knowledge is transferred through informal community participation and human contacts. The dynamic community theory takes into full consideration individual knowledge workers' ever-changing needs for new knowledge as well as the role of social relationship of knowledge workers in effective knowledge collaboration. This paper introduces the dynamic community theory, a general system architecture of sociotechnical environments in support of dynamic community, and its application in software development.
1538182
Information delivery in support of learning reusable software components on demand
An inherent dilemma exists in the design of high-functionality applications (such as repositories of reusable software components). In order to be useful, high-functionality applications have to provide a large number of features, creating huge learning problems for users. We address this dilemma by developing intelligent interfaces that support learning on demand by enabling users to learn new features when they are needed during work. We support learning on demand with information delivery by identifying learning opportunities of which users might not be aware. The challenging issues in implementing information delivery are discussed and techniques to address them are illustrated with the CodeBroker system. CodeBroker supports Java programmers in learning reusable software components in the context of their normal development environments and practice by proactively delivering task-relevant and personalized information. Evaluations of the system have shown its effectiveness in supporting learning on demand.