Object-oriented modeling of software patterns
Takashi Kobayashi, Masayoshi Kamo, T. Sanui, Motoshi Saeki
Abstract
Takashi Kobayashi, Masayoshi Kamo, T. Sanui, Motoshi Saeki
Abstract
This paper discusses a technique to model software patterns such as Gang-OF-Four (GOF) design patterns for supporting pattern based software development. Software patterns are general structures that frequently appear in the artifacts and encourage effective reuse of past successful experience. To support pattern based software development, we model the patterns from an object-oriented view so that machine processing is possible. In our approach, we consider that a pattern consists of a pattern structure (a class diagram) and manipulation operations on the pattern structure in order to use it. These manipulations are classified into three types; pattern instantiation (applying a pattern to an actual problem, i.e. filling their hot spots), pattern combination (combining several patterns into larger one) and pattern refinement (refine a pattern into more concrete one). These manipulation operations are specific to patterns and each pattern is a class which they are encapsulated into. We describe 22 Gang-Of-Four design patterns with Java and develop a supporting tool for using patterns. The tool has been developed by using our approach itself and it shows the usefulness of our approach.
OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
This paper discusses a technique to model software patterns such as Gang-OF-Four (GOF) design patterns for supporting pattern based software development. Software patterns are general structures that frequently appear in the artifacts and encourage effective reuse of past successful experience. To support pattern based software development, we model the patterns from an object-oriented view so that machine processing is possible. In our approach, we consider that a pattern consists of a pattern structure (a class diagram) and manipulation operations on the pattern structure in order to use it. These manipulations are classified into three types; pattern instantiation (applying a pattern to an actual problem, i.e. filling their hot spots), pattern combination (combining several patterns into larger one) and pattern refinement (refine a pattern into more concrete one). These manipulation operations are specific to patterns and each pattern is a class which they are encapsulated into. We describe 22 Gang-Of-Four design patterns with Java and develop a supporting tool for using patterns. The tool has been developed by using our approach itself and it shows the usefulness of our approach.
Key concepts: Software design pattern, Structural pattern, Computer science, Design pattern, Architectural pattern, Behavioral pattern, Specification pattern, Class diagram