Knowledge-based software composition using rough set theory
Software Composition is one of the major concerns in component based software development (CBSD). In this paper, we present a formal approach to construct software systems from requirements models using available components. We focus on the knowledge resides in the requirements and the components in order to deal with those heterogeneous concepts. This approach consists of three steps. The first step is selecting adaptable components to the requirements model. The requirements and the components are transformed into the form of Sigma algebra, and the component adaptability is evaluated by Sigma homomorphism. Rough Set Theory (RST) is used to make carriers of two Sigma algebras common, which are derived from the requirements and the components. The second step is identifying the control structure of the requirements. Decision tables are used for representing the knowledge on the requirements, and RST is used to optimize the control structure. The third step is to implement the control structure as glue codes which would perform the components appropriately. This approach mainly focuses on enterprise back-office applications in this paper, however, it can be easily applied to other domains, since it assumes the requirements to be expressed in Colored Petri Nets (CPN), and CPN can express various problem domains other than enterprise back-office applications.
software composition rough set theory colored petri nets formal method knowledge representation