An analogy-based retrieval mechanism for software design reuse

Author(s):  
H.-Y. Lee ◽  
M. Harandi
2013 ◽  
Vol 17 (2) ◽  
pp. 439-453 ◽  
Author(s):  
Monica Johar ◽  
Vijay Mookerjee ◽  
Suresh Sethi

Author(s):  
Taher Ahmed Ghaleb ◽  
Khalid Aljasser ◽  
Musab A. Alturki

Design patterns are generic solutions to common programming problems. Design patterns represent a typical example of design reuse. However, implementing design patterns can lead to several problems, such as programming overhead and traceability. Existing research introduced several approaches to alleviate the implementation issues of design patterns. Nevertheless, existing approaches pose different implementation restrictions and require programmers to be aware of how design patterns should be implemented. Such approaches make the source code more prone to faults and defects. In addition, existing design pattern implementation approaches limit programmers to apply specific scenarios of design patterns (e.g. class-level), while other approaches require scattering implementation code snippets throughout the program. Such restrictions negatively impact understanding, tracing, or reusing design patterns. In this paper, we propose a novel approach to support the implementation of software design patterns as an extensible Java compiler. Our approach allows developers to use concise, easy-to-use language constructs to apply design patterns in their code. In addition, our approach allows the application of design patterns in different scenarios. We illustrate our approach using three commonly used design patterns, namely Singleton, Observer and Decorator. We show, through illustrative examples, how our design pattern constructs can significantly simplify implementing design patterns in a flexible, reusable and traceable manner. Moreover, our design pattern constructs allow class-level and instance-level implementations of design patterns.


Author(s):  
Adriana Pereira de Medeiros ◽  
Daniel Schwabe

AbstractThis article presents Kuaba, a new design rationale representation approach that enables employing design rationale to support reuse of model-based designs, particularly, software design. It is shown that this can be achieved through the adoption of an appropriate vocabulary that allows design rationale representations to be computationally processed. The architecture and implementation of an integrated design environment to support recording design rationale using Kuaba is also shown. The Kuaba approach integrates the design rationale representation model with the formal semantics provided by the metamodel of the design method or modeling language used for describing the artifact being designed. This integration makes the design rationale representations more specific according to the design methods and enables a type of software design reuse at the highest abstraction level, where rationales can be integrated and reemployed in designing a new artifact.


Sign in / Sign up

Export Citation Format

Share Document