Font Size: a A A

The Automation For Software Architecture Refinement And Code Generation

Posted on:2007-03-08Degree:MasterType:Thesis
Country:ChinaCandidate:Y Q YangFull Text:PDF
GTID:2178360212457398Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Large software architecture is a layered architecture. Each layer is an architecture of this software. The uppermost architecture is the most abstract; the undermost architecture is the most detailed used to generate code. Each layer in the middle is the refinement of the upper layer. So architecture layers should be constructed by refining each component and connector gradually from the uppermost layer to the undermost layer.At present, in the field of software architecture refinement, refinement pattern is a well-known method to refine components and connectors of architecture. This essay bases on the field of software architecture refinement. We prompt a new kind of algorithm used to refine components and connectors of architecture respectively. We implement this algorithm by C++ programming language. The algorithm bases on the first-order logic and CSP theory, which are used to describe the semantic of component and connector. The first-order logic can well describe the part of semantic of sequential processes, but it lacks the capability to describe the concurrent processes; CSP is specially designed to describe the concurrent events and processes, so we use CSP to describe the part of semantic of concurrent processes. In detailed, we use the first-order logic to describe the specification of component and describe the connect information of connector, that is to translate their descriptions to the form which can be recognized by computer. For connector, we need to describe the sequence control logic of interactive events by process notation; then we use resolution principle to resolute the architecture theorems and conclusions. We change the problem of software architecture refinement to be the problem of proving the theorems automatically, then we construct the resolution proving tree according to the MGU (Most General Unification) and by tracing the useful clauses, then we transform the resolution proving tree to unification tree, extract important information used to refine the architecture from the unification tree. CSP can generate the inner code of concurrent process of connector automatically. Finally, the architecture refinement is completed. The information includes interconnections between the new components and connectors, interconnections between the new components and original components, and the elements in the old architecture to the new ones associations.
Keywords/Search Tags:Software Architecture, Architecture Refinement, Resolution Principle, CSP
PDF Full Text Request
Related items