Randomization in Searching for Composites of Software Components

Randomization enables reuse, minimizes the chance of error, and minimizes user time. Randomization is applicable in problem solving techniques such as searching and optimization. With the emergence of service oriented architectures (SOAs), building software by composing existing components has been...

Full description

Saved in:
Bibliographic Details
Main Authors: LIANG, Qianhui (Althea), Rubin, S.
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2007
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/395
http://dx.doi.org/10.1109/IRI.2007.4296595
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
Description
Summary:Randomization enables reuse, minimizes the chance of error, and minimizes user time. Randomization is applicable in problem solving techniques such as searching and optimization. With the emergence of service oriented architectures (SOAs), building software by composing existing components has been facilitated to make use of components across the Internet. Such facilitation has scaled up the corresponding problem search space from tens of components in the local component repository to hundreds or thousands of components available anywhere connected by a network. In order to search for the right composites in a large search space, randomization can be used to heuristically reduce the search time. This paper demonstrates, for the software engineering community, how randomization can be applied using granularization of context-free grammatical reduction for the automatic synthesis of component-based software using service-oriented architectures. The approach taken is to iteratively extract largest common component granules and form productions using these granules. The grammar is then written using the common granule components. We review the savings incurred by such randomization in searching for a solution. A theoretical analysis and a use case scenario are provided. Granules allow us to search the space using more formal parameters for a temporal savings of orders of magnitude associated with the symmetric granules. Granted that we can miss viable solutions in this way, the speedup however is too great to be ignored. Furthermore, given that there is a high degree of reuse between solutions, symmetric granule solutions work best.