Results 1 
9 of
9
Specification Matching for Software Reuse: A Foundation
 In Proceedings of the ACM Symposium on Software Reuse
, 1995
"... Using formal specifications to represent software components facilitates the determination of reusability because they more precisely characterize the functionality of the software, and the welldefined syntax makes processing amenable to automation. We present specification matching as a method for ..."
Abstract

Cited by 39 (3 self)
 Add to MetaCart
(Show Context)
Using formal specifications to represent software components facilitates the determination of reusability because they more precisely characterize the functionality of the software, and the welldefined syntax makes processing amenable to automation. We present specification matching as a method for classification, retrieval, and modification of reusable components. A software component is specified in terms of ordersorted predicate logic. For both components and methods, we consider not only exact match, but also relaxed match and logical match for performing specification matching over a library of reusable software components. 1 Introduction Software reuse has been claimed to be a means for overcoming the software crisis [1, 2]. However, current techniques to represent and manage software component libraries are not sufficient. Information retrieval methods based on analyses of naturallanguage documentation have been proposed [3, 4] for constructing software libraries. Unfortuna...
Inductionless Induction
, 1994
"... Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 A few words explaining the title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Some examples of the problem we are considering . . . . . . . . . . . . . . . . . . . ..."
Abstract

Cited by 21 (0 self)
 Add to MetaCart
Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 A few words explaining the title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Some examples of the problem we are considering . . . . . . . . . . . . . . . . . . . 3 1.3 Outline of the chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Formal background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1 Terms and clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Equational deduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Inductive theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.4 Constructors and sufficient completeness . . . . . . . . . . . . . . . . . . . . . . . . 8 2.5 Term Rewriting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.6 Standar
A Formal Approach to Reusing More General Components
 In IEEE 9th KnowledgeBased Software Engineering Conference
, 1994
"... Using formal specifications to represent software components facilitates the determination of reusability because they more precisely characterize the functionality of the software, and the welldefined syntax makes processing amenable to automation. This paper presents an approach, based on formal ..."
Abstract

Cited by 11 (2 self)
 Add to MetaCart
(Show Context)
Using formal specifications to represent software components facilitates the determination of reusability because they more precisely characterize the functionality of the software, and the welldefined syntax makes processing amenable to automation. This paper presents an approach, based on formal methods, to the modification of reusable software components. From a twotiered hierarchy of reusable software components, the existing components that are more general than the query specification are retrieved from the hierarchy. The specification for a more general retrieved component is compared to the query specification to determine what changes need to be applied to the corresponding program component in order to make it satisfy the query specification. This paper also describes an approach for assisting in the modification of more general components and gives an example to demonstrate its use. Keywords: software reuse, formal specifications, program adaptation and modification. 1 I...
DynamicallyTyped Computations for OrderSorted Equational Presentations (Extended Abstract)
 Proc. 21st International Colloquium on Automata, Languages, and Programming, volume 820 of Lecture Notes in Computer Science
, 1994
"... Equational presentations with ordered sorts encompass partially defined functions and subtyping information in an algebraic framework. In this work we address the problem of computing in ordersorted algebras, with very few restrictions on the allowed presentations. We adopt an algebraic framework w ..."
Abstract

Cited by 10 (8 self)
 Add to MetaCart
Equational presentations with ordered sorts encompass partially defined functions and subtyping information in an algebraic framework. In this work we address the problem of computing in ordersorted algebras, with very few restrictions on the allowed presentations. We adopt an algebraic framework where equational, membership and existence formulas can be expressed. A complete deduction calculus is provided to incorporate the interaction between all these formulas. The notion of decorated terms is proposed to memorize local sort information, dynamically changed by a rewriting process. A completion procedure for equational presentations with ordered sorts computes a set of rewrite rules with which not only equational theorems of the form (t = t 0 ), but also typing theorems of the for...
Reusing Analogous Components
, 1995
"... Using formal specifications to represent software components facilitates the determination of reusability because they more precisely characterize the functionality of the software, and the welldefined syntax makes processing amenable to automation. This paper presents an approach, based on formal ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
Using formal specifications to represent software components facilitates the determination of reusability because they more precisely characterize the functionality of the software, and the welldefined syntax makes processing amenable to automation. This paper presents an approach, based on formal methods, to the search, retrieval, and modification of reusable software components. From a twotiered hierarchy of reusable software components, the existing components that are analogous to the query specification are retrieved from the hierarchy. The specification for an analogous retrieved component is compared to the query specification to determine what changes need to be applied to the corresponding program component in order to make it satisfy the query specification. This paper also describes an approach for assisting the modification of analogous components and gives an example to demonstrate its use.
On Coherence in Computer Algebra
, 1993
"... Modern computer algebra systems (e. g. AXIOM) support a rich type system including parameterized data types and the possibility of implicit coercions between types. In such a type system it will be frequently the case that there are different ways of building coercions between types. An importa ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
Modern computer algebra systems (e. g. AXIOM) support a rich type system including parameterized data types and the possibility of implicit coercions between types. In such a type system it will be frequently the case that there are different ways of building coercions between types. An important requirement is that all coercions between two types coincide, a property which is called coherence. We will prove a coherence theorem for a formal type system having several possibilities of coercions covering many important examples. Moreover, we will give some informal reasoning why the formally defined restrictions can be satisfied by an actual system.
Algebraic Semantics for Functional Logic Programming with Polymorphic OrderSorted Types
, 1996
"... . In this paper we present the semantics of a functional logic language with parametric and ordersorted polymorphism. Typed programs consist of a polymorphic signature and a set of constructorbased conditional rewriting rules for which we define a semantic calculus. The denotational semantics of t ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
. In this paper we present the semantics of a functional logic language with parametric and ordersorted polymorphism. Typed programs consist of a polymorphic signature and a set of constructorbased conditional rewriting rules for which we define a semantic calculus. The denotational semantics of the language is based on Scott domains interpreting constructors and functions by monotonic and continuous mappings, respectively, in every instance of the declared type. We prove initiality results for the free ground term algebra. We also prove that the free term algebra with variables is freely generated in the category of models. The semantic calculus is proved to be sound and complete w.r.t. the denotational semantics. As in logic programming, we define the immediate consequence operator, proving that the Hebrand model is the least model of a program. 1 Introduction Type systems have been traditionally considered in functional languages and incorporated as an extension to logic program...
Abstract Specification Matching for Software Reuse: A Foundation*
"... jjeng(l)seas.gwu. edu chengb(lcps.msu. edu Using formal specifications to represent software components facilitates the determination of reusability because they more precisely characterize the functionality of the software, and the welldefined syntax makes processing amenable to automation. We ..."
Abstract
 Add to MetaCart
jjeng(l)seas.gwu. edu chengb(lcps.msu. edu Using formal specifications to represent software components facilitates the determination of reusability because they more precisely characterize the functionality of the software, and the welldefined syntax makes processing amenable to automation. We present specification matching as a method for classification, retrieval, and modification of reusable components. A software component is specified in terms of ordersorted predicate logic. For both components and methods, we consider not only exact match, but also relaxed match and logical match for performing specification matching over a library of reusable software components. 1
Termination of OrderSorted Rewriting
"... We present a method for proving termination of ordersorted rewrite systems by transforming an ordersorted rewrite system into an unsorted one such that termination of the latter implies termination of the ordersorted system. The method is inspired by ideas of Gnaedig and Ganzinger and contains as ..."
Abstract
 Add to MetaCart
We present a method for proving termination of ordersorted rewrite systems by transforming an ordersorted rewrite system into an unsorted one such that termination of the latter implies termination of the ordersorted system. The method is inspired by ideas of Gnaedig and Ganzinger and contains as special cases the method presented in [Gn92a] and the method that simply ignores sort information.