Abstract:
The specification of software structures that conform to specific software architectures is the first step in software design during software development. Software structure may be the first design artifact that becomes inconsistent as software evolves. We believe this issue has two logical explanations. Firstly, specifying software structure that conforms to specific software architecture is not easy task. It requires considerable e ort and this effort can be useless in future during software development. Secondly, once software structure that conforms to specific software architecture is de ned, subsequent software components and modules may not conform to the software architecture that was selected. In this thesis work, a new specification language, called Domain- Specific Language for Software Architecture Specification (DSL-SA), is proposed. It is an attempt to specify software structure that conforms to a specific software architecture easily and to overcome problems mentioned above. In association with DSL-SA, a software tool, called DSL-SA Editor, has been developed. DSL-SA Editor will be used to specify software components that correspond to specific software architecture styles. By using DSL-SA Editor, one can specify software structures that conform to pipes-and- lters architectural style, layered architectural style and free architectural style. DSL-SA Editor supports the validation of software structures, to see whether the software structure conforms to the selected architectural style. DSL-SA Editor also supports high-level source code generation from software structure specification. We present three case studies to show how DSL-SA and DSL-SA Editor can be used to specify software components that correspond to a speci c software architecture.