| Rollings, E., and Wing, J., 1991, "Specifications as Search Keys for Software Libraries," Proceedings of the 8th International Conference on Logic Programming. |
....between the abstract classes, i.e. window, canvas, tool palette, menu bar and widget, define the essential architecture of all GUI applications permissible using such a framework. Most existing approaches for software reuse assume a bottom up component assembly paradigm, for ex ample, see [10, 12, 5, 11, 13]. We believe that such ap proaches would be successful only if the components under consideration are more or less self contained (such as large software modules) where one does not have to modify (say, by sub classing) an existing com ponent for reusing it. However, reusing components of the ....
....reuse emphasize the problem of finding a suitable component fitting the need. They are extracting one component at a time. Faceted classification scheme [12] class hierarchy browsers [10] lexical affinity based information retrieval [11] and using specifications of components as search keys [5, 13] are examples. However, there are two major drawbacks with these approaches: Reusing one component at a time implies that there is no support for understanding (possibly hidden) dependencies between components. Often times, there may be subtle dependencies (such as components which could only ....
E J. Rollins and J.M. Wing. Specifications as search keys for software libraries. In Proceedings of 8th International Conference Logic Programming, 1991.
....is often necessary to specify the pre and post conditions of the code required. These conditions can be used to search code in a data base of candidate reuse components. The pre and post condition search approach to reuse was first suggested by Katz et al. 34] Perry [45] and Rollins and Wing [46]. A survey of the approach is presented by Mili [38] Systems which automate the search for such components typically use theorem proving to find possible matches [39, 44] Unfortunately, in some cases there may be no exact match, but there may be several components which represent near matches. ....
ROLLINS, E. J., AND WING, J. M. Specifications as search keys for software libraries. In Proceedings of the 8th International Conference on Logic Programming (June 1991), K. Furukawa, Ed., MIT Press, pp. 173--187.
....a well defined logical relation, e.g. if the component has a weaker precondition and a stronger postcondition than the search key. From this matching relation a proof task is constructed and an ATP is used to establish (or disprove) the match. This approach has been proposed before (e.g. [28, 20]) but without convincing success because essential user requirements have been neglected. In this paper we follow a more user oriented approach and describe steps for making deduction based SCR practical. We concentrate on deduction based SCR because it is the key technique which underlies more ....
....as in the model checking experiments, revealing quite different retrieval results for the various queries. Since SETHEO s proof procedure is sound, all solved proof tasks correspond to matches, hence the precision is 100 . 8. Related Work Most early publications on deduction based SCR (e.g. [20, 28, 14]) were mainly concerned with general conceptual issues and ignored the usability and scaling problems. We will thus discuss only more recent related work. Zaremski and Wing [34] have investigated specification matching in a slightly more general framework but their main application area is also ....
E. J. Rollins and J. M. Wing. Specifications as search keys for software libraries. In Proc. 8th Intl. Conf. Symp. Logic Programming, pp. 173--187, 1991. MIT Press.
....post conditions to guide complex system design but also to retrieve component implementations in a systematic way. Successors of this proposal then enhanced the practicality of systematic software retrieval. A software retrieval tool that may be used in any development environment is presented in (Rollins and Wing 1991). This capacity is further enhanced in (Zaremski and Wing 1997) which provides a framework to support the definition of various refinement relations. Efficiency of software retrieval is addressed in (Mili et al. 1997) which proposes to organize the software database according to a refinement ....
Rollins E. J. and Wing J. M. (1991) Specifications as Search Keys for Software Libraries. Proceedings of the 8th International Conference on Logic Programming, pages 173-187.
....bodies of clauses. The combination of these two extensions provides a rich notion of dynamic scoping, which adresses important issues in as various fields as theorem proving [6, 18, 5] deductive databases [3] natural language processing [19, 17, 7] type inference [5, 20] software engineering [21] and modularity in logic programming [13] However, the concrete use of Hereditary Harrop formulas has too often been limited by its restriction to a top down evaluation strategy, described for instance in [16, 18, 10] Works in natural language processing, notably Pereira s semantic ....
Eugene J. Rollins and Jeannette M. Wing. Specifications as search keys for software libraries. In Koichi Furukawa, editor, Proceedings of the 8 th International Conference on Logic Programming, pages 173--187, 1991.
....well as queries [14, 18, 19, 21] For instance, the function that reverses lists has the type 8ff: ff] ff] and there are few common functions of this type, since they cannot examine the list elements. Some retrieval systems allow the query to be a type augmented with a formal specification [4, 16, 20]. I have developed a retrieval system based purely on types [18, 19] it has become popular in the Lazy ML community at Chalmers. This article describes how the system was improved by using unification modulo type isomorphism. 1.1 Isomorphic types In my previous papers [18, 19] I wanted to ....
....3 Experiments with equational unification When we retrieve library functions via types, it is reasonable to allow instantiation of library types, since a polymorphic library function can be used in a less general context. Some retrieval systems also allow unrestricted instantiation of the query [14, 20, 21], but this can be slow and too permissive. We can give the user some control over query instantiation if the queries are formulated explicitly by him (rather than derived from examples, say) A query variable can then either express polymorphism or an unknown subtype, and only in the latter case ....
E. J. Rollins and J. M. Wing. Specifications as search keys for software libraries. In K. Furukawa, editor, Eighth Int. Conf. on Logic Programming, pages 173-- 187. MIT Press, 1991.
....tools. For instance, a Prolog based tool supporting software reuse was developed by a Fujitsu team [200] The tool allowed the retrieval of software modules from a module library. Specification of software modules were formalized using first order predicate logical formulae. Similarly, in [159] a high order logic language, Lambda Prolog, was used as query language for searching through program libraries (written in ML) using specification matching. Lambda Prolog was chosen for its higher order theorem proving capabilities useful in specification matching driven by the user. A more ....
.... 56, 71, 82, 98, 99, 104, 115, 120, 133, 148, 170, 176, 177, 179, 188, 197] Design [8, 4, 38, 44, 63, 106, 109, 118, 147, 160, 162, 202] Editing and Compiling [10, 18, 48, 36, 78, 158, 136, 150, 194] Debugging and testing [21, 42, 46, 59, 67, 74, 76, 81, 92, 123, 154, 181] Maintenance and Reuse [23, 25, 26, 29, 30, 31, 66, 79, 110, 117, 193, 201, 7, 60, 93, 135, 142, 159, 174, 200] Figure 4: A classification of the projects and tools cited in this paper IF start working context THEN CALL(working context,R,W,X,Doc Type,Doc Name, New Status,Item) REMOVE(document(Doc Type,Doc Name, INSERT(document(Doc Type, Doc Name, New Status) REMOVE(start working context) IF ....
E. Rollins and J. Wing. Specifications as Search Keys for Software Libraries. In K. Furukawa, editor, Proc. 8th Int. Conf. on Logic Programming, pages 173--187, Paris, 1991. MIT Press, Cambridge, MA.
....et al. 1991; Prieto D iaz, 1991) but these methods are informal because they rely only on the meaning conveyed by words. As a more exact alternative, the application of formal specification methods to software libraries has been investigated, starting with (Katz et al. 1987; Perry, 1989; Rollins and Wing, 1991). The general idea is quite simple. Each component is associated with a formal specification which captures its relevant behavior. Any desired relation between two c fl 1999 Kluwer Academic Publishers. Printed in the Netherlands. fischer.tex; 9 08 1999; 17:16; p.1 2 Bernd Fischer components ....
Rollins, E. J. and J. M. Wing: 1991, `Specifications as Search Keys for Software Libraries'. In: K. Furukawa (ed.): Proc. 8th Intl. Conf. Symp. Logic Programming. Paris, pp. 173--187.
....the query predicate, as well as predicates that are weaker or stronger. The VCR 20 system [1] uses implicit VDM specifications as queries for retrieval of software components. The search mechanism used searches for components with weaker preconditions and stronger postconditions. Rollins and Wing [12] describe a system, implemented in Prolog similar to our substitution matching , which is used to match Larch specifications. The search mechanism looks for specifications with weaker preconditions and stronger postconditions. A restricted form of specification matching is signature matching ....
E.J. Rollins and J.M. Wing. Specifications as search keys for software libraries. In Eighth International Conference on Logic Programming, pages 173--187. 1991.
....1. Classification based schemes: Keyword, faceted[25] and feature[3] classification schemes all seek relevant components using controlled vocabularies, properties and ontologies external to the component; 2. Structural schemes: Structural schemes, notably signature[29] and specification matching[14, 26, 30], seek relevant components using their structural characteristics; 3. Behavioural schemes: Behavioural retrieval schemes seek to take advantage of a distinguishing property of software: it s executability. 2 Behaviour based schemes[1, 21, 12] seek relevant components by comparing input and ....
....since the surrogate returned has a weaker precondition for operation join and all the predicates of the returned surrogate have been transformed from the way they were phrased in the query. 24 Some implementations of specification matching schemes appear in the literature. Rollins and Wing[26] use higher order unification in a Prolog dialect called Prolog. Fischer et. al[10] present a specification matching implementation using specifications written in the VDM[16] specification language. Mili and Mittermeir[20] present a system implemented using a theorem prover called Otter to ....
E. J. Rollins and J. M. Wing. Specifications as search keys for software libraries: A case study using lambda prolog. Technical Report CMU-CS-90-159, Carnegie Mellon University, School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213-3890, September 1990.
....faceted[22] and feature based[3] classification techniques all seek to find relevant components based upon controlled vocabularies, properties and ontologies external to the component; 2. Internal Static Indices: Structural matching techniques, notably signature[25] and specification matching[12, 23], seek to find relevant components based upon elements of the structure of software components; 3. Internal Dynamic Indices: Behavioural retrieval techniques seek to take advantage of the distinguishing property of software executability. Behaviourbased techniques[1, 18, 10] seek to find ....
....to guide the sequence of adaptations to the actual component code. Signature matching retrieval schemes are one of a number of retrieval methods based upon internal, static properties of software components. Other such retrieval methods include specification matching using higher order unification[23] and specification matching using order sorted logics[13] which build upon signature matching but also match using pre and post condition assertions of components. 5 Behavioural Retrieval In this section a formal model for behavioural retrieval is presented. The model is based upon the schemes ....
E. J. Rollins and J. M. Wing. Specifications as search keys for software libraries: A case study using lambda prolog. Technical Report CMU-CS-90-159, Carnegie Mellon University, School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213-3890, September 1990.
....the desired component in some sense. The strictest form of matching is referred to as exact matching, where the specifications are essentially the same (up to renaming of bound variables) Other forms of specification matching can be viewed as a relaxation of exact matching. Rollins and Wing [19] show how specification matching can be done on components with Larch like pre and post condition specifications. The sys5 tem is implemented in Prolog, a higher order Prolog , and as such the built in unification can be exploited to implement the specification matching. The authors note however ....
E.J. Rollins and J.M. Wing. Specifications as search keys for software libraries. In K. Furukawa, editor, Eighth International Conference on Logic Programming, pages 173--187. MIT Press, 1991.
.... supporting code reuse [18, 23] more recently, there has been a great deal of interest in system design by composition of components at an abstract level of system architecture [26, 4, 24] or design [4, 3] The parameterised approach described here seems especially useful and widely applicable [7, 29]. We hope to pursue this area of research to support system design and construction through an extension of hidden parameterised programming to allow composition of modules with levels for code, specification, documentation and correctness proofs, perhaps using the toor hypermedia tool [25] to ....
Eugene Rollins and Jeannette Wing. Specifications as search keys for software libraries. In Proceedings, International Conference on Logic Programming, 1991.
....largely due to the extensive use of techniques of logic programming. An example of such scenarios is given by the fact that programs are stored alongside with their specifications and designs. This database of programs permits search by specification written in the Horn syntax [5] 6] [7]. If the system is coupled with suitable code generation techniques, it is then able to support generative reuse, source code reuse, design reuse and specification reuse [3] Towards the end of the paper, we argue that it is possible to devise a metric to measure the goodness of any ....
E. J. Rollins, J. M. Wing, Specifications as Search Keys for Software Libraries, Proceedings of the Eighth International Conference on Logic Programming, p173, MIT Press, 1991.
....logical relation, e.g. if the component has a weaker precondition and a stronger postcondition than the search key. From this matching relation a proof task is constructed and an ATP is used to establish (or disprove) the match. This approach has been proposed before (e.g. KRT87, Per87, RW91, MM91, MMM94, MW95] but without convincing success because essential user requirements have been neglected. In this NORA is no real acronym, HAMMR is a highly adaptive multi method retrieval tool. y This work is supported by the DFG within the Schwerpunkt Deduktion (grant Sn11 2 3) the ....
E. J. Rollins and J. M. Wing. "Specifications as Search Keys for Software Libraries". In K. Furukawa, (ed.), Proc. 8th Intl. Conf. Symp. Logic Programming, pp. 173--187, Paris, June 24-28 1991. MIT Press.
....1 Background Reuse by contract is the application of formal methods to software reuse: software components are associated with contracts formal models of their functional behaviour and administered, retrieved, and reused by these. Similar approaches have been proposed before (e.g. KRT87, RW91, MM91] but without convincing success. The goal of our project NORA HAMMR 1 [FKS95c, FKS95b, FKS95a] is thus to make reuse by contract practical. We investigate ffl scalable and efficient architectures for reuse by contract, ffl reuse friendly specification techniques, ffl library ....
....accordingly. Similarly, LW94] define the notion of behavioral subtype as an extended means to organize class libraries and [Lea91] has developed techniques to support the specification and verification of object oriented programs. Deductive component retrieval has also been investigated by [RW91] which used Prolog to specify the components and its built in higher order unification as retrieval mechanism. Moorman Zaremski and Wing [MW95] were the first to explore different match relations; our own work (cf. section 2.2) expands on their results. They also introduced the use of a real ....
E. J. Rollins and J. M. Wing. "Specifications as Search Keys for Software Libraries". In K. Furukawa, (ed.), Proc. 8th Intl. Conf. Symp. Logic Programming, pp. 173--187, Paris, June 24-28 1991. MIT Press.
....are informal because they rely only on the meaning conveyed by words. This work is supported by the DFG within the Schwerpunkt Deduktion , grant Sn11 2 3. As a more exact alternative, the application of formal specification methods to software libraries has been investigated, starting with [10, 23, 25]. The general idea is quite simple. Each component is indexed with a formal specification which captures its relevant behavior. Any desired relation between two components (e.g. refinement or matching) is expressed by a logical formula composed from the indices. An automated theorem prover is ....
E. J. Rollins and J. M. Wing. Specifications as search keys for software libraries. In K. Furukawa, editor, Proc. 8th Intl. Conf. Symp. Logic Programming, pages 173--187, Paris, June 24-28 1991. MIT Press.
.... 7 Related Work Other work on specification matching has focused on using a particular match definition for retrieval of software components (usually functions) Rollins and Wing proposed the idea of function specification matching and implemented a prototype system in Prolog using plug in match [25]. Prolog does not use equational reasoning, and so the search may miss some functions that match a query but require the use of equational reasoning to determine that they match. The VCR retrieval system [5] uses plug in match with VDM as the specification language. The focus of this work is on ....
Rollins, E. J., and Wing, J. M. Specifications as search keys for software libraries. In Proc. of the 8 th Intl. Conference on Logic Programming (June 1991).
.... Work Other work on specification matching has focused on using one or two particular match definitions for retrieval of software components (usually functions) Rollins and Wing proposed the idea of function specification matching and implemented a prototype system in Prolog using plug in match [RW91] Prolog does not use equational reasoning, and so the search may miss some functions that match a query but require the use of equational reasoning to determine that they match. The VCR retrieval system [FKS94] uses plug in match with VDM as the specification language. The focus of this work is ....
Eugene J. Rollins and Jeannette M. Wing. Specifications as search keys for software libraries. In Proc. of the 8 th Intl. Conference on Logic Programming, June 1991.
....Toyn [RT89] assume that queries are constructed by example or by inference from context of use. They use queries to generate a set of keys, performing various operations on the set to permit more efficient search. The match they ultimately perform is similar to our unify match. Rollins and Wing [RW91] also implemented a system in Lambda Prolog that includes the equivalent of match reorder ffi match uncurry . They also extended signature matching to perform a restricted kind of specification matching (Section 6) Our work is unique in two ways. First, we have identified a small set of ....
Eugene J. Rollins and Jeannette M. Wing. Specifications as search keys for software libraries. In Proceedings of the Eighth International Conference on Logic Programming, June 1991.
....would be an unacceptably high price to pay. However, given a sufficiently restricted specification and query language, it is possible to do specification matching automatically. As a feasibility study, we recently experimented with using Prolog [7] to show the use of specifications as search keys [10]. Our implementation encodes both LSL traits and Larch interfaces into Prolog clauses. We used our Prolog version of Larch as a specification language to describe a toy library of ML functions. We relied on Prolog s built in higher order unifier to do the satisfies check for free (i:e: no ....
E.R. Rollins and J.M. Wing. Specifications as search keys for software libraries. In Proceedings of the Eighth International Conference on Logic Programming, Paris, June 1991.
No context found.
Rollings, E., and Wing, J., 1991, "Specifications as Search Keys for Software Libraries," Proceedings of the 8th International Conference on Logic Programming.
No context found.
Rollins, E. & Wing, J. (1991), Specifications as search keys for software libraries, in K. Furukawa, ed., `Eighth International Conference on Logic Programming ', MIT Press, pp. 173--187.
No context found.
E. J. Rollins and J. M. Wing. Specifications as search keys for software libraries. In K. Furukawa, editor, Proc. 8th Intl. Conf. Symp. Logic Programming, pages 173--187, Paris, June 24-28 1991. MIT Press.
No context found.
Rollins, E., Wing, J. Specifications as search keys for software libraries, In Proceedings of the International Conference on Logic Programming, 1991, MIT Press, pp. 173-187.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC