History


Please fill in your query. A complete syntax description you will find on the General Help page.
Reusing patterns through design refinement. (English)
Edwards, Stephen H. (ed.) et al., Formal foundations of reuse and domain engineering. 11th international conference on software reuse, ICSR 2009, Falls Church, VA, USA, September 27‒30, 2009. Proceedings. Berlin: Springer (ISBN 978-3-642-04210-2/pbk). Lecture Notes in Computer Science 5791, 225-235 (2009).
Summary: Refinement concepts, such as procedural and data refinement, are among the most important ideas of software engineering. In this paper, we investigate the idea of design refinement, the process of refining a set of design patterns to arrive at application-specific design components, and ultimately, to system implementations. The approach also enables designers to refine a given pattern to arrive at more specialized versions of that pattern ‒ sub-patterns ‒ thus enabling the creation of pattern hierarchies. We present three contributions: (i) We explore the concept of design refinement and consider what it means for such a refinement to be correct, in the sense of being faithful to the pattern being refined. (ii) We describe a two-part formalism for documenting patterns and sub-patterns. A pattern contract captures the requirements and behavioral guarantees associated with a given pattern, while a subcontract captures the ways in which the pattern is specialized for use in a particular application or sub-pattern. Contracts and subcontracts serve as the basis for validating the correctness of a given refinement. (iii) We consider how related patterns may be organized into suitable hierarchies based on the notion of design refinement. We focus on variations of the standard Observer pattern as examples. A key feature of our formalism is that while it enables us to specify patterns and sub-patterns precisely, it allows us to do so without compromising their flexibility.
WorldCat.org
Valid XHTML 1.0 Transitional Valid CSS!