Results 1 -
2 of
2
Specification Matching of Software Components
- ACM Transactions on Software Engineering and Methodology
, 1996
"... Specification matching is a way to compare two software components based on descriptions of the components' behaviors. In the context of software reuse and library retrieval, it can help determine whether one component can be substituted for another or how one can be modified to fit the requireme ..."
Abstract
-
Cited by 252 (4 self)
- Add to MetaCart
Specification matching is a way to compare two software components based on descriptions of the components' behaviors. In the context of software reuse and library retrieval, it can help determine whether one component can be substituted for another or how one can be modified to fit the requirements of the other. In the context of object-oriented programming, it can help determine when one type is a behavioral subtype of another. We use formal specifications to describe the behavior of software components, and hence, to determine whether two components match. We give precise definitions of not just exact match, but more relevantly, various flavors of relaxed match. These definitions capture the notions of generalization, specialization, and substitutability of software components. Since our formal specifications are pre- and post-conditions written as predicates in firstorder logic, we rely on theorem proving to determine match and mismatch. We give examples from our impleme...
Conciliation: The Adaptation of Independently Developed Components
, 1998
"... Components which are developed independently but have similar behaviour, generally cannot be substituted for use by a client due to structural differences and minor but subtle behavioural differences. An automated solution for adaptation of these mismatches would be desirable. Although automatic ada ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Components which are developed independently but have similar behaviour, generally cannot be substituted for use by a client due to structural differences and minor but subtle behavioural differences. An automated solution for adaptation of these mismatches would be desirable. Although automatic adaptation has been addressed by recent works, it fails to go beyond simple structural differences. In this paper an approach for semi-automatic adaptation is proposed, called Conciliation. As well as structural mismatch, Conciliation addresses behaviour mismatch. It does so without requiring modification or recompilation of the clients or the providing components. The Conciliation process is guided by specification; the structure of these specifications is designed for use with component systems. An example of Conciliation in the context of Microsoft's Component Object Model (COM) and the Common Object Request Broker Architecture (CORBA) is studied in detail, illustrating how Conciliation fits...

