Results 1 -
8 of
8
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 well-defined syntax makes processing amenable to automation. We present specification matching as a method for ..."
Abstract
-
Cited by 30 (3 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 well-defined 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 order-sorted 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 natural-language 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 16 (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 Knowledge-Based 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 well-defined syntax makes processing amenable to automation. This paper presents an approach, based on formal ..."
Abstract
-
Cited by 11 (2 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 well-defined syntax makes processing amenable to automation. This paper presents an approach, based on formal methods, to the modification of reusable software components. From a two-tiered 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...
Dynamically-Typed Computations for Order-Sorted 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 order-sorted 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 order-sorted 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
- IEEE Transactions on Knowledge and Data Engineering
, 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 well-defined syntax makes processing amenable to automation. This paper presents an approach, based on formal ..."
Abstract
-
Cited by 8 (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 well-defined 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 two-tiered 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. Keywords: Software reuse, formal methods, analogical reasoning, program modifica...
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 important ..."
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. 1 Introduction Modern computer algebra systems (e. g. AXIOM [12]) support many different types which correspond to mathematical structures. By the use of parameterized data types (also called type constructors) and of generic operators they can handle a variety of structures in a uniform way. If such a system is internally strongly typed...
Algebraic Semantics for Functional Logic Programming with Polymorphic Order-Sorted Types
, 1996
"... . In this paper we present the semantics of a functional logic language with parametric and order-sorted polymorphism. Typed programs consist of a polymorphic signature and a set of constructor-based 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 order-sorted polymorphism. Typed programs consist of a polymorphic signature and a set of constructor-based 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...
Termination of Order-Sorted Rewriting
"... We present a method for proving termination of order-sorted rewrite systems by transforming an order-sorted 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 order-sorted rewrite systems by transforming an order-sorted 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. 1 Introduction Order-sorted specifications, i. e. many-sorted specifications where the set of sorts is partially ordered, has been introduced to provide for a more powerful type concept, allowing us to express partiality of functions, error handling and subtype inheritance [GM88]. In languages like OBJ3 [GW88], order-sorted specifications have an operational semantics based on rewriting. One of the most important properties a rewrite system may have is termination, which means that no infinite computation can take place. Termination is especially important in completion procedures, and last b...

