This paper presents a process to determine the design of an applicationand the guiding principles that inform the design of the system." [18] Many authors have described several methods to guide the building of component-based applications [2,3,10], but except within the field of semantic Web services composition (described in [14]), it seems that an automatic semantic-oriented process has not been considered as a serious approach to design. Traditional (i.e., nonsemantic) component-based development approaches have two main drawbacks: they are often fully manual, and the process of finding and assembling the right components is not directly derived from the text of the written specification.Moreover, it is important to notice that the research in semantic Web services [14,16] does propose a semantic-oriented design approach, but this
Problem of Application DesignSoftware application design is traditionally a complex activity. According to the accepted definitions used as references in the scope of objectoriented and component-based application development, and according to Grady Booch [1], design is "that stage of a system that describes how the system will be implemented, at a logical level above actual code. For design, strategic and tactical decisions are made to meet the required functional and quality requirements of the system. The results of this stage are represented by design-level models: static view, state machine view, and interaction view." The activity of design leads to the architecture of the application, which is "the organizational structure of a system, including its decomposition into components, their connectivity, interaction mechanisms,