This thesis presents an approach to reusing components which alleviates some of the main problems encountered in component-based reuse; in particular modifying components to suit user's specific needs, and locating suitable components within a library. The focus of the thesis is on components described using a formal language (in other words components with a formal interface specification). The main reason for this is the concise and precise nature of formal languages, which can be exploited in developing more sophisticated methods and tools which take advantage of the semantics of the component. The solution is presented in two main stages: firstly a framework for adapting components is defined; secondly a framework for retrieving components based on matching component interfaces is defined. Both of these frameworks take advantage of the formal nature of the component interfaces, as a result more sophisticated tools can be developed. For generality it is proposed that formal languages used to represent interfaces are partitioned into three separate levels of granularity - expressions, units and modules - and solutions to adaptation and retrieval are developed separately at each level. An important consideration in developing these frameworks is to ensure that certain component properties are preserved when adapting and retrieving components. Having proposed these general frameworks, algorithms for adapting and retrieving components are defined in a more concrete and detailed sense within the CARE system. CARE was chosen because the language is relatively simple and compact, yet contains many of the features found in other formal languages, including: variables; functions; predicates; binders; application; typing; parameters; inputs and outputs (and their types); preconditions and postconditions; textual and formal parameters; separation of specification and implementation; case statements; modules; applicability conditions; encapsulation; and information hiding. These techniques for adapting and retrieving components have been prototyped as extensions to existing CARE tools. As a means of illustrating the value that these extensions have added to the overall CARE system, several example developments using the extended tools are presented at the end of the thesis. The approach to component reuse presented in this thesis represents a significant advance on other similar approaches. The approach given here is far more general than other approaches, particularly with respect to the scope of components and their interfaces that are considered. Also the adaptation framework goes beyond other approaches which have typically been restricted to parameter instantiation.
Identifer | oai:union.ndltd.org:ADTP/253775 |
Creators | Hemer, David George |
Source Sets | Australiasian Digital Theses Program |
Detected Language | English |
Page generated in 0.0086 seconds