• DocumentCode
    3232790
  • Title

    Responsibilities and rewards: specifying design patterns

  • Author

    Soundarajan, Neelam ; Hallstrom, Jason O.

  • Author_Institution
    Comput. & Inf. Sci., Ohio State Univ., Columbus, OH, USA
  • fYear
    2004
  • fDate
    23-28 May 2004
  • Firstpage
    666
  • Lastpage
    675
  • Abstract
    Design patterns provide guidance to system designers on how to structure individual classes or groups of classes, as well as constraints on the interactions among these classes, to enable them to implement flexible and reliable systems. Patterns are usually described informally. While such informal descriptions are useful and even essential, if we want to be sure that designers precisely and unambiguously understand the requirements that must be met when applying a given pattern, and be able to reliably predict the behaviors the resulting system exhibits, we also need formal characterizations of the patterns. In this paper, we develop an approach to formalizing design patterns. The requirements that a designer must meet with respect to the structures of the classes, as well as with respect to the behaviors exhibited by the relevant methods, are captured in the responsibilities component of the pattern´s specification; the benefits that results by applying the pattern, in terms of specific behaviors that the resulting system is guaranteed to exhibit, are captured in the rewards component. One important aspect of many design patterns is their flexibility; our approach is designed to ensure that this flexibility is retained in the formalization of the pattern. We illustrate the approach by applying it to a standard design pattern.
  • Keywords
    formal specification; object-oriented programming; design patterns; pattern characterization; pattern formalization; pattern specification; rewards component; Information science; Power system reliability; Unified modeling language;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 2004. ICSE 2004. Proceedings. 26th International Conference on
  • ISSN
    0270-5257
  • Print_ISBN
    0-7695-2163-0
  • Type

    conf

  • DOI
    10.1109/ICSE.2004.1317488
  • Filename
    1317488