Computer Science ›› 2020, Vol. 47 ›› Issue (3): 19-24.doi: 10.11896/jsjkx.190100046

• Intelligent Software Engineering • Previous Articles     Next Articles

Study on Optimization of Design Pattern Combination Operation

JI Cheng-yu,ZHU Xue-feng   

  1. (Beijing Key Laboratory of Petroleum Data Mining, China University of Petroleum, Beijing 102249, China)
    (School of Information Science and Engineering, China University of Petroleum, Beijing 102249, China)
  • Received:2019-01-07 Online:2020-03-15 Published:2020-03-30
  • About author:JI Cheng-yu,master,is not member of China Computer Federation (CCF).Her main research interests include pattern combination and verification and so on. ZHU Xue-feng,Ph.D,master supervisor,is not member of China Computer Federation (CCF).His main research interests include software engineering and so on.
  • Supported by:
    This work was supported by the National Natural Science Foundation (60496324) and China University of Petroleum Research Fund (KYJJ2012-05-17).

Abstract: As a summary of software design experience,proper use of design patterns can effectively improve the reusability of software systems and ensure the quality of the final software products.However,in practical applications,people rarely use a single design pattern,and usually software designers need to use experience to combine multiple patterns according to the actual application scenarios,which may lead to uncertainty results and seriously affect the quality of software products.Although the exi-sting formal method of pattern combination can effectively express the result of pattern combination,the combination method has complex logic and contains a large number of redundant operations,which is difficult for designers to be familiar with and adopt.Aiming at the problems existing in the above pattern combination process,this paper deeply discussed the combination relationship between multiple patterns.Starting from the formal representation of design patterns,combined with the characteristics of Z language,this paper studied the existing formal methods of pattern combination in depth,and optimized the existing pattern combination operators.Based on the existing set of operators,the constraint,superposition and extension operators are proposed,the exact semantics of pattern composition are defined by the operators,and the algebraic reasoning process is used to verify that the optimized method can effectively replace the existing formal method of pattern combination,it can overcome the problems of redundant operators and low efficiency caused by too many operators in the existing formal methods of pattern combination.Finally,the effectiveness of the proposed method is verified by a case study of pattern combination.

Key words: Design patterns, Combination of patterns, Operation optimization, Formal method, Equality reasoning

CLC Number: 

  • TP311.5
[1] GAMMA E,HELM R,JOHNSON R,et al.Design Patterns:Ele- ments of Reusable Object Oriented Software [M].Addison-Wesley,1995.
[2] HOU D,HOOVER H J.Using SCL to specify and check design intent in source code [J].IEEE Transactions on Software Engineering,2006,32(6):404-423.
[3] SHI N,OLSSON R A.Reverse Engineering of Design Patterns from Java Source Code[C]∥IEEE/ACM International Conference on Automated Software Engineering.IEEE,2007:123-134.
[4] KIM D K,LU L.Inference of Design Pattern Instances in UML models via Logic Programming[C]∥IEEE International Conference on Engineering of Complex Computer Systems.IEEE,2006:47-56.
[5] DONG J,ALENCAR P S C,COWAN D D.A behavioral analysis and verification approach to pattern-based design composition [J].Software and Systems Modeling,2004,3(4):262-272.
[6] DONG J,PENG T,ZHAO Y.Automated verification of security pattern compositions [J].Information and Software Technology,2010,52(3):274-295.
[7] DONG J,PENG T,ZHAO Y.On Instantiation and Integration Commutability of Design Pattern [J].The Computer Journal,2011,54(1):164-184.
[8] TAIBI T,NGO D C L.Formal Specification of Design Patterns- A Balanced Approach[C]∥Acs/ieee International Conference on Computer Systems & Applications.IEEE,2003:14-18.
[9] TAIBI T.Formalising design patterns composition [J].IEE Proceedings-Software,2006,153(3):127-136.
[10]TAIBI T,NGO D C L.Formal specification of design pattern combination using BPSL [J].Information and Software Technology,2003,45(3):157-170.
[11] BAYLEY I,ZHU H.Specifying behavioural features of design patterns[C]∥IEEE International Computer Software & Applications Conference.Oxford Brookes University,2008:203-210.
[12] BAYLEY I,ZHU H.A formal language of pattern composition[C]∥Proceedings of The 2nd International Conferences on Pervasive Patterns and Applications.Portugal,2010:1-6.
[13] ZHU H.An institution theory of formal meta-modelling in graphically extended BNF [J].Frontiers of Computer Science,2012,6(1):40-56.
[14] ZHU H,BAYLEY I.An algebra of design patterns [J].ACM Transactions on Software Engineering and Methodology,2013,22(3):1-35.
[15] ZHU H,BAYLEY I.Laws of pattern composition[C]∥International Conference on Formal Engineering Methods & Software Engineering.Springer-Verlag,2010:630-645.
[16] ZHU H,BAYLEY I.On the Composability of Design Patterns [J].IEEE Transactions on Software Engineering,2015,41(11):1138-1152.
[17] BENNETT M,BACLAWSKI K,BENNETT M.Ontology de- sign patterns and semantic abstractions in ontology integration [J].Applied Ontology,2017,12(3/4):341-349.
[18] LUCIA A D,DEUFEMIA V,GRAVINO C,et al.Detecting the Behavior of Design Patterns through Model Checking and Dynamic Analysis [J].Acm Transactions on Software Engineering &Methodology,2018,26(4):1-41.
[19] CACHO N,CLAUDIO S,FIGUEIREDO E,et al.Blending design patterns with aspects:A quantitative study [J].Journal of Systems and Software,2014,98(23):117-139.
[20] HUSSAIN S,KEUNG J,KHAN A A.Software design patterns classification and selection using text categorization approach [J].Applied Soft Computing,2017,58(6):225-244.
[21]DWIVEDI A K,TIRKEY A,RATH S K.Software design pattern mining using classification-based techniques [J].Frontiers of Computer Science,2018,12(1):1-15.
[1] GUO Yan-yan, ZHANG Nan and TONG Xiang-rong. Survey on Formal Semantics of UML Sequence Diagram [J]. Computer Science, 2017, 44(2): 17-30, 64.
[2] ZHANG Chi, HUANG Zhiqiu and DING Zewen. Research on Static Analysis Formalism Supporting Abstract Interpretation [J]. Computer Science, 2017, 44(12): 126-130, 155.
[3] MA Yuan-yuan, CHEN Zhe, WANG Chen, FEI Jia-xuan and HUANG Xiu-li. Security Analysis Model of Power Intelligent Unit Transmission Protocols [J]. Computer Science, 2016, 43(Z11): 329-337.
[4] CHEN Guang-ying, HUANG Zhi-qiu, CHEN Zhe and KAN Shuang-long. Safety Analysis of Slat and Flap Control Unit for DO-333 [J]. Computer Science, 2016, 43(5): 150-156, 161.
[5] LV Xing-li, SHI Zhi-ping, LI Xiao-juan, GUAN Yong, YE Shi-wei and ZHANG Jie. Higher-order Logic Formalization of Basic Theory of Continuous Fourier Transform [J]. Computer Science, 2015, 42(4): 31-36.
[6] GU Hui, ZHANG Wei-xing, JIN Peng and GU Jie-jie. Method of Software Design Patterns Identification Based on Correlation and Feature Constraints [J]. Computer Science, 2015, 42(2): 173-176,203.
[7] ZHANG Shuo and HE Fei. Research Advances in Runtime Verification [J]. Computer Science, 2014, 41(Z11): 359-363.
[8] CHEN Yi-hai and MIAO Huai-kou. Comparison of Tabular Notations [J]. Computer Science, 2014, 41(3): 23-26.
[9] XU Han-bin,ZHANG Xue-lin,ZHENG Xiao-mei,ZHANG Tian and LI Xuan-dong. UML Design Pattern Recognition Method Based on Structured Query [J]. Computer Science, 2014, 41(11): 50-55.
[10] GU Hui and ZHANG Wei-xing. Method of Design Patterns Definition Based on XML Schema Technology [J]. Computer Science, 2014, 41(1): 254-257.
[11] GUO Yan-yan and LIU Jing-lei. Formalization for Model Element of UML Statechart in RSL [J]. Computer Science, 2013, 40(5): 177-183.
[12] . Research on Improved FCC Algorithm in Network and Information Security [J]. Computer Science, 2013, 40(1): 136-138.
[13] . UMI. Based Software Requirement Modeling for Automatic Train Protection [J]. Computer Science, 2012, 39(Z6): 478-481.
[14] . Method for Generating Formal System Model Based on Scenarios Analysis [J]. Computer Science, 2012, 39(8): 136-140,163.
[15] . Specification and Compatibility Verification of Timing Behavior in Components [J]. Computer Science, 2012, 39(10): 143-147.
Full text



[1] QIAN Ji-de, CHEN Bin, QIAN Ji-ye, ZHAO Heng-jun, CHEN Gang. Machine Vision Based Inspection Method of Mura Defect for LCD[J]. Computer Science, 2018, 45(6): 296 -300,313 .
[2] LI Fang-wei HUANG Xu ZHANG Hai-bo LIU Kai-jian HE Xiao-fan. Cluster-based Radio Resource Allocation Mechanism in D2D Networks[J]. Computer Science, 2018, 45(9): 123 -128, 165 .
[3] HAN Xiu-ping, WANG Zhi, PEI Dan. Study on Wi-Fi Fingerprint Anonymization for Users in Wireless Networks[J]. Computer Science, 2018, 45(8): 7 -12 .
[4] HU Ya-zhou, DENG Bo, LIN Wang-qun, PENG Fu-yang and WANG Dong-xia. Study on Testing Cloud Computing Elasticity[J]. Computer Science, 2017, 44(7): 8 -15 .
[5] WANG Ai-wen and SONG Yu-jie. Image Segmentation Based on Pulse Coupled Neural Network[J]. Computer Science, 2017, 44(4): 317 -322 .
[6] ZHANG Hong-bo, WANG Jia-lei, ZHANG Li-juan, LIU Zhi-hong. Trust Network Based Collaborative Filtering Recommendation Algorithm[J]. Computer Science, 2018, 45(8): 146 -150 .
[7] ZHANG Xiao-ce, YAN Xue-feng and ZHOU Yong. Method of SBDD Based on Dynamic Fault Tree[J]. Computer Science, 2017, 44(9): 195 -199 .
[8] ZHANG Xiao-yang, QIN Gui-he, ZOU Mi, SUN Ming-hui and GAO Qing-yang. Research on Recommendation Method of Restaurant Based on LDA Model[J]. Computer Science, 2017, 44(7): 180 -184, 214 .
[9] YU Wei, ZHENG Ji-ping, WANG Hai-xiang, WANG Yong-ge, CHEN Jia-liang and JIANG Shun-qing. Spatial Skyline Queries:Applications,Research and Challenges[J]. Computer Science, 2017, 44(2): 1 -16 .
[10] LIU Ao, DENG Xu-dong and LI Wei-gang. Improved Water Wave Optimization Algorithm with Adaptive Control Parameters[J]. Computer Science, 2017, 44(7): 203 -209, 250 .