Neil B. Harrison

dblp:51/190 · DBLP profile ↗
← Back
7ranked-venue papers
5as first author
2since 2021 · last 2026
0009-0007-4620-8818ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7 · 5 first-author · 2 since 2021
YearPublicationVenuePosition
2026 Can an LLM Detect Instances of Microservice Infrastructure Patterns?
Carlos Eduardo Duarte, Neil B. Harrison, Filipe Figueiredo Correia, Ademar Aguiar, Pavlína Gonçalves
ICSA2
2024 The Nature of Questions that Arise During Software Architecture Design
Neil B. Harrison, Ademar Aguiar
ECSA1
2016 Software Architecture Pattern Morphology in Open-Source Systems
abstract
Architecture patterns are commonly used to specify, understand, and document software architectures. As a system evolves, its architecture patterns are affected. In some cases, the patterns themselves may change. We studied the architectural documentation of a large number of open-source systems to learn how the architecture patterns change as the systems evolve. In some cases, the existing patterns accommodate the system evolution without changing, such as adding layers to a layered architecture. In other cases, new patterns are added where no patterns existed. In some cases, new patterns were added to existing architecture patterns. And in a few cases, a pattern changed to a different architecture pattern. We observed instances of each type of change. In most cases, there was a logical structural evolutionary path to the new pattern. Typically, the architecture documentation also explained the important quality attributes that motivated the changes. We propose this work as a foundation for the study of how architecture patterns change as system architectures evolve.
Neil B. Harrison, Erich Gubler, Danielle Skinner
WICSA1
2012 The supportive effect of patterns in architecture decision recovery - A controlled experiment
Uwe van Heesch, Paris Avgeriou, Uwe Zdun, Neil B. Harrison
Sci. Comput. Program.4
2010 How do architecture patterns and tactics interact? A model and annotation
abstract
Software architecture designers inevitably work with both architecture patterns and tactics. Architecture patterns describe the high-level structure and behavior of software systems as the solution to multiple system requirements, whereas tactics are design decisions that improve individual quality attribute concerns. Tactics that are implemented in existing architectures can have significant impact on the architecture patterns in the system. Similarly, tactics that are selected during initial architecture design significantly impact the architecture of the system to be designed: which patterns to use, and how they must be changed to accommodate the tactics. However, little is understood about how patterns and tactics interact. In this paper, we develop a model for the interaction of patterns and tactics that enables software architects to annotate architecture diagrams with information about the tactics used and their impact on the overall structure. This model is based on our in-depth analysis of the types of interactions involved, and we show several examples of how the model can be used to annotate different kinds of architecture diagrams. We illustrate the model and annotation by showing examples taken from real systems, and describe how the annotation was used in architecture reviews. Tactics and patterns are known architectural concepts; this work provides more specific and in-depth understanding of how they interact. Its other key contribution is that it explores the larger problem of understanding the relation between strategic decisions and how they need to be tailored in light of more tactical decisions.
Neil B. Harrison, Paris Avgeriou
J. Syst. Softw.1
2008 Analysis of Architecture Pattern Usage in Legacy System Architecture Documentation
abstract
Architecture patterns are an important tool in architectural design. However, while many architecture patterns have been identified, there is little in-depth understanding of their actual use in software architectures. For instance, there is no overview of how many patterns are used per system or which patterns are the most common or most important for particular domains. In addition, little is known of how architecture patterns ay interact with each other. We studied architecture documentation of 47 systems to learn about their architecture patterns. Most systems had two or more architecture patterns, and certain patterns were prominent in different application domains. We identified several patterns that are commonly used together, and are beginning to learn how such combinations may impact system quality attributes. This information can be used to help designers select architecture patterns, can help people learn both architectures and patterns, and can be useful in architectural reviews.
Neil B. Harrison, Paris Avgeriou
WICSA1
2007 Leveraging Architecture Patterns to Satisfy Quality Attributes
Neil B. Harrison, Paris Avgeriou
ECSA1