Formal Integration and Application of Software Architecture and Patterns

碩士 === 國防管理學院 === 國防資訊研究所 === 92 === Software architecture and software pattern are both used to facilitate software design. Software architecture is a software engineering viewpoint and focus on developing large and complicated systems. Architecture-based system development has shifted the focus of...

Full description

Bibliographic Details
Main Authors: Shiang-Fu Luo, 羅祥福
Other Authors: Liu Fong Hao
Format: Others
Language:zh-TW
Published: 2004
Online Access:http://ndltd.ncl.edu.tw/handle/06946216369298055293
Description
Summary:碩士 === 國防管理學院 === 國防資訊研究所 === 92 === Software architecture and software pattern are both used to facilitate software design. Software architecture is a software engineering viewpoint and focus on developing large and complicated systems. Architecture-based system development has shifted the focus of line-of-code to architectural elements, high-level interactions and the whole system architectural property. This makes developers to abstract the implementation details at design stage to clarify design purpose. Software pattern emphasize that software system design should base on the successful experience and should not keep on “Reinventing the wheel”. Design patterns are one kind of abstractions generated from valuable experience of developers in solving problems repeatedly encountered within certain contexts and are able to assist system design. Hence, how to integrate the concept of software architecture and software pattern to aid software design is an important issue. The general problems of textual descriptions of software architecture and software pattern traditionally are vague, ambiguous, and lack well-defined semantics. Therefore, many architecture and pattern specification languages have been proposed. However, this makes the integration of formal architectural and pattern specifications even harder. In this research, we propose an approach to combine the formal specification of software architecture and patterns and check the specification with architectural properties, including data type correctness, deadlock-free, safety, reachability, communication integrity, interoperability and compatibility. Finally, we transfer the formal specification into code template on a popular obeject-oriented development platform to promote the usability and reusability of the formal specification combination.