Building software systems from previously existing components can save time and effort while increasing productivity. The key to a successful Component-Based Development (CBD) is to get the required components. However, components obtained from other developers often show different behaviours than what are required. Thus adapting the components into the system being developed becomes an extra development and maintenance cost. This cost often offsets the benefits of CBD. Our research goal is to maximise the possibility of finding components that have the required behaviours, so that the component adaptation cost can be minimised. Imprecise component specifications and user requirements are the main reasons that cause the difficulty of finding the required components. Furthermore, there is little support for component users and developers to collaborate and clear the misunderstanding when selecting components, as CBD has two separate development processes for them. In this thesis, we aim at building a framework in which component users and developers can collaborate to select components with tools support, by exchanging component and requirement specifications. These specifications should be precise enough so that behavioural mismatches can be detected. We have defined Simple Component Interface Language (SCIL) as the communication and specification language to capture component behaviours. A combined SCIL specification of component and requirement can be translated to various existing modelling languages. Thus various properties that are supported by those languages can be checked by the related model checking tools. If all the user-required properties are satisfied, then the component is compatible to the user requirement at the behavioural level. Thus the component can be selected. Based on SCIL, we have developed a prototype component selection system and used it in two case studies: finding a spell checker component and searching for the components for a generic e-commerce application. The results of the case studies indicate that our approach can indeed find components that have the required behaviours. Compared to the traditional way of searching by keywords, our approach is able to get more relevant results, so the cost of component adaptation can be reduced. Furthermore, with a collaborative selection process this cost can be minimised. However, our approach has not achieved complete automation due to the modelling inconsistency from different people. Some manual work to adjust user requirements is needed when using our system. The future work will focus on solving this remaining problem of inconsistent modelling, providing an automatic trigger to select proper tools, etc.
Identifer | oai:union.ndltd.org:ADTP/238570 |
Creators | Wang, Lei |
Publisher | ePublications@bond |
Source Sets | Australiasian Digital Theses Program |
Detected Language | English |
Source | Theses |
Page generated in 0.0032 seconds