UML design pattern metamodel-level constraints for the maintenance of software evolution

被引:2
|
作者
Park, Jaeyong [1 ]
Lee, Seok-Won [2 ,3 ]
Rine, David C. [4 ]
机构
[1] Lib Corp, Dept R&D, Inwood, WV USA
[2] Univ Texas San Antonio, Dept Informat Syst, San Antonio, TX 78249 USA
[3] Univ Nebraska, Dept Comp Sci & Engn, Lincoln, NE 68588 USA
[4] George Mason Univ, Dept Comp Sci, Fairfax, VA 22030 USA
来源
SOFTWARE-PRACTICE & EXPERIENCE | 2013年 / 43卷 / 07期
关键词
design pattern; UML; software maintenance; CONFORMANCE; STABILITY; MODELS;
D O I
10.1002/spe.1116
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software maintenance including design is difficult because it is usually performed on someone else's work over a period of time. Maintaining a pattern-based design is especially much more difficult when the information on specific patterns that have been used are not available in the corresponding design documents. Also, finding a maintainer who has a similar level of knowledge on specific patterns that the initial designer had is not easy. Pattern-based design, the use of design patterns during the software design process, has become widely used in the object-oriented community because of its many benefits such as its reuse. However, the defects in pattern-based design can be introduced during the design maintenance phase when the changes are made to the requirements and the initial design, but the conformance to the original patterns is neglected. This conformance process is laborious and time consuming; no systematic process exists to guide the defects discovery and maintenance. Also, deep and correct knowledge of design patterns and their characteristics are required because this process is conducted by human experts. Failure to follow this conformance process and to maintain correct designs during software design evolution may cause serious problems in later software development and maintenance stages by not providing the benefits of pattern-based design that would have been possible if followed correctly. There is a strong need of a systematic design and maintenance method for preventing defects in design patterns introduced during the evolution of pattern-based software design and its maintenance. Because conventional UML design methods do not provide such systematic ways of assessing pattern-based design conformance to the evolutionary changes, we have developed the pattern instance changes with UML profiles (PICUP) design method, which is an improved design method for perfective and corrective UML pattern-based design maintenance and assessment. Design pattern in UML profiles (DPUP) is developed for the use of instantiation, maintenance, and assessment of UML pattern-based designs to support the formal specification of a design pattern. DPUPs, as the main part of the PICUP design method, provide metamodel-level UML design constraints using UML stereotype notations and metamodel-level Object Constraint Language design constraints. Assessment of pattern-based designs in UML class diagram with the corresponding DPUPs enforces maintainers to make necessary and correct changes to keep the principles of the original designs. Pattern-related information is annotated using stereotype notations to help assess pattern-based designs when changes are made. Furthermore, the structural conformance checking of a given UML pattern-based design can be automated by using the assessment tool. The major contributions of this paper are: (i) specifying design patterns using extended UML profile; (ii) providing a means of how to instantiate pattern-based designs from DPUPs with naming conventions; and (iii) providing design constraints for maintaining pattern-based design to guide correct changes of a given design in PICUP method. Explanatory type case studies were performed to better understand and evaluate the effectiveness of the PICUP design method with DPUPs. Answers to the case study questionnaires and the pattern defects discovered from the case studies support the hypothesis that the PICUP method is an improved design method that ensures structural conformance of UML pattern-based designs to the corresponding design patterns during perfective and corrective design maintenance for software systems. Copyright (c) 2011 John Wiley & Sons, Ltd.
引用
收藏
页码:835 / 866
页数:32
相关论文
共 14 条
  • [1] A UML-based MetaModel for Software Evolution Process
    Jiang Zuo
    Zhou Wei-Hong
    Fu Zhi-Tao
    Xiong Shun-Qing
    [J]. 6TH INTERNATIONAL CONFERENCE ON DIGITAL IMAGE PROCESSING (ICDIP 2014), 2014, 9159
  • [2] Metamodel and Constraints Co-evolution: A Semi Automatic Maintenance of OCL Constraints
    Khelladi, Djamel Eddine
    Hebig, Regina
    Bendraou, Reda
    Robin, Jacques
    Gervais, Marie-Pierre
    [J]. SOFTWARE REUSE: BRIDGING WITH SOCIAL-AWARENESS, 2016, 9679 : 333 - 349
  • [3] Separation of Crosscutting Concerns at the Design Level: an Extension to the UML Metamodel.
    Przybylek, Adam
    [J]. 2008 INTERNATIONAL MULTICONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY (IMCSIT), VOLS 1 AND 2, 2008, : 508 - 514
  • [4] Design Pattern Analysis with Software Evolution Data
    Hsueh, Nien-Lin
    [J]. JOURNAL OF INFORMATION SCIENCE AND ENGINEERING, 2020, 36 (01) : 53 - 73
  • [5] A multi-level design pattern for embedded software
    Machado, RJ
    Fernandes, JM
    [J]. DESIGN METHODS AND APPLICATIONS FOR DISTRIBUTED EMBEDDED SYSTEMS, 2004, 150 : 247 - 256
  • [6] Enhancing software evolution through design pattern detection
    Arcelli, Francesca
    Cristina, Luca
    [J]. THIRD INTERNATIONAL IEEE WORKSHOP ON SOFTWARE EVOLVABILITY, PROCEEDINGS, 2007, : 7 - 14
  • [7] Enabling design evolution in software through pattern oriented approach
    Ram, DJ
    Rajasree, MS
    [J]. OBJECT-ORIENTED INFORMATION SYSTEMS, 2003, 2817 : 179 - 190
  • [8] A Cloud Service Implementation for Evaluating Design Pattern in Software Evolution
    Ting, Der-Hong
    Hsueh, Nien-Lin
    Yang, Chao-Tung
    Chang, Chin-Hung
    [J]. JOURNAL OF INFORMATION SCIENCE AND ENGINEERING, 2015, 31 (03) : 1051 - 1070
  • [9] "Predictive Maintenance Surveyor" Design Pattern for Machine Tools Control Software Applications
    Serna, Felix
    Catalan, Carlos
    Blesa, Alfonso
    Manuel Colom, Jose
    Rams, Josep M.
    [J]. 2011 IEEE 16TH CONFERENCE ON EMERGING TECHNOLOGIES AND FACTORY AUTOMATION (ETFA), 2011,
  • [10] Behavioral Evolution of Design Patterns: Understanding Software Reuse Through the Evolution of Pattern Behavior
    Reimanis, Derek
    Izurieta, Clemente
    [J]. REUSE IN THE BIG DATA ERA, 2019, 11602 : 77 - 93