An important issue in a component-based software development process is the supply source of mature, reliable, adaptable and maintainable components. We define ascomponent miningthe deliberate, organised and automated process of extracting reusable components from an existing rich software base and present a pattern language used for mining components from programs that are typically executed as non-interactive autonomous processes. We describe the patterns in terms of intent, motivation, applicability, structure, participants, consequences and implementation. Based on the pattern language, we describe the implementation of a set of COM components that encapsulate the Unix filters and an exemplar application that uses them. q 2000 Elsevier Science B.V. All rights reserved.
['Diomidis Spinellis', 'Konstantinos Raptis']
Component mining: a process and its pattern language