Eoin Woods

Eoin Woods
University of East London | UEL · Department of Computing

BSc MSc PhD CEng CITP FBCS MIET

About

40
Publications
22,742
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
788
Citations
Additional affiliations
January 2015 - September 2020
Endava
Position
  • Chief Technology Officer
Description
  • https://www.linkedin.com/in/eoinwoods
Education
September 2012 - December 2018
University of East London
Field of study
  • Software Architecture and Energy Efficiency
September 1992 - June 1995
The University of Manchester
Field of study
  • Software Engineering
September 1986 - June 1990
Brunel University London
Field of study
  • Computer Science with Economics

Publications

Publications (40)
Article
Full-text available
The software architect’s role has changed in response to the changing demands of software engineering practice. Now, the Pragmatic Architect department is changing too. This installment looks back over the department’s history to see how it has changed and considers the topics it should cover in the future.
Conference Paper
Full-text available
While technical debt has emerged as a formal concept relatively recently [2] we have had technical debt from the earliest days of software development, it has simply evolved in nature. So what can we learn from past types of technical debt to allow us to prepare for its future forms? When we look back over recent software history, we can see five i...
Article
Full-text available
Software sustainability has been described as the capacity of software systems to endure over time. While a consensus on what software sustainability means is still emerging, an increasing focus on green and technical sustainability has caused researchers and software companies to propose that the use of flexible and open software architectures can...
Conference Paper
Full-text available
As part of our software architecture research and practice we have found that a common difficulty for new architects is knowing where to focus their effort to maximise their effectiveness. This led us to wonder whether successful experienced architects have reusable heuristics or guidelines that they follow to help them prioritise their work. To in...
Article
Full-text available
Optimizing the energy consumption of today's Internet-scale systems will require a radical approach that considers the whole system. To address system-level energy efficiency, software architects can follow three simple design principles. A case study illustrates the possible savings.
Article
Full-text available
Should the people performing a system’s architecture work also develop some of the system’s production code? Involving architects in carefully selected implementation tasks, such as testing, refactoring, or architectural spikes, can yield positive returns on investment for both the architects and their teams.
Article
Full-text available
As software systems have evolved, so has software architecture, with practices growing to meet each era's new challenges. The next phase of evolution--intelligent connected systems--promises to be an exciting time for software architects.
Article
Full-text available
Architecture principles epitomize architecture's function: to clearly define the necessary constraints on a system's design without prescriptively defining all the design details. A good set of principles can provide context and justification for design decisions and can foster team collaboration and communication.
Article
Full-text available
Most software architecture books focus on building new systems. However, successful systems spend much more time running in their production environment than being initially developed. That's why the DevOps movement's recent emergence is so heartening. It emphasizes development and operations staff working together as early as possible-sharing tool...
Article
Full-text available
Given environmentalism's rising tide and increasing energy prices and IT workloads, architects must determine whether they can continue designing systems without considering energy and power efficiency.
Article
Full-text available
Difficulties frequently arise when agile development teams and software architects work together. By adopting practices aligned with the 'agile manifesto,' software architects can work constructively with agile teams and significantly contribute to a project's success.
Article
Full-text available
The metaphor 'architecting in the gaps' can help software development teams clearly understand the software architect's role and how architecture contributes to a system's overall efficiency.
Article
Full-text available
This column discusses architectural descriptions and the process of representing and communicating designs and how UML is useful when creating architectural descriptions.
Article
Full-text available
Many types of architects work in the software industry, but when we consider the breadth of their work and their primary expertise, we find that they can be organized into three major groups: enterprise architects, application architects, and infrastructure architects. Knowing which group an architect falls into helps in understanding their experti...
Conference Paper
Full-text available
A previous study, run by some of the authors in collaboration with practitioners, has emphasized the need to improve architectural languages in order to (i) make them simple and intuitive enough to communicate effectively with project stakeholders, and (ii) enable formality and rigour to allow analysis and other automated tasks. Although a multitud...
Article
Full-text available
An organisation that had developed a large information system wanted to embark on a programme that would involve large-scale evolution of it. As a precursor to this, it was decided to create a comprehensive architectural description to capture and understand the system's design. This undertaking faced a number of challenges, including a low general...
Conference Paper
Full-text available
An organisation that had developed a large Information System wanted to embark on a programme of significant evolution for the system. As a precursor to this, it was decided to create a comprehensive architectural description. This undertaking faced a number of challenges, including a low general awareness of software modelling and software archite...
Article
Full-text available
The architect takes a high-profile role in many IT departments today. In fact, it can be quite difficult in some organizations to find a senior member of IT technical staff whose job title does not include the word "architect." However there is little consensus in the academic community or amongst practitioners as to the responsibilities of the man...
Book
Software Systems Architecture, Second Edition is a highly regarded, practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices. [Note: we do not have the full text to sh...
Chapter
Full-text available
Historically a system’s requirements and its architectural design have been viewed as having a simple relationship where the requirements drove the architecture and the architecture was designed in order to meet the requirements. In contrast, our experience is that a much more dynamic relationship can be achieved between these key activities within...
Conference Paper
Full-text available
This paper summarizes the workshop on Architecture-Based Testing and System Validation which was organized in conjunction with the 9th Working IEEE/IFIP Conference on Software Architecture. The main goal of the workshop was to bring together researchers and practitioners both from the architecture design and software testing community to enable arc...
Article
Full-text available
Scenario based architectural assessment is a well-established approach for assessing architectural designs. However scenario-based methods are not always usable in an industrial context, where in our experience, they can be perceived as complicated and expensive to use. In this paper we explore why this may be the case and define a simpler techniqu...
Article
Full-text available
The authors of this issue's "Point/Counterpoint" department debate the merits of UML as a useful tool. Eoin Woods and David Emery, in "Is UML Sufficient for Describing Architectures?", posit that although widely used, UML has some serious limitations as an architecture description language, while Bran Selic, in "UML 2: Designed for Architects," sta...
Article
Full-text available
The authors of this issue's" Point/Counterpoint" department debate the merits of UML as a useful tool. Eoin Woods and David Emery, in "Is UML Sufficient for Describing Architectures?", posit that although widely used, UML has some serious limitations as an architecture description language, while Bran Selic, in "UML 2: Designed for Architects," sta...
Conference Paper
Full-text available
This paper proposes a research challenge to narrow the gap between the architecture and implementation of a software system. We discuss the situation today, where little of a system's architecture and design is directly represented in the source code of its implementation and explore why this is a problem and the benefits that might flow from narro...
Conference Paper
Full-text available
A common requirement when describing the architecture of a software system is the ability to define the environment of a system, in terms of its external dependencies. In a view-based architectural description approach this need is met by adding a Context view to the architectural description and ideally defining a corresponding Context viewpoint t...
Article
Full-text available
This short position paper briefly reviews the state of practice in architectural description for information systems, and asks why purpose designed architecture description languages are not more widely used in this domain. It then attempts to answer the question, from the author's perspective, by reviewing the needs that an information systems arc...
Conference Paper
Full-text available
A crucial aspect of the software architect’s role is to ensure that a system based on their architecture will exhibit the quality properties (performance, security, availability and so on) that are important to their stakeholders. A proven approach to help guide an architect through the process of designing an architecture is to use architectural v...
Conference Paper
Full-text available
This short document reports the content and results of the "Architecture Description Languages in Practice" working group held on 9th and 10th November 2005 at the WICSA 5 conference, in Pittsburgh, Pennsylvania, USA.
Conference Paper
Full-text available
There has recently been an increase in interest, among information systems architecture practitioners, in using viewpoints for architectural defini- tion and description. This has been caused by a number of factors including the publication of IEEE standard 1471 and the increasing adoption of RUP (and its "4+1" viewpoint set). This short experience...
Article
Full-text available
This article describes the rigorous application of formal methods of software development to a system software development project within a conventional industrial software development environment. This project applied formal methods to a small part (one subsystem) of the development of a release of a system software product. The formal methods VDM...
Article
Full-text available
The use of formality in software development enables formal manipulation at the symbolic level and hence can yield new perspectives on the design which can be submitted to inspection and interactive or automatic analysis. We describe the experience of an industrial pilot project which undertook a formal development using VDM and B and employed a nu...
Conference Paper
Full-text available
This paper reports on the experience gained in the MaFMeth project, which undertook a formal development with tool support for several parts of the life cycle from requirements capture through to C code generation. We explore the hypotheses that formal methods enable the early detection of faults in design by examining the development process in th...
Article
Full-text available
FME'96, Third International Symposium of Formal Methods Europe 1051