Software Architecture 14th European Conference ECSA 2020 L Aquila Italy September 14 18 2020 Proceedings Anton Jansen Ebook All Chapters PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 60

Download the full version of the textbook now at textbookfull.

com

Software Architecture 14th European


Conference ECSA 2020 L Aquila Italy September
14 18 2020 Proceedings Anton Jansen

https://textbookfull.com/product/software-
architecture-14th-european-conference-
ecsa-2020-l-aquila-italy-
september-14-18-2020-proceedings-anton-jansen/

Explore and download more textbook at https://textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Software Architecture 12th European Conference on Software


Architecture ECSA 2018 Madrid Spain September 24 28 2018
Proceedings Carlos E. Cuesta
https://textbookfull.com/product/software-architecture-12th-european-
conference-on-software-architecture-ecsa-2018-madrid-spain-
september-24-28-2018-proceedings-carlos-e-cuesta/
textbookfull.com

Software Architecture 13th European Conference ECSA 2019


Paris France September 9 13 2019 Proceedings Tomas Bures

https://textbookfull.com/product/software-architecture-13th-european-
conference-ecsa-2019-paris-france-september-9-13-2019-proceedings-
tomas-bures/
textbookfull.com

Software Engineering and Formal Methods: 18th


International Conference, SEFM 2020, Amsterdam, The
Netherlands, September 14–18, 2020, Proceedings Frank De
Boer
https://textbookfull.com/product/software-engineering-and-formal-
methods-18th-international-conference-sefm-2020-amsterdam-the-
netherlands-september-14-18-2020-proceedings-frank-de-boer/
textbookfull.com

Experimental Methods in Heat Transfer and Fluid Mechanics


1st Edition Je-Chin Han (Author)

https://textbookfull.com/product/experimental-methods-in-heat-
transfer-and-fluid-mechanics-1st-edition-je-chin-han-author/

textbookfull.com
Enacting Musical Time The Bodily Experience of New Music
Oxford Studies in Music Theory Mariusz Kozak

https://textbookfull.com/product/enacting-musical-time-the-bodily-
experience-of-new-music-oxford-studies-in-music-theory-mariusz-kozak/

textbookfull.com

Problem Solving in Data Structures Algorithms Using C


Programming Interview Guide 1st Edition Hemant Jain

https://textbookfull.com/product/problem-solving-in-data-structures-
algorithms-using-c-programming-interview-guide-1st-edition-hemant-
jain/
textbookfull.com

Hero of a Highland Wolf (Highland Wolf #4) 1st Edition


Terry Spear

https://textbookfull.com/product/hero-of-a-highland-wolf-highland-
wolf-4-1st-edition-terry-spear/

textbookfull.com

Global ethics an introduction Second Edition. Edition


Hutchings

https://textbookfull.com/product/global-ethics-an-introduction-second-
edition-edition-hutchings/

textbookfull.com

Advances in Protein Chemistry and Structural Biology 94


1st Edition Rossen Donev (Eds.)

https://textbookfull.com/product/advances-in-protein-chemistry-and-
structural-biology-94-1st-edition-rossen-donev-eds/

textbookfull.com
Chronic Lung Diseases Pathophysiology and Therapeutics
Sheikh Rayees

https://textbookfull.com/product/chronic-lung-diseases-
pathophysiology-and-therapeutics-sheikh-rayees/

textbookfull.com
Anton Jansen · Ivano Malavolta ·
Henry Muccini · Ipek Ozkaya ·
Olaf Zimmermann (Eds.)
LNCS 12292

Software
Architecture
14th European Conference, ECSA 2020
L’Aquila, Italy, September 14–18, 2020
Proceedings
Lecture Notes in Computer Science 12292

Founding Editors
Gerhard Goos
Karlsruhe Institute of Technology, Karlsruhe, Germany
Juris Hartmanis
Cornell University, Ithaca, NY, USA

Editorial Board Members


Elisa Bertino
Purdue University, West Lafayette, IN, USA
Wen Gao
Peking University, Beijing, China
Bernhard Steffen
TU Dortmund University, Dortmund, Germany
Gerhard Woeginger
RWTH Aachen, Aachen, Germany
Moti Yung
Columbia University, New York, NY, USA
More information about this series at http://www.springer.com/series/7408
Anton Jansen Ivano Malavolta
• •

Henry Muccini Ipek Ozkaya


• •

Olaf Zimmermann (Eds.)

Software
Architecture
14th European Conference, ECSA 2020
L’Aquila, Italy, September 14–18, 2020
Proceedings

123
Editors
Anton Jansen Ivano Malavolta
Koninklijke Philips N.V. VU Amsterdam
Eindhoven, The Netherlands Amsterdam, The Netherlands
Henry Muccini Ipek Ozkaya
University of L’Aquila Carnegie Mellon University
L’Aquila, Italy Pittsburg, PA, USA
Olaf Zimmermann
University of Applied Sciences
of Eastern Switzerland
Rapperswil, Switzerland

ISSN 0302-9743 ISSN 1611-3349 (electronic)


Lecture Notes in Computer Science
ISBN 978-3-030-58922-6 ISBN 978-3-030-58923-3 (eBook)
https://doi.org/10.1007/978-3-030-58923-3
LNCS Sublibrary: SL2 – Programming and Software Engineering

© Springer Nature Switzerland AG 2020


This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the
material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfilms or in any other physical way, and transmission or information
storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now
known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are
believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors
give a warranty, expressed or implied, with respect to the material contained herein or for any errors or
omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in
published maps and institutional affiliations.

This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface

The European Conference on Software Architecture (ECSA) is the premier European


conference that provides researchers and practitioners with a platform to present and
discuss the most recent, innovative, and significant findings and experiences in the field
of software architecture research and practice. This 14th edition of ECSA builds upon a
series of successful European workshops on software architecture held during
2004–2006, as well as a series of European software architecture conferences during
2007–2019. This edition of ECSA had a unique nature as due to the novel coronavirus,
COVID-19, it was the first ECSA conference that was originally to be held in L’Aquila,
Italy, but convened the participants around the globe virtually during September 14–18,
2020.
This year’s technical program included a main research track, three keynote talks,
and an industry track (included in this volume), as well as a doctoral symposium track
with its own keynote, a gender diversity in software architecture track with its own
keynote, and a tool demos track. In addition, ECSA 2020 also offered nine workshops
on diverse topics related to the software architecture discipline, such as automotive
architectures, quality-aware DevOps, and IoT systems. In addition, ECSA 2020 fea-
tured a journal first track partnering with the Journal of Software and Systems, Elsevier,
and the IEEE Software Magazine. The contributions of all these other meetings are
included in the companion proceedings, published in a volume by Springer CCIS.
ECSA 2020 received 103 contributions to all tracks. For the main research track, we
received 60 submissions in the two main categories: full and short research papers.
Based on the recommendations of the Program Committee, we accepted 12 papers as
full papers and 5 additional papers as short papers. Hence the acceptance rate for full
research papers was 20% for ECSA 2020. For the industrial track, we received 11
submissions and accepted 6 of them. The conference attracted papers (co-)authored by
researchers, practitioners, and academia from 24 countries (Austria, Australia, Brazil,
Canada, Chile, Columbia, Denmark, Ecuador, Finland, France, Germany, Italy, the
Netherlands, New Zealand, Spain, Pakistan, Poland, Portugal, Romania, Sweden,
Switzerland, Tunisia, the UK, and the USA).
The main ECSA program had three keynotes. Professor Ivica Crnkovic from
Chalmers University, Sweden, talked about “AI engineering—new challenges in sys-
tem and software architecting and managing lifecycle for AI-based systems.” Professor
Diomidis Spinellis, from Athens University of Economics and Business, Greece, gave
a presentation on “Fifty years of sustained progress: Form, forces, and lessons of Unix
architectural evolution.” The industry keynote was delivered by Michael Keeling, an
experienced software engineer and the author of the book “Design It! From Pro-
grammer to Software Architect.”
We are grateful to the members of the Program Committee for helping us to seek
submissions and provide valuable and timely reviews. Their efforts enabled us to put
together a high-quality technical program for ECSA 2020. We would like to thank the
vi Preface

members of the Organizing Committee of ECSA 2020 for playing an enormously


important role in successfully organizing the event with several tracks and collocated
events, as well as the workshop organizers, who made significant contributions to this
year’s successful event.
We also thank our sponsors who provided financial support for the event: the
University of L’Aquila, Italy, provided the technology infrastructure and the support
needed, nExpecto, and Springer.
The ECSA 2020 submission and review process was supported by the EasyChair
conference management system. We acknowledge the prompt and professional support
from Springer who published these proceedings in electronic volumes as part of the
Lecture Notes in Computer Science series. Finally, we would like to thank the authors
of all the ECSA 2020 submissions and the attendees of the conference for their
participation.
ECSA 2020 planning and execution took place during an unprecedented time in our
history, globally we had to face a pandemic as well as understand and react to con-
sequences of systematic racism and intolerance. As the ECSA community, we pledge
to stand against racism and intolerance and strive to elevate the ideas and voices of
black, indigenous, and people of color who have been historically excluded because of
systemic racism.
We thank the support of the software architecture community, they reacted by
continuing to advance the field of software architecture through their scientific sub-
missions to ECSA, while staying flexible as the Organizing Committee had to pivot
several times from an in-person, to hybrid, to an all-online conference.

July 2020 Anton Jansen


Ivano Malavolta
Henry Muccini
Ipek Ozkaya
Olaf Zimmermann
Organization

General Chair
Henry Muccini University of L’Aquila, Italy

Steering Committee
Muhammad Ali Babar The University of Adelaide, Australia
Paris Avgeriou University of Groningen, The Netherlands
Tomas Bures Charles University, Czech Republic
Rogério de Lemos University of Kent, UK
Laurence Duchien CRIStAL, University of Lille, France
Carlos E. Cuesta Rey Juan Carlos University, Spain
David Garlan Carnegie Mellon University, USA
Paola Inverardi University of L’Aquila, Italy
Patricia Lago Vrije Universiteit Amsterdam, The Netherlands
Antónia Lopes University of Lisbon, Portugal
Ivano Malavolta Vrije Universiteit Amsterdam, The Netherlands
Raffaela Mirandola Politecnico di Milano, Italy
Henry Muccini University of L’Aquila, Italy
Flavio Oquendo (Chair) IRISA, University of South Brittany, France
Ipek Ozkaya Carnegie Mellon University, USA
Jennifer Pérez Technical University of Madrid, Spain
Bedir Tekinerdogan Wageningen University, The Netherlands
Danny Weyns KU Leuven, Belgium
Uwe Zdun University of Vienna, Austria

Research Track
Program Committee Chairs
Ivano Malavolta Vrije Universiteit Amsterdam, The Netherlands
Ipek Ozkaya Carnegie Mellon University, USA

Program Committee
Jesper Andersson Linnaeus University, Sweden
Paris Avgeriou University of Groningen, The Netherlands
Rami Bahsoon University of Birmingham, UK
Luciano Baresi Politecnico di Milano, Italy
Thais Batista Federal University of Rio Grande do Norte, Brazil
Steffen Becker University of Stuttgart, Germany
Stefan Biffl TU Wien, Austria
viii Organization

Barbora Buhnova Masaryk University, Czech Republic


Tomas Bures Charles University, Czech Republic
Javier Cámara University of York, UK
Rafael Capilla Rey Juan Carlos University, Spain
Jan Carlson Malardalen University, Sweden
Siobhán Clarke Trinity College Dublin, Ireland
Vittorio Cortellessa University of L’Aquila, Italy
Carlos Cuesta Rey Juan Carlos University, Spain
Rogerio De Lemos University of Kent, UK
Elisabetta Di Nitto Politecnico di Milano, Italy
Andres Diaz Pace UNICEN University, Argentina
Khalil Drira LAAS-CNRS, France
Laurence Duchien University of Lille, France
Neil Ernst University of Victoria, Canada
George Fairbanks Google, USA
Matthias Galster University of Canterbury, New Zealand
Ilias Gerostathopoulos TU Munich, Germany
Carlo Ghezzi Politecnico di Milano, Italy
Volker Gruhn Universität Duisburg-Essen, Germany
Petr Hnetynka Charles University, Czech Republic
Paola Inverardi University of L’Aquila, Italy
Pooyan Jamshidi University of South Carolina, USA
Wouter Joosen KU Leuven, Belgium
Anne Koziolek Karlsruhe Institute of Technology, Germany
Heiko Koziolek ABB Corporate Research, Germany
Patricia Lago Vrije Universiteit Amsterdam, The Netherlands
Nuno Laranjerio University of Coimbra, Portugal
Nicole Levy CNAM, France
Grace Lewis Carnegie Mellon University, USA
Antónia Lopes University of Lisbon, Portugal
Kristina Lundquist Malardalen University, Sweden
Sam Malek University of California, Irvine, USA
Tomi Männistö University of Helsinki, Finland
Antonio Martini University of Oslo, Norway
Tommi Mikkonen University of Helsinki, Finland
Mehdi Mirakhorli Rochester Institute of Technology, USA
Raffaela Mirandola Politecnico di Milano, Italy
Marina Mongiello Politecnico di Bari, Italy
Gabriel Moreno Carnegie Mellon University, USA
Juan Manuel Murillo University of Extremadura, Spain
Elisa Yumi Nakagawa University of São Paulo, Brazil
Elena Navarro University of Castilla-La Mancha, Spain
Flavio Oquendo Université Bretagne Sud, France
Claus Pahl Free University of Bozen-Bolzano, Italy
Liliana Pasquale University College Dublin, LERO, Ireland
Cesare Pautasso USI Lugano, Switzerland
Organization ix

Patrizio Pelliccione Chalmers University of Technology, Sweden


Jennifer Perez Universidad Politécnica de Madrid, Spain
Claudia Raibulet University of Milano-Bicocca, Italy
Maryam Razavian Eindhoven University of Technology, The Netherlands
Ralf Reussner Karlsruhe Institute of Technology, Germany
Bradley Schmerl Carnegie Mellon University, USA
Romina Spalazzese Malmö University, Sweden
Girish Suryanarayana Siemens Corporate Technology, India
Bedir Tekinerdogan Wageningen University, The Netherlands
Chouki Tibermacine University of Montpellier, France
Rainer Weinreich Johannes Kepler University Linz, Austria
Danny Weyns KU Leuven, Belgium
Uwe Zdun University of Vienna, Austria
Liming Zhu The University of New South Wales, Australia
Olaf Zimmermann Hochschule für Technik Rapperswill, Switzerland

Additional Reviewers

Anastase Adonis Axel Legay


Abdulatif Alabdulatif Samir Ouchani
Maria Istela Cagnin Eduardo Silva
Everton Cavalcante Roberto Verdecchia
Milena Guessi

Industry Track
Program Committee Chairs
Anton Jansen Philips, The Netherlands
Olaf Zimmermann Hochschule für Technik Rapperswil, Switzerland

Program Committee
Mohsen Anvaari Independent Consultant, Norway
Andrei Furda Hitachi Rail STS, Australia
Heiko Koziolek ABB Corporate Research, Germany
Thomas Kurpick Trusted Shops, Germany
Xabier Larrucea Tecnalia, Spain
Daniel Lübke iQuest GmbH, Germany
Željko Obrenović Incision, The Netherlands
Eltjo Poort CGI, The Netherlands
Daniele Spinosi Micron Technology, Italy
Michael Stal Siemens, Germany
Johannes Wettinger Bosch, Germany
Erik Wittern IBM T.J. Watson Research Center, USA
Eoin Woods Endava, UK
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
x Organization

Additional Reviewers

Stefan Kapferer
Mirko Stocker

Organizing Committee
Proceedings Chair
Mirco Franzago University of L’Aquila, Italy

Web Chair
Karthik Vaidhyanathan Gran Sasso Science Institute, Italy

Tool Demos Chairs


Paris Avgeriou University of Groningen, The Netherlands
Barbora Buhnova Masaryk University, Czech Republic

Gender Diversity in SA Chairs


Javier Camara University of York, UK
Catia Trubiani Gran Sasso Science Institute, Italy

Doctoral Symposium Chairs


Patrizia Scandurra DIIMM, University of Bergamo, Italy
Danny Weyns KU Leuven, Belgium

Workshops Chairs
Mauro Caporuscio Linnaeus University, Sweden
Anne Koziolek Karlsruhe Institute of Technology, Germany

Journal First Chair


Uwe Zdun University of Vienna, Austria

Publicity Chairs
Stéphanie Challita Inria, France
Juergen Musil TU Wien, Austria

Student Volunteer Chairs


Roberta Capuano University of L’Aquila, Italy
Jamal El Hecham IRISA, France
Organization xi

Virtualization Chairs
Claudio Di Sipio University of L’Aquila, Italy
Luca Traini University of L’Aquila, Italy
Keynotes
AI Engineering — New Challenges in System
and Software Architecting and Managing
Lifecycle for AI-based Systems

Ivica Crnkovic

Chalmers University, Gothenburg, Sweden


[email protected]

Abstract. Artificial Intelligence based on Machine Learning, and in particular


Deep Learning, is today the fastest growing trend in software development, and
literally used in all other research disciplines, with a very high impact on the
modern society. However, a wide use of AI in many systems, in particular
dependable systems, is still far away of being widely used. On the one hand
there is a shortage of expertise, on the other hand the challenges for managing
AI-based complex and dependable systems are enormous, though less known,
and in general underestimated. Some aspects of these challenges are based on
management of resources, including computational, data storage capacity, per-
formance, and real-time constraints. Introduction of AI-based components, i.e.
components that includes AI algorithms, require significant changes in system
and software architecture, and its successful deployment is based on many
architectural decisions and on changes of the development process.
This talk discusses some of these challenges, illustrate a case of
Cyber-physical systems, and gives some ideas for new research in software
engineering inducing software architecture, i.e. for AI engineering.

Short Bio

Ivica Crnkovic is a professor of software engineering at Chalmers University,


Gothenburg, Sweden. He is the director of ICT Area of Advance at Chalmers
University, and the director of Chalmers AI Research Centre (CHAIR). His research
interests include, software architecture, software development processes, software
engineering for large complex systems, component-based software engineering, and
recently Software engineering for AI. Professor Crnkovic is the author of more than
200 refereed publications on software engineering topics, and guest editor of a number
of special issues in different journals and magazines, such as IEEE Software, and
Elsevier JSS. He was the general chair of 40th International Conference on Software
Engineering (ICSE) 2018, held in Gothenburg, 2018. Before Chalmers, Ivica Crnkovic
was affiliated with Mälardalen University, Sweden, and before that he was employed at
ABB company, Sweden, where he was responsible for software development envi-
ronments and tools.
More information is available on http://www.ivica-crnkovic.net
Fifty Years of Sustained Progress: Form,
Forces, and Lessons of Unix Architectural
Evolution

Diomidis Spinellis

Department of Management Science and Technology,


Athens University of Economics and Business, Greece
[email protected]

Abstract. Unix has evolved over five decades, shaping modern operating sys-
tems, key software technologies, and development practices. Studying the
evolution of this remarkable system from an architectural perspective can pro-
vide insights on how to manage the growth of large, complex, and long-lived
software systems. Along main Unix releases leading to the FreeBSD lineage we
examine core architectural design decisions, the number of features, and code
complexity, based on the analysis of source code, reference documentation, and
related publications. We see that the growth in size has been uniform, with some
notable outliers, while cyclomatic complexity has been religiously safeguarded.
A large number of Unix-defining design decisions were implemented right from
the very early beginning, with most of them still playing a major role. Unix
continues to evolve from an architectural perspective, but the rate of architec-
tural innovation has slowed down over the system’s lifetime. Architectural
technical debt has accrued in the forms of functionality duplication and unused
facilities, but in terms of cyclomatic complexity it is systematically being paid
back through what appears to be a self-correcting process. Some unsung
architectural forces that shaped Unix are the emphasis on conventions over rigid
enforcement, the drive for portability, a sophisticated ecosystem of other
operating systems and development organizations, and the emergence of a
federated architecture, often through the adoption of third-party subsystems.
These findings allow us to form an initial theory on the architecture evolution of
large, complex operating system software.

Short Bio

Diomidis Spinellis is a Professor in the Department of Management Science and


Technology at the Athens University of Economics and Business, Greece. His research
interests include software engineering, IT security, and cloud systems engineering. He
has written two award-winning, widely- translated books: “Code Reading” and “Code
Quality: The Open Source Perspective”. His most recent book is “Effective Debugging:
66 Specific Ways to Debug Software and Systems”. Dr. Spinellis has also published
more than 300 technical papers in journals and refereed conference proceedings, which
have received more than 8000 citations. He served for a decade as a member of the
Fifty Years of Sustained Progress: Form, Forces, and Lessons of Unix xvii

IEEE Software editorial board, authoring the regular “Tools of the Trade” column, and
as the magazine’s Editor-in- Chief over the period 2015–2018. He has contributed code
that ships with Apple’s macOS and BSD Unix and is the developer of UMLGraph,
CScout, git-issue, and other open-source software packages, libraries, and tools.
Dr. Spinellis is a senior member of the ACM and the IEEE.
Mighty Methods: Four Essential Tools
for Every Software Architect’s Silver Toolbox

Michael Keeling

LendingHome, USA
[email protected]

Abstract. It is an oversimplification to say that we are living in extraordinary


times. When my team was first asked to work from home back in February we
were happy to do our part in attempting to stem the tide of an inevitable global
pandemic. While we were eager to help, we were also nervous about how
suddenly distributing our co-located team would affect our way of working. And
yet, after several months we’ve settled into a “new normal” that looks sur-
prisingly similar to our way of working from Before. Much about how we
worked changed, in some cases dramatically, but a handful of design methods
that were central to our team remained effective even after the shift from a
co-located to fully distributed context. In particular, mob programming, example
mapping, architecture decision records, and visual thinking are consistently
among the most versatile and reliable tools in my silver toolbox.
In this talk we’ll briefly explore these four methods and speculate about what
makes them effective tools for software architects in such a broad range of
contexts and situations. While this is not a talk about remote work per se, we’ll
attempt to use the shifting context of work we’ve all experienced to further
isolate variables that might help us identify other potential mighty methods
waiting for software architects to adopt.

Short Bio

Michael Keeling is a software engineer at LendingHome and the author of Design It!:
From Programmer to Software Architect. Prior to LendingHome, Keeling worked at
IBM on the Watson Discovery Service, Vivisimo, BuzzHoney, and Black Knight
Technology. Keeling has also served as an Adjunct Faculty member at Carnegie
Mellon University in the Master of Software Engineering Distance Program since
2009. He holds a Master in Software Engineering from Carnegie Mellon University in
Pittsburgh, PA and a Bachelor of Science in Computer Science from the College of
William and Mary in Williamsburg, VA.
Keeling’s current research interests include software architecture design methods,
agile software development, and human factors of software engineering. He is a regular
speaker in the architecture and agile communities, presenting papers and talks, and
facilitating workshops for both national and international audiences. Keeling is a
two-time winner of the SEI/IEEE Software “Architecture in Practice” Best Presentation
Award for talks given at the 2012 and 2014 SATURN conferences. A full list of his
talks and workshops are available on his website:
http://www.neverletdown.net/p/speaking-and-writing.html.
Contents

Microservices

Assessing Architecture Conformance to Coupling-Related Patterns


and Practices in Microservices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Evangelos Ntentos, Uwe Zdun, Konstantinos Plakidas,
Sebastian Meixner, and Sebastian Geiger

Formal Software Architectural Migration Towards Emerging


Architectural Styles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Nacha Chondamrongkul, Jing Sun, and Ian Warren

Monolith Migration Complexity Tuning Through the Application


of Microservices Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
João Franscisco Almeida and António Rito Silva

Uncertainty, Self-adaptive, and Open System

Decentralized Architecture for Energy-Aware Service Assembly . . . . . . . . . . 57


Mauro Caporuscio, Mirko D’Angelo, Vincenzo Grassi,
and Raffaela Mirandola

Continuous Experimentation for Automotive Software on the Example


of a Heavy Commercial Vehicle in Daily Operation . . . . . . . . . . . . . . . . . . 73
Federico Giaimo and Christian Berger

Towards Using Probabilistic Models to Design Software Systems


with Inherent Uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Alex Serban, Erik Poll, and Joost Visser

Model-Based Approaches

Empowering SysML-Based Software Architecture Description with Formal


Verification: From SysADL to CSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Fagner Dias, Marcel Oliveira, Thais Batista, Everton Cavalcante,
Jair Leite, Flavio Oquendo, and Camila Araújo

A Flexible Architecture for Key Performance Indicators Assessment


in Smart Cities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Martina De Sanctis, Ludovico Iovino, Maria Teresa Rossi,
and Manuel Wimmer
xx Contents

Performance and Security Engineering

A Multi-objective Performance Optimization Approach


for Self-adaptive Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Davide Arcelli

Data Stream Operations as First-Class Entities in Component-Based


Performance Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Dominik Werle, Stephan Seifermann, and Anne Koziolek

Architecture-Centric Support for Integrating Security Tools


in a Security Orchestration Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
Chadni Islam, Muhammad Ali Babar, and Surya Nepal

VisArch: Visualisation of Performance-based Architectural Refactorings . . . . 182


Catia Trubiani, Aldeida Aleti, Sarah Goodwin, Pooyan Jamshidi,
Andre van Hoorn, and Samuel Gratzl

Architectural Smells and Source Code Analysis

An Initial Study on the Association Between Architectural Smells


and Degradation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Sebastian Herold

Architectural Technical Debt: A Grounded Theory . . . . . . . . . . . . . . . . . . . 202


Roberto Verdecchia, Philippe Kruchten, and Patricia Lago

Does BERT Understand Code? – An Exploratory Study on the Detection


of Architectural Tactics in Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Jan Keim, Angelika Kaplan, Anne Koziolek, and Mehdi Mirakhorli

Education and Training

Teaching Students Software Architecture Decision Making. . . . . . . . . . . . . . 231


Rafael Capilla, Olaf Zimmermann, Carlos Carrillo,
and Hernán Astudillo

The PDEng Program on Software Technology: Experience Report


on a Doctorate Level Architecture Training Program . . . . . . . . . . . . . . . . . . 247
Ad T. M. Aerts and Yanja Dajsuren

Experiences and Learnings from Industrial Case Studies

Architectural Concerns for Digital Twin of the Organization. . . . . . . . . . . . . 265


Mauro Caporuscio, Farid Edrisi, Margrethe Hallberg,
Anton Johannesson, Claudia Kopf, and Diego Perez-Palacin
Contents xxi

Quick Evaluation of a Software Architecture Using the Decision-Centric


Architecture Review Method: An Experience Report . . . . . . . . . . . . . . . . . . 281
Pablo Cruz, Luis Salinas, and Hernán Astudillo

The Quest for Introducing Technical Debt Management in a Large-Scale


Industrial Company . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Somayeh Malakuti and Sergey Ostroumov

Architecting Contemporary Distributed Systems

Determining Microservice Boundaries: A Case Study Using Static


and Dynamic Software Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Tiago Matias, Filipe F. Correia, Jonas Fritzsch, Justus Bogner,
Hugo S. Ferreira, and André Restivo

IAS: An IoT Architectural Self-adaptation Framework . . . . . . . . . . . . . . . . . 333


Mahyar T. Moghaddam, Eric Rutten, Philippe Lalanda,
and Guillaume Giraud

A Comparison of MQTT Brokers for Distributed IoT Edge Computing . . . . . 352


Heiko Koziolek, Sten Grüner, and Julius Rückert

Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369


Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
Microservices
Assessing Architecture Conformance
to Coupling-Related Patterns
and Practices in Microservices

Evangelos Ntentos1(B) , Uwe Zdun1 , Konstantinos Plakidas1 ,


Sebastian Meixner2 , and Sebastian Geiger2
1
Faculty of Computer Science, Research Group Software Architecture,
University of Vienna, Vienna, Austria
{Evangelos.Ntentos,Uwe.Zdun,Konstantinos.Plakidas}@univie.ac.at
2
Siemens Corporate Technology, Vienna, Austria
{Sebastian.Meixner,Sebastian.Geiger}@siemens.com

Abstract. Microservices are the go-to architectural style for building


applications that are polyglot, support high scalability, independent
development and deployment, and are rapidly adaptable to changes.
Among the core tenets for a successful microservice architecture is high
independence of the individual microservices, i.e. loose coupling. A num-
ber of patterns and best practices are well-established in the literature, but
most actual microservice-based systems do not, as a whole or in part, con-
form to them. Assessing this conformance manually is not realistically pos-
sible for large-scale systems. This study aims to provide the foundations
for an automated approach for assessing conformance to coupling-related
patterns and practices specific for microservice architectures. We propose
a model-based assessment based on generic, technology-independent met-
rics, connected to typical design decisions encountered in microservice
architectures. We demonstrate and assess the validity and appropriate-
ness of these metrics by performing an assessment of the conformance of
real-world systems to patterns through statistical methods.

1 Introduction

Microservice architectures [14,15,22] describe an application as a collection of


autonomous and loosely coupled services, typically modeled around a domain.
Key microservice tenets are development in independent teams, cloud-native
technologies and architectures, polyglot technology stacks including polyglot
persistence, lightweight containers, loosely coupled service dependencies, high
releasability, and continuous delivery [22]. Many architectural patterns that
reflect recommended “best practices” in a microservices context have already
been published in the literature [18,19,23]. The fact that microservice-based
systems are complex and polyglot means that an automatic or semi-automatic
assessment of their conformance to these patterns is difficult: real-world systems
feature combinations of these patterns, and different degrees of violations of the
c Springer Nature Switzerland AG 2020
A. Jansen et al. (Eds.): ECSA 2020, LNCS 12292, pp. 3–20, 2020.
https://doi.org/10.1007/978-3-030-58923-3_1
4 E. Ntentos et al.

same; and different technologies in different parts of the system implement the
patterns in different ways, making the automatic parsing of code and identifica-
tion of the patterns a haphazard process.
This work focuses on describing a method for assessing architecture con-
formance to coupling-related patterns and practices in microservice architec-
tures. Coupling between microservices is caused by existence of dependencies,
e.g. whenever one service calls another service to fulfill a request or share data.
Loose coupling is an established topic in service-oriented architectures [22] but
the application to the specific context of microservice architectures has not, to
our knowledge, been examined so far.
Strong coupling is conflicting with some of the key microservice tenets men-
tioned above. In particular, releasability, which is a highly desirable character-
istic in modern systems due to the emergence of DevOps practices, relies on
the rapid and independent release of individual microservices, and is compro-
mised by strong dependencies between them. For the same reason, development
in independent teams becomes more difficult, and independent deployment of
individual microservices in lightweight containers is also impeded. This work
covers three broad coupling aspects: Coupling through Databases, resulting from
reliance on commonly accessed data via shared databases; Coupling through Syn-
chronous Invocations, resulting from synchronous communication between indi-
vidual services; and Coupling through Shared Services, which arises through the
dependence on common shared services (for details see Sect. 3).
In reality, of course, no microservice system can support all microservice
tenets well at the same time. Rather the architectural decisions for or against the
use of specific patterns and practices must reflect a trade-off between ensuring
the desired tenets and other important quality attributes [12,22]. From these
considerations, this paper aims to study the following research questions:
– RQ1 How can we automatically assess conformance to loose coupling-related
patterns and practices in the context of microservice architecture decision
options?
– RQ2 How well do measures for assessing coupling-related decision options
and their associated tenets perform?
– RQ3 What is a set of minimal elements needed in a microservice architecture
model to compute such measures?
In pursuing of these questions, we surveyed the relevant literature (Sect. 2)
and gathered knowledge sources about established architecture practices and
patterns, their relations and tenets in form of a qualitative study on microser-
vice architectures. This enabled us to create a meta-model for the description
of microservice architectures, which was verified and refined through iterative
application in modelling a number of real-world systems, as outlined in Sect. 4.
We manually assessed all models and model variants on whether each deci-
sion option is supported, thereby deriving an objective ground truth (Sect. 5).
As the basis for an automatic assessment, we defined a number of generic,
technology-independent metrics to measure architecture conformance to the
decision options, i.e. at least one metric per major decision option (Sect. 6).
Assessing Architecture Conformance 5

These metrics (and combinations thereof) were applied on the models and model
variants to derive a numeric assessment, and then compared to the ground truth
assessment via an ordinal regression analysis (Sect. 7). Section 8 discusses the
results of our approach, as well as its limitations and potential threats to valid-
ity. Finally, in Sect. 9 we draw our conclusions and discuss options for future
work.

2 Related Work
Many studies focus on best practices for microservice architectures. Richard-
son [18] has published a collection of microservice patterns related to major
design and architectural practices. Patterns related to microservice APIs have
been introduced by Zimmermann et al. [23], while Skowronski [19] collected best
practices for event-driven microservice architectures. Microservice fundamentals
and best practices are also discussed by Fowler and Lewis [14], and are summa-
rized in a mapping study by Pahl and Jamshidi [16]. Taibi and Lenarduzzi [20]
study microservice “bad smells”, i.e. practices that should be avoided (which
would correspond to violations in our work).
Many software metrics-related studies for evaluating the system architecture
and individual architectural components exist, but most of them are not specific
to the microservices domain. Allen et al. [1,2] study component metrics for mea-
suring a number of quality attributes, e.g. size, coupling, cohesion, dependencies
of components, and the complexity of the architecture. Additional studies for
assessing quality attributes related to coupling and cohesion have been proposed
and validated in the literature [3,4,6,11]. Furthermore, a small number of stud-
ies [5,17,21] propose metrics specifically for assessing microservice-based soft-
ware architectures. Although these works study various aspects of architecture,
design metrics, and architecture-relevant tenets such as coupling and indepen-
dent deployment, their approach is usually generic. None of the works covers all
the related software aspects for measuring coupling in a microservice context:
the use of databases, system asynchronicity, and shared components. This is the
overarching perspective of our work, and the chief contribution of this paper.

3 Decisions

In this section, we briefly introduce the three coupling-related decisions along


with their decision options (i.e. the relevant patterns and practices) which we
study in this paper. We also discuss the impact on relevant microservice tenets,
which we later on use as an argumentation for our manual ground truth assess-
ment in Sect. 5.
Inter-Service Coupling Through Databases. One important decision in
microservice-based systems is data persistence, which needs to take into account
qualities such as reliability and scalability, but also adhere to microservice-
specific best practices, which recommend that each microservice should be
6 E. Ntentos et al.

loosely coupled and thus able to be developed, deployed, and scaled indepen-
dently [14]. At one extreme of the scale, one option is No Persistent Data Storage,
which is applicable only for services whose functions are performed on transient
data. Otherwise, the most recommended option is the Database per Service pat-
tern [18]: each service has its own database and manages its own data indepen-
dently. Another option, which negatively affects loose coupling, is to use a Shared
Database [18]: a service writes its data in a common database and other services
can read these data when required. There are two different ways to implement
this pattern: in Data Shared via Shared Database multiple services share the
same table, resulting in a strongly coupled system, whereas in Databased Shared
but no Data Sharing each service writes to and reads from its own tables, which
has a lesser impact on coupling.
Inter-Service Coupling Through Synchronous Invocations. Service inte-
gration is another core decision when building a microservice-based system. A
theoretically optimal system of independent microservices would feature no com-
munication between them. Of course, services need to communicate in reality,
and so the question of integrating them so as to not result in tight inter-service
coupling becomes paramount. The recommended practice is that communica-
tion between the microservices should be, as much as possible, asynchronous.
This can be achieved through several patterns which are widely implemented in
typical technology stacks: the Publish/Subscribe [13] pattern, in which services
can subscribe to a channel to which other services can publish; the use of a
Messaging [13] middleware, which decouples communication by using a queue
to store messages sent by the producer until they are received by the consumer;
the Data Polling [18] pattern, in which services periodically poll other services
for data changes; and the Event Sourcing [18] pattern, that ensures that all
changes to application state are stored as a sequence of events; Asynchronous
Direct Invocation technique, in which services communicate asynchronously via
direct invocations. Applying these patterns ensures loose coupling (to different
degrees), and increases the system reliability.
Inter-Service Coupling Through Shared Services. Many of the microser-
vice patterns focus on system structure, i.e. avoiding services sharing other ser-
vices altogether, or at least not in a strongly coupled way. An optimal system
in terms of architecture quality should not have any shared service. In reality,
this is often not feasible, and in larger systems service sharing leads to chains of
transitive dependencies between services. This is problematic when a service is
unaware of its transitive dependencies, and of course for the shared service itself,
where the needs of its dependents must always be taken into account during its
evolution. We define three cases: a Directly Shared Service is a microservice which
is directly linked to and required by more than one other service; a Transitively
Shared Service is a microservice which is linked to other services via at least one
intermediary service; and a Cyclic Dependency [10] which is formed when there
is a direct or transitive path that leads back to its origin, i.e. that allows a ser-
vice to be ultimately dependent on itself after a number of intermediary services.
Cyclic dependencies often emerge inadvertently through increasing complexity
Random documents with unrelated
content Scribd suggests to you:
R. O. G. CONTESTS
(Rising from the Ground)
Models to be set on the ground and allowed to start off without
any effort on the part of the contestant. Models should rise from the
ground before reaching a predetermined mark, no flight to be
considered unless it does so. Contestant may start at any length
back from the mark, but the distance is to be measured only from
the mark.

MECHANICALLY DRIVEN MODEL CONTESTS


For duration, or distance, contests for mechanically driven models
might be held under the same ruling that applies to R. O. G. models.
But owing to the many types of engines used in mechanically driven
models, definite rules for the holding of such a contest must be left
to the discretion of the club or contestants.

EVENTS OPEN TO ALL


These events are open to all, with no handicaps to be imposed on
either club members or others.

INTER-CLUB MODEL AËROPLANE TOURNAMENTS


(Prizes to be determined by contesting clubs)
The tournament to consist of five events as follows:
Duration: Models launched from hand.
Distance: Models launched from hand.
Duration: Models launched from ground. R. O. G.
Distance: Models launched from ground. R. O. G.
Duration: Models launched from water. R. O. W.
Dates for inter-club contest should be arranged for at least three
weeks prior to date of first contest, to allow ample time for the
construction of special models and elimination trials.
In event of inclement weather the contest to take place the week
following (each contest following to be set one week ahead), or at
any time that may be determined by a committee appointed by the
contesting clubs.
Each competing club must be represented by a team of three
contestants and one non-competitor, who will act as judge in
conjunction with the judges from the other clubs, and a manager
selected by the judges who will supervise over the entire tournament
and issue calls for meetings. (Substitutes should also be selected for
any possible vacancy.)
Meetings of the judges of the competing clubs should be held at
some designated place, at which time dates and general details shall
be arranged, and between events there should be a meeting called,
for general discussion regarding the recent event, receive protests
and suggestions and to announce officially the result of the contest.
The manager shall have control of the various events, assisted by
the judges and they shall decide all disputes that may arise, and act
as scorers and timers, as well.
Each flyer will be allowed but one model and shall be entitled to
three official flights, but he shall be permitted to make any repairs or
replace any broken parts. No contestant shall be privileged to fly a
model not of his own construction. Each event shall close when all
the contestants have made three official flights, or when three hours’
time has elapsed.
WORLD’S MODEL FLYING RECORDS
(Twin Propeller Pusher Type Models)
monoplane

Year 1917. Ward Pease (America), rise off ground, distance


3364 feet.
Year 1916. Thomas Hall (America), hand launched, distance
5537 feet.
Year 1917. Donovan Lathrop (America), hand launched,
duration 5 minutes.
Year 1917. Emil Laird (America), 18 inch type model, distance
750 feet.
Year 1915. Wallace A. Lauder (America), hand launched,
distance 3537 feet.
Year 1915. Wallace A. Lauder (America), hand launched,
duration 195 seconds.
Year 1914. Fred Watkins (America), rise off ground, distance
1761 feet.
Year 1914. J. E. Louch (England), rise off ground, duration
169 seconds.
Year 1915. E. C. Cook (America), rise off water, duration 100
seconds.
(Twin Propeller Tractor Type)
monoplane

Year 1913. Harry Herzog (America), rise off water, duration 28


seconds.
(Twin Propeller Pusher Type)
biplane

Year 1915. A. H. Wheeler (America), rise off ground, duration


143 seconds.
(Single Propeller Pusher Type)
monoplane

Year 1914. J. E. Louch (England), hand launched, duration 95


seconds.
Year 1914. W. E. Evans (England), rise from ground, distance
870 feet.
Year 1914. J. E. Louch (England), rise from ground, duration
68 seconds.
Year 1914. L. H. Slatter (England), rise from water, duration
35 seconds.
(Single Propeller Tractor Type)
monoplane

Year 1915. D. Lathrop (America), hand launched, distance


1039 feet.
Year 1915. D. Lathrop (America), hand launched, duration
240 seconds.
Year 1914. C. D. Dutton (England), rise from ground, distance
570 feet.
Year 1914. J. E. Louch (England), rise from ground, duration
94 seconds.
Year 1915. L. Hittle (America), rise from water, duration 116
seconds.
(Single Propeller Tractor Type)
biplane

Year 1915. Laird Hall (American), rise from ground, duration


76 seconds.
(Flying Boat Type)
monoplane

Year 1915. Robert La Tour (America), rise from water,


duration 43 seconds.
(Flying Boat Type)
biplane

Year 1914. C. V. Obst (America), rise from water, duration 27


seconds.
(Mechanical Driven Model)
Year 1914. D. Stanger (England), rise from ground, duration
51 seconds.

(All British records are quoted from Flight)


DICTIONARY OF AËRONAUTICAL TERMS

A
Aërodrome—A tract of land selected for flying purposes.
Aërodynamics—The science of Aviation, literally the study of the influence of
air in motion.
Aërofoil—A flat or flexed plane which lends support to an aëroplane.
Aëronaut—One engaged in navigating the air.
Aëronautics—The science of navigating the air.
Aëroplane—A heavier than air machine supported by one or more fixed
wings or planes.
Aërostatics—The science of aërostation, or of buoyancy caused by
displacement, ballooning.
Aërostation—The science of lighter than air or gas-borne machines.
Aileron—The outer edge or tip of a wing, usually adjustable, used to
balance or stabilize.
Airship—Commonly used to denote both heavier and lighter than air
machines; correctly a dirigible balloon.
Angle of Incidence—The angle of the wing with the line of travel.
Area—In the case of wings, the extent of surface measured on both the
upper and lower sides. An area of one square foot comprises the actual
surface of two square feet.
Aspect Ratio—The proportion of the chord to the span of a wing. For
example if the wing has a span of 30 inches and a chord of 6 inches
the aspect ratio will be 5 or span / chord.
Automatic Stability—Stability secured by fins, the angle of the wings and
similar devices.
Aviator—One engaged in Aviation.
Aviation—The science of heavier than air machines.
Angle of Blade—The angle of the blade of a propeller to the axis of the
shaft.

B
Balancer—A plane or other part intended for lateral equilibrium.
Bearing Block—Used in connection with the mounting of propellers on model
aëroplanes. Made from wood and metal.
Brace—Strip of bamboo or other material used to join together the frame
side members. Also used in joining other parts of a model.
Biplane—An aëroplane or model aëroplane with two wings superposed.
Body—The main framework supporting the wing or wings and the
machinery.
Banking—The lateral tilting of an aëroplane when taking a turn.

C
Camber—The rise of the curved contour of an arched surface above the
Chord Line.
Center of Gravity—The point at which the aëroplane balances.
Center of Pressure—The imaginary line beneath the wing at which the
pressure balances.
Chassis (Carriage)—The part on which the main body of an aëroplane or
model aëroplane is supported on land or water.
Chord—The distance between the entering and trailing edges of a wing.

D
Deck—The main surface of a biplane or multiplane.
Directional Control—The ability to determine the direction of the flight of an
aëroplane.
Dirigible—A balloon driven by power.
Dope—A coating for wings.
Down Wind—With the wind.
Drift—The resistance of the wing to the forward movement.
Dihedral Angle—The inclination of the wings to each other usually bent up
from the center in the form of a flat V.

E
Elevator—The plane or wing intended to control the vertical flight of the
machine.
Engine—A contrivance for generating driving power.
Engine Base—Main stick used for frame of single stick model.
Engineer—One who controls the power, driving the machinery.
Entering Edge or Leading Edge—Front edge or edge of the surface upon which
the air impinges.
Equilibrator—A plane or other contrivance which makes for stability.

F
Fin—A fixed vertical plane.
Flexed—A wing is said to be flexed when it curves upward forming an arc of
a circle.
Flying Stick—Name applied to ordinary A type and single stick models.
Flying Machine—Literally a form of lighter than air craft; a gas-borne airship.
Flying Boat—A hull or large float used in connection with an aëroplane to
enable its rising from and alighting upon the surface of the water.
Frame—A single or double stick structure to which all parts of a model are
attached. Three or more sticks are sometimes employed in the
construction of a frame. However, the usual number is two, joined
together in the form of letter “A.”
Frame Hooks—The looped ends of a piece of wire attached to the point of
the frame to accommodate the S hooks attached to the rubber strands.
Frame Side Members—Two main sticks of an A type frame.
Fuselage—The body or framework of an aëroplane.

G
Glider—An aëroplane without motive power.
Guy—A brace, usually a wire or cord used for tuning up the aëroplane.
Gross Weight—The weight of the aircraft, comprising fuel, lubricating oils
and the pilot.
Gyroscope—A rotating mechanism for maintaining equilibrium.
Gap—The vertical distance between the superposed wings.

H
Hangar—A shed for housing an aëroplane.
Harbor—A shelter for aircraft.
Heavier than Air—A machine weighing more than the air it displaces.
Helicopter—A flying machine in which propellers are utilized to give a lifting
effect by their own direct action on the air. In aviation the term implies
that the screw exerts a direct lift.
Helmsman—One in charge of the steering device.
Hydroaëroplane—An aëroplane with pontoons to enable its rising from the
surface of the water. Known as hydro in model circles.

K
Keel—A vertical plane or planes arranged longitudinally either above or
below the body for the purpose of giving stability.

L
Lateral Stability—Stability which prevents side motion.
Loading—The gross weight divided by the supporting area measured in
square feet.
Longitudinal Stability—Stability which prevents fore and aft motion or
pitching.
Longerons—Main members of the fuselage. Sometimes called longitudinals.

M
Mast—A perpendicular stick holding the stays or struts which keep the
wings rigid.
Model Aëroplane—A scale reproduction of a man-carrying machine.
Mechanical Power—A model driven by means other than rubber strands such
as compressed air, steam, gasoline, spring, electricity and so forth is
termed a mechanical driven model. The power used is termed
mechanical power.
Motive Power—In connection with model aëroplanes a number of rubber
strands evenly strung from the propeller shaft to the frame hooks
which while unwinding furnish the necessary power to propel the
model.
Main Beam—In connection with model aëroplanes a long stick which is
secured to the under side of the wing frame at the highest point in the
curve of the ribs adding materially to the rigidity of the wing.
Monoplane—An aëroplane or heavier than air machine supported by a single
main wing which may be formed of two wings extending from a central
body.
Multiplane—An aëroplane with more than four wings superposed.

N
Nacelle—The car of a dirigible balloon, literally a cradle. Also applied to
short body used in connection with aëroplanes for the accommodation
of the pilot and engine.
Net Weight—Complete weight of the machine without pilot, fuel or oil.

O
Ornithopter—A flapping wing machine which has arched wings like those of
a bird.
Orthogonal—A flight maintained by flapping wings.
Outriggers—Members which extend forward or rearward from the main
planes for the purpose of supporting the elevator or tail planes of an
aëroplane.

P
Plane—A surface or wing, either plain or flexed, employed to support or
control an aëroplane.
Pilot—One directing an aëroplane in flight.
Pitch—Theoretical distance covered by a propeller in making one revolution.
Propeller—The screw used for driving an aëroplane.
Propeller Bearings—Pieces of bronze tubing or strips of metal formed to the
shape of the letter “L” used to mount propellers. Also made from
blocks of wood.
Propeller Blank—A block of wood cut to the design of a propeller.
Propeller Spar(s)—The heavy stick or sticks upon which the bearing or
bearings of a single or twin propeller model are mounted.
Propeller Shaft—A piece of wire which is run through the hub of the
propeller and tubing in mounting the propeller.
Pylon—Correctly, a structure housing a falling weight used for starting an
aëroplane, commonly a turning point in aëroplane flights.
Pusher—An aëroplane with the propeller or propellers situated in back of the
main supporting surfaces.

Q
Quadruplane—An aëroplane with four wings superposed.

R
Rudder—A plane or group of planes used to steer an aëroplane.
Runner—Strip beneath an aëroplane used for a skid.
Running Gear or Landing Gear—That portion of the chassis consisting of the
axle, wheels and shock absorber.
Rib—Curved brace fastened to the entering and trailing edges of a wing.

S
Scale Model—A miniature aëroplane exactly reproducing the proportions of
an original.
Spar—A mast strut or brace.
Side Slip—The tendency of an aëroplane to slide or slip sideways when too
steep banking is attempted.
Stability—The power to maintain an even keel in flight.
Starting Platform—A runway to enable an aëroplane to leave the ground.
Surface Friction—Resistance offered by planes or wings.
Slip—The difference between the distance actually traveled by a propeller
and that measured by the pitch.
Soaring Flight—A gliding movement without apparent effort.
Sustaining Surface—Extent of the wings or planes which lend support to an
aëroplane.
Span (Spread)—The dimension of a surface across the air stream.
Streamline—Exposing as little surface as possible to offer resistance to air.
Skids—In connection with model aëroplanes, steel wires or strips of bamboo
allowed to extend below the frame to protect the model in landing and
to permit its rising off the ground or ice.
S or Motor Hooks—A piece of wire bent in a double hook to resemble the
letter “S.” One end to be attached to the frame hook, the other serving
as accommodation for the rubber strands.

T
Tail—The plane or planes, both horizontal and vertical, carried behind the
main planes.
Tandem—An arrangement of two planes one behind the other.
Thrust—The power exerted by the propeller of an aëroplane.
Tension—The power exerted by twisted strands of rubber in unwinding.
Tractor—An aëroplane with the propeller situated before the main
supporting surfaces.
Triplane—An aëroplane with three wings superposed.
Trailing Edge—The rear edge of a surface.
Torque—The twisting force of a propeller tending to overturn or swerve an
aëroplane sideways.

U
Up Wind—Against the wind.

W
Wake—The churned or disturbed air in the track of a moving aëroplane.
Wash—The movement of the air radiating from the sides of an aëroplane in
flight.
Wings—Planes or supporting surfaces, commonly a pair of wings extending
out from a central body.
Winder—An apparatus used for winding two sets of rubber strands at the
same time in opposite directions or one at a time. Very often made
from an egg beater or hand drill.
Warping—The springing of a wing out of its normal shape, thereby creating
a temporary difference in the extremities of the wing which enables the
wind to heel the machine back again into balance.

ABREVIATIONS
H. P. Horse Power.
R. P. M. Revolutions per minute.
H. L. Hand launched.
R. O. G. Rise off ground model.
R. O. W. Rise off water model.
M. P. H. Miles per hour.

THE END
Transcriber’s Note (continued)

Errors in punctuation have been corrected. Inconsistencies in spelling,


grammar, capitalisation, and hyphenation are as they appear in the
original publication except where noted below:

Page 16 – “bob-sled″” changed to “bobsled″” (an ordinary bobsled)

Page 53 – “approximately cross section” changed to


“approximately circular cross section”

Page 55 – “run” changed to “runs” (one of which wires runs to)

Page 83 – “ten″” changed to “10″” (10″ propeller)

Page 105 – “five cylinder” changed to “three cylinder” (Schober-


Funk three cylinder rotary engine) [This change was made to the
illustration caption on this page and also to the entry in the List
of Illustrations that points to it.]

Page 106 – “diagram 17” changed to “diagram 18” (The


accompanying diagram 18 illustrates)

Page 108 – “crank-shaft” changed to “crankshaft” (The two-throw


crankshaft)

Page 111 – “cam-shaft” changed to “camshaft” (provided for the


camshaft)

Page 112 – “crank-shaft” changed to “crankshaft” (the crankshaft


is driven)

Page 113 – “stream-line” changed to “streamline” (streamline


form)

Page 116 – “Bi-plane” changed to “Biplane” (Type Biplane Model)


The prefix of AËRO/Aëro/aëro as in ‘aëroplane’, etc., is used throughout
the body text of the original publication with a few exceptions. These
latter have been changed for consistency in this transcription. The
unaccented prefix AERO/Aero/aero is now only used in title page text.

Incorrect entries in the Table of Contents have had their text and/or
page references changed so that they agree with the text and location
of the parts of the original publication to which they refer.

Entries in the DICTIONARY OF AËRONAUTICAL TERMS which are not in


the correct alphabetical order have been left as they appear in the
original publication. Some minor typographical errors and spelling
mistakes have been corrected without further note.

Back to top
*** END OF THE PROJECT GUTENBERG EBOOK MODEL
AEROPLANES AND THEIR ENGINES: A PRACTICAL BOOK FOR
BEGINNERS ***

Updated editions will replace the previous one—the old editions will
be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States copyright in
these works, so the Foundation (and you!) can copy and distribute it
in the United States without permission and without paying
copyright royalties. Special rules, set forth in the General Terms of
Use part of this license, apply to copying and distributing Project
Gutenberg™ electronic works to protect the PROJECT GUTENBERG™
concept and trademark. Project Gutenberg is a registered trademark,
and may not be used if you charge for an eBook, except by following
the terms of the trademark license, including paying royalties for use
of the Project Gutenberg trademark. If you do not charge anything
for copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such as
creation of derivative works, reports, performances and research.
Project Gutenberg eBooks may be modified and printed and given
away—you may do practically ANYTHING in the United States with
eBooks not protected by U.S. copyright law. Redistribution is subject
to the trademark license, especially commercial redistribution.

START: FULL LICENSE


THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the free


distribution of electronic works, by using or distributing this work (or
any other work associated in any way with the phrase “Project
Gutenberg”), you agree to comply with all the terms of the Full
Project Gutenberg™ License available with this file or online at
www.gutenberg.org/license.

Section 1. General Terms of Use and


Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand, agree
to and accept all the terms of this license and intellectual property
(trademark/copyright) agreement. If you do not agree to abide by all
the terms of this agreement, you must cease using and return or
destroy all copies of Project Gutenberg™ electronic works in your
possession. If you paid a fee for obtaining a copy of or access to a
Project Gutenberg™ electronic work and you do not agree to be
bound by the terms of this agreement, you may obtain a refund
from the person or entity to whom you paid the fee as set forth in
paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only be


used on or associated in any way with an electronic work by people
who agree to be bound by the terms of this agreement. There are a
few things that you can do with most Project Gutenberg™ electronic
works even without complying with the full terms of this agreement.
See paragraph 1.C below. There are a lot of things you can do with
Project Gutenberg™ electronic works if you follow the terms of this
agreement and help preserve free future access to Project
Gutenberg™ electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright law
in the United States and you are located in the United States, we do
not claim a right to prevent you from copying, distributing,
performing, displaying or creating derivative works based on the
work as long as all references to Project Gutenberg are removed. Of
course, we hope that you will support the Project Gutenberg™
mission of promoting free access to electronic works by freely
sharing Project Gutenberg™ works in compliance with the terms of
this agreement for keeping the Project Gutenberg™ name associated
with the work. You can easily comply with the terms of this
agreement by keeping this work in the same format with its attached
full Project Gutenberg™ License when you share it without charge
with others.

1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the
terms of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.

1.E. Unless you have removed all references to Project Gutenberg:

1.E.1. The following sentence, with active links to, or other


immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project Gutenberg™
work (any work on which the phrase “Project Gutenberg” appears,
or with which the phrase “Project Gutenberg” is associated) is
accessed, displayed, performed, viewed, copied or distributed:
This eBook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this eBook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.

1.E.2. If an individual Project Gutenberg™ electronic work is derived


from texts not protected by U.S. copyright law (does not contain a
notice indicating that it is posted with permission of the copyright
holder), the work can be copied and distributed to anyone in the
United States without paying any fees or charges. If you are
redistributing or providing access to a work with the phrase “Project
Gutenberg” associated with or appearing on the work, you must
comply either with the requirements of paragraphs 1.E.1 through
1.E.7 or obtain permission for the use of the work and the Project
Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9.

1.E.3. If an individual Project Gutenberg™ electronic work is posted


with the permission of the copyright holder, your use and distribution
must comply with both paragraphs 1.E.1 through 1.E.7 and any
additional terms imposed by the copyright holder. Additional terms
will be linked to the Project Gutenberg™ License for all works posted
with the permission of the copyright holder found at the beginning
of this work.

1.E.4. Do not unlink or detach or remove the full Project


Gutenberg™ License terms from this work, or any files containing a
part of this work or any other work associated with Project
Gutenberg™.

1.E.5. Do not copy, display, perform, distribute or redistribute this


electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the Project
Gutenberg™ License.

1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.

1.E.7. Do not charge a fee for access to, viewing, displaying,


performing, copying or distributing any Project Gutenberg™ works
unless you comply with paragraph 1.E.8 or 1.E.9.

1.E.8. You may charge a reasonable fee for copies of or providing


access to or distributing Project Gutenberg™ electronic works
provided that:

• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”

• You provide a full refund of any money paid by a user who


notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return or
destroy all copies of the works possessed in a physical medium
and discontinue all use of and all access to other copies of
Project Gutenberg™ works.

• You provide, in accordance with paragraph 1.F.3, a full refund of


any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.

• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.

1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™


electronic work or group of works on different terms than are set
forth in this agreement, you must obtain permission in writing from
the Project Gutenberg Literary Archive Foundation, the manager of
the Project Gutenberg™ trademark. Contact the Foundation as set
forth in Section 3 below.

1.F.

1.F.1. Project Gutenberg volunteers and employees expend


considerable effort to identify, do copyright research on, transcribe
and proofread works not protected by U.S. copyright law in creating
the Project Gutenberg™ collection. Despite these efforts, Project
Gutenberg™ electronic works, and the medium on which they may
be stored, may contain “Defects,” such as, but not limited to,
incomplete, inaccurate or corrupt data, transcription errors, a
copyright or other intellectual property infringement, a defective or
damaged disk or other medium, a computer virus, or computer
codes that damage or cannot be read by your equipment.

1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for


the “Right of Replacement or Refund” described in paragraph 1.F.3,
the Project Gutenberg Literary Archive Foundation, the owner of the
Project Gutenberg™ trademark, and any other party distributing a
Project Gutenberg™ electronic work under this agreement, disclaim
all liability to you for damages, costs and expenses, including legal
fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR
NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR
BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH
1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK
OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL
NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT,
CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF
YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.

1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you


discover a defect in this electronic work within 90 days of receiving
it, you can receive a refund of the money (if any) you paid for it by
sending a written explanation to the person you received the work
from. If you received the work on a physical medium, you must
return the medium with your written explanation. The person or
entity that provided you with the defective work may elect to provide
a replacement copy in lieu of a refund. If you received the work
electronically, the person or entity providing it to you may choose to
give you a second opportunity to receive the work electronically in
lieu of a refund. If the second copy is also defective, you may
demand a refund in writing without further opportunities to fix the
problem.

1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.

1.F.5. Some states do not allow disclaimers of certain implied


warranties or the exclusion or limitation of certain types of damages.
If any disclaimer or limitation set forth in this agreement violates the
law of the state applicable to this agreement, the agreement shall be
interpreted to make the maximum disclaimer or limitation permitted
by the applicable state law. The invalidity or unenforceability of any
provision of this agreement shall not void the remaining provisions.

1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation,


the trademark owner, any agent or employee of the Foundation,
anyone providing copies of Project Gutenberg™ electronic works in
accordance with this agreement, and any volunteers associated with
the production, promotion and distribution of Project Gutenberg™
electronic works, harmless from all liability, costs and expenses,
including legal fees, that arise directly or indirectly from any of the
following which you do or cause to occur: (a) distribution of this or
any Project Gutenberg™ work, (b) alteration, modification, or
additions or deletions to any Project Gutenberg™ work, and (c) any
Defect you cause.

Section 2. Information about the Mission


of Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new computers.
It exists because of the efforts of hundreds of volunteers and
donations from people in all walks of life.

Volunteers and financial support to provide volunteers with the


assistance they need are critical to reaching Project Gutenberg™’s
goals and ensuring that the Project Gutenberg™ collection will
remain freely available for generations to come. In 2001, the Project
Gutenberg Literary Archive Foundation was created to provide a
secure and permanent future for Project Gutenberg™ and future
generations. To learn more about the Project Gutenberg Literary
Archive Foundation and how your efforts and donations can help,
see Sections 3 and 4 and the Foundation information page at
www.gutenberg.org.

Section 3. Information about the Project


Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-profit
501(c)(3) educational corporation organized under the laws of the
state of Mississippi and granted tax exempt status by the Internal
Revenue Service. The Foundation’s EIN or federal tax identification
number is 64-6221541. Contributions to the Project Gutenberg
Literary Archive Foundation are tax deductible to the full extent
permitted by U.S. federal laws and your state’s laws.

The Foundation’s business office is located at 809 North 1500 West,


Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up
to date contact information can be found at the Foundation’s website
and official page at www.gutenberg.org/contact

Section 4. Information about Donations to


the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission of
increasing the number of public domain and licensed works that can
be freely distributed in machine-readable form accessible by the
widest array of equipment including outdated equipment. Many
small donations ($1 to $5,000) are particularly important to
maintaining tax exempt status with the IRS.

The Foundation is committed to complying with the laws regulating


charities and charitable donations in all 50 states of the United
States. Compliance requirements are not uniform and it takes a
considerable effort, much paperwork and many fees to meet and
keep up with these requirements. We do not solicit donations in
locations where we have not received written confirmation of
compliance. To SEND DONATIONS or determine the status of
compliance for any particular state visit www.gutenberg.org/donate.

While we cannot and do not solicit contributions from states where


we have not met the solicitation requirements, we know of no
prohibition against accepting unsolicited donations from donors in
such states who approach us with offers to donate.

International donations are gratefully accepted, but we cannot make


any statements concerning tax treatment of donations received from
outside the United States. U.S. laws alone swamp our small staff.

Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.

Section 5. General Information About


Project Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could be
freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose network of
volunteer support.
Project Gutenberg™ eBooks are often created from several printed
editions, all of which are confirmed as not protected by copyright in
the U.S. unless a copyright notice is included. Thus, we do not
necessarily keep eBooks in compliance with any particular paper
edition.

Most people start at our website which has the main PG search
facility: www.gutenberg.org.

This website includes information about Project Gutenberg™,


including how to make donations to the Project Gutenberg Literary
Archive Foundation, how to help produce our new eBooks, and how
to subscribe to our email newsletter to hear about new eBooks.

You might also like