Home // PATTERNS 2020, The Twelfth International Conference on Pervasive Patterns and Applications // View article
Evolvability Analysis of Multiple Inheritance and Method Resolution Order in Python
Authors:
Marek Suchánek
Robert Pergl
Keywords: Multiple Inheritance; Python 3; Evolvability; Method Resolution Order; Composition Over Inheritance
Abstract:
Inheritance as a relation for expressing generalisations and specialisations or taxonomies is natural for conceptual modelling, but causes evolvability problems in software implementations. Each inheritance relation represents a tight coupling between a superclass and a subclass. Coupling in this case leads to a combinatorial effect or even combinatorial explosion in case of complex hierarchies. This paper analyses how multiple inheritance and method resolution order affect these problems in the Python programming language. The analysis is based on the design of inheritance implementation patterns from our previous work. Thanks to the flexibility of Python, it shows that inheritance can be implemented with minimisation of combinatorial effect using the patterns. Nevertheless, it is crucial to generate helper constructs related to the patterns from the model automatically for the sake of evolvability, including potential future in the patterns themselves.
Pages: 19 to 24
Copyright: Copyright (c) IARIA, 2020
Publication date: April 26, 2020
Published in: conference
ISSN: 2308-3557
ISBN: 978-1-61208-783-2
Location: Nice, France
Dates: from October 25, 2020 to October 29, 2020