design pattern
Recently Published Documents


TOTAL DOCUMENTS

1111
(FIVE YEARS 167)

H-INDEX

26
(FIVE YEARS 4)

2022 ◽  
pp. 542-564
Author(s):  
Sahana Prabhu Shankar ◽  
Harshit Agrawal ◽  
Naresh E.

Software design is a basic plan of all elements in the software, how they relate to each other in such a way that they meet the user requirements. In software development process, software design phase is an important phase as it gives a plan of what to do and how to do it during the implementation phase. As the technology is evolving and people's needs in the technological field are increasing, the development of software is becoming more complex. To make the development process somewhat easy, it is always better to have a plan which is followed throughout the process. In this way, many problems can be solved in the design phase, for which a number of tools and techniques are present. One is known as Design Patterns. In software engineering, a design pattern is a general solution to commonly occurring problems in software design. A design pattern isn't a finished design that can be transformed directly into code.


Author(s):  
Shaik Mastanvali

Abstract: Studies with a variety of viewpoints, goals, measurements, and quality characteristics have been conducted in order to determine the effect of design patterns on quality attributes. This has resulted in findings that are contradictory and difficult to compare. They want to explain these findings by taking into account confounding variables, practises, measurements, and implementation problems that have an impact on quality. Furthermore, there is a paucity of research that establishes a link between design pattern assessments and pattern creation studies, which is a significant limitation. For the purpose of detecting and categorising software performance anti-patterns, this article proposes a non-intrusive machine learning method dubbed Non-intrusive Performance Anti-pattern Detector (NiPAD). Keywords: software performance, anti-patterns, classification, machine learning, dynamic software analysis


Author(s):  
Lex A. Bijlsma ◽  
Arjan J. F. Kok ◽  
Harrie J. M. Passier ◽  
Harold J. Pootjes ◽  
Sylvia Stuurman
Keyword(s):  

2021 ◽  
Vol 4 ◽  
pp. 64-71
Author(s):  
Volodymyr Boublik

The paper investigates a possibility of developing a non-virtual hierarchy for a special case of class signature, which may possess different interpretations. The approach is similar to double dispatching in the C ++ programming language. As an alternative to polymorphism, a non-polymorphic hierarchy has been suggested based on generic programming templates. This hierarchy is based on inverse parametrization for templates enabling constructing a general scheme for the design pattern. The pattern defined a class architecture suitable for static implementation of double dispatched multimethod for a special case of signature- defined interfaces.In fact, any abstract base class (interface) with purely virtual operations must acquire a polymorphic implementation. Besides, the polymorphism itself, the dependence of a virtual function on two objects – “this” and another parameter – requires the use of double dispatch, turning a class member function into a double dispatched multimethod.A preliminary consideration deals with issues of double dispatching in the C++ programming language. Inheritance with polymorphic class member functions is used. This requires special efforts of adding to both bases and derived classes a couple of virtual functions to support dispatching. In any case, this approach, besides using virtual functions, has a disadvantage of violating one of the SOLID principles, namely the principle of dependency inversion: base classes should not depend on derivatives, which negatively affects the quality of the software.Polymorphism is usually understood as the dynamic tuning of a program to the data type of the object that the program will encounter during its execution. That is, by its nature, polymorphism is a purely dynamic characteristic. However, in C++ literature and in practice, you can come across the term “static polymorphism”.At the same time, research of possibilities of generalized programming (templates) allows transferring some dynamic problems to the static level. In particular, a variant of static polymorphism application without virtual functions can be considered.A variant of non-virtual double scheduling has been proposed, generalized in the form of a created design pattern “Signature multimethod”. The use of the newly created pattern is illustrated with an example of implementing classes of complex numbers. The absence of violations of SOLID principles is shown, and the possibility of supplementing the hierarchy with new derived classes without the need to interfere with the structure of the base class is demonstrated.The approach suggested in this work has been used in courses in object-oriented programming at the Faculty of Informatics of Kyiv-Mohyla Academy.


2021 ◽  
pp. 111179
Author(s):  
Najam Nazar ◽  
Aldeida Aleti ◽  
Yaokun Zheng

2021 ◽  
Vol 20 (5s) ◽  
pp. 1-26
Author(s):  
Kyungmin Bae ◽  
Peter Csaba Ölveczky

TTA and PALS are two prominent formal design patterns—with different strengths and weaknesses—for virtually synchronous distributed cyber-physical systems (CPSs). They greatly simplify the design and verification of such systems by allowing us to design and verify their underlying synchronous designs. In this paper we introduce and verify MSYNC as a formal design (and verification) pattern/synchronizer for hierarchical multirate CPSs that generalizes, and combines the advantages of, both TTA and (single-rate and multirate) PALS. We also define an extension of TTA to multirate CPSs as a special case. We show that MSYNC outperforms both TTA and PALS in terms of allowing shorter periods, and illustrate the MSYNC design and verification approach with a case study on a fault-tolerant distributed control system for turning an airplane.


2021 ◽  
Author(s):  
Gabriel Silva ◽  
Vinícius Andrade ◽  
Reginaldo Ré ◽  
Rafael Meneses

Sign in / Sign up

Export Citation Format

Share Document