Results 1  10
of
16
Multiprotocol web services for enterprises and the grid
 In Proceedings of the EuroWeb 2002 Conference on the Web and the
, 2002
"... ..."
(Show Context)
Efficient type matching
, 2001
"... Palsberg and Zhao [14] presented an O(n 2) time algorithm for matching two recursive types. In this paper, we present an O(n log n) algorithm for the same problem. Our algorithm works by reducing the type matching problem to the wellunderstood problem of finding a sizestable partition of a graph. ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
(Show Context)
Palsberg and Zhao [14] presented an O(n 2) time algorithm for matching two recursive types. In this paper, we present an O(n log n) algorithm for the same problem. Our algorithm works by reducing the type matching problem to the wellunderstood problem of finding a sizestable partition of a graph. Our result may help improve systems, such as Polyspin and Mockingbird, that are designed to facilitate interoperability of software components. We also discuss possible applications of our algorithm to Java. Issues related to subtyping of recursive types are also discussed.
Subtyping Recursive Types modulo Associative Commutative Products
 Seventh International Conference on Typed Lambda Calculi and Applications (TLCA ’05
, 2003
"... We study subtyping of recursive types in the presence of associative and commutative productsthat is, subtyping modulo a restricted form of type isomorphisms. We show that this relation, which we claim is useful in practice, is a composition of the usual subtyping relation with the recently propo ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
We study subtyping of recursive types in the presence of associative and commutative productsthat is, subtyping modulo a restricted form of type isomorphisms. We show that this relation, which we claim is useful in practice, is a composition of the usual subtyping relation with the recently proposed notion of equality up to associativity and commutativity of products, and we propose an efficient decision algorithm for it. We also provide an automatic way of constructing coercions between related types.
Efficient and Flexible Matching of Recursive Types
, 2000
"... Equality and subtyping of recursive types have been studied in the 1990s by Amadio and Cardelli; Kozen, Palsberg, and Schwartzbach; Brandt and Henglein; and others. Potential applications include automatic generation of bridge code for multilanguage systems and typebased retrieval of software m ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
(Show Context)
Equality and subtyping of recursive types have been studied in the 1990s by Amadio and Cardelli; Kozen, Palsberg, and Schwartzbach; Brandt and Henglein; and others. Potential applications include automatic generation of bridge code for multilanguage systems and typebased retrieval of software modules from libraries. Auerbach, Barton, and Raghavachari advocate a highly exible combination of matching rules for which there, until now, are no ecient algorithmic techniques. In this paper, we present an ecient decision procedure for a notion of type equality that includes unfolding of recursive types, and associativity and commutativity of product types, as advocated by Auerbach et al. For two types of size at most n, our algorithm decides equality in O(n 2 ) time. The algorithm iteratively prunes a set of type pairs, and eventually it produces a set of pairs of equal types. In each iteration, the algorithm exploits a socalled coherence property of the set of type pairs pr...
Efficient Algorithms for Isomorphisms of Simple Types
"... The first order isomorphism problem is to decide whether two nonrecursive types using product and functiontype constructors, are isomorphic under the axioms of commutative and associative products, and currying and distributivity of functions over products. We show that this problem can be solved ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
The first order isomorphism problem is to decide whether two nonrecursive types using product and functiontype constructors, are isomorphic under the axioms of commutative and associative products, and currying and distributivity of functions over products. We show that this problem can be solved in 2 is the input size. This result improves upon the space bounds of the best previous algorithm. We also describe an time algorithm for the linear isomorphism problem, which does not include the distributive axiom, whereby improving upon the time of the best previous algorithm for this problem.
Polylingual Systems: An Approach To Seamless Interoperability
, 1998
"... If software components are written in different programming languages, communication between the components can become problematic. The study of multilanguage interoperability attempts to bridge the communication barriers that arise between software components due to language differences. Many appro ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
If software components are written in different programming languages, communication between the components can become problematic. The study of multilanguage interoperability attempts to bridge the communication barriers that arise between software components due to language differences. Many approaches to multilanguage interoperability have been proposed and implemented, such as remote procedure calls, messagepassing, foreign type systems (e.g., CORBA), and databases with application programming interfaces for different languages. A significant shortcoming of such approaches is their lack of seamlessness, or transparency of interoperability. Components may require heavy modification in order to interoperate via these approaches; and...
Deciding Isomorphisms of Simple Types in Polynomial Time
, 2000
"... The isomorphisms holding in all models of the simply typed lambda calculus with surjective and terminal objects are well studied  these models are exactly the Cartesian closed categories. Isomorphism of two simple types in such a model is decidable by reduction to a normal form and comparison under ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
The isomorphisms holding in all models of the simply typed lambda calculus with surjective and terminal objects are well studied  these models are exactly the Cartesian closed categories. Isomorphism of two simple types in such a model is decidable by reduction to a normal form and comparison under a nite number of permutations (Bruce, Di Cosmo, and Longo 1992). Unfortunately, these normal forms may be exponentially larger than the original types so this construction decides isomorphism in exponential time. We show how using spacesharing/hashconsing techniques and memoization can be used to decide isomorphism in practical polynomial time (low degree, small hidden constant). Other researchers have investigated simple type isomorphism in relation to, among other potential applications, typebased retrieval of software modules from libraries and automatic generation of bridge code for multilanguage systems. Our result makes such potential applications practically feasible. 1
Respectful Type Converters For Mutable Types
 IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (TSE
, 1999
"... In converting an object of one type to another, we expect some of the original object's behavior to remain the same, and some to change. How can we state the relationship between the original object and converted object to characterize what information is preserved and what is lost after the ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
In converting an object of one type to another, we expect some of the original object's behavior to remain the same, and some to change. How can we state the relationship between the original object and converted object to characterize what information is preserved and what is lost after the conversion takes place? We answer this question by introducing the new relation, respects, and say that a type converter function K : A ! B respects a type T . We formally define respects in terms of the Liskov and Wing behavioral notion of subtyping; types A and B are subtypes of T. In previous work [11] we defined respects for immutable types A, B, and T; in this paper we extend our notion to handle conversions between mutable types. This extension is nontrivial since we need to consider an object's behavior as it varies over time. We present in detail two examples to illustrate our ideas: one for converting between PNG images and GIF images and another for converting between differen...
Mtypes and Their Coercions
, 1999
"... This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication.