Upcoming Seminar Series
Agile Software Architecture Practices
Dr Eduardo Guerra | 03/03/2021 @ 1600 | Virtual | A BSEL Seminar
Abstract Working with software architecture in agile projects is hard: you need to start as fast as you can, but also need to have a sustainable base architecture that you will be able to evolve through the project. This talk presents a set of patterns identified on real projects, that focus on practices for creating and evolving a software architecture in the context of an agile project. These practices provide a set of tools to the team that can allow them to define an “enough” architecture at the beginning of the project and manage the state and its evolution during the project iterations.
Bio Eduardo Guerra is a Researcher at the Free University of Bozen-Bolzano (UniBZ, Italy) since 2020. He received the Master Degree in Electronic and Computer Engineering from the Instituto Tecnológico de Aeronáutica (ITA, Brazil) in 2005 defending a thesis on test code refactoring. In 2010 he received the PhD degree in Electronic and Computer Engineering from the Instituto Tecnológico de Aeronáutica (ITA, Brazil) in 2010 defending a thesis on metadata-based frameworks design. From 2007 to 2012, as an officer from the Brazilian Air Force, worked as a teacher for undergraduate and graduate courses in the Instituto Tecnológico de Aeronáutica (ITA, Brazil). From 2013 to 2019, worked as a researcher in the Associate Laboratory of Applied Mathematics and Computation (LABAC) in the field of software engineering in the National Institute for Space Research (INPE, Brazil). Eduardo Guerra’s research’s focus can be defined as “find better ways to develop software”, which can include programming approaches, architecture solutions, and development processes.
The Digital Transformation Journey: Contrasting Case Studies
Jawad Keshtgar – BMI Healthcare | 17/02/2021 @ 1600 | Virtual | Part of the SET Digital Series
Abstract Today people, organisation, and information technology are expected to operate as part of a seamless whole – both within and across organisational boundaries. This places stringent new demands on the knowledge, skills and technologies required to develop and manage such complex inter-related systems – in an ever increasing digital society.
As a result, Digital Transformation is fast becoming central to society particularly due to the rapid rate of digital convergence – especially in business. As society and technology develop in parallel, the most important skills for organisations is the ability to both understand and manage these complex interdependencies between I.T. and business in a dynamic globalised environment.
Bio A former Brunel University graduate in Information Systems, currently working at BMI Healthcare as the Lead Business and Change Analyst. Over the past eight years following graduation, my experiences have led me to work for the UK’s largest employer (NHS), be part of Europe’s largest IT project with Allianz and most recently work for the UK’s largest private healthcare organisation. My journey began at Brunel’s Science Park, with the start-up company ‘BTO Research’. My involvement with BTO, allowed me to valorise applied research techniques from academia to organisations; it is this relationship that motivates my personal mission to help foster closer relationship between Industry Leaders and Universities.
Quantum Computing Concepts: Towards a new Programming Paradigm
Dr Manuel A. Serrano | 18/11/2020 @ 1500 | Virtual | Part of the SET Digital Series
Abstract At the dawn of the last century, the basis of “quantum mechanics” was established by many exceptional scientists, such as Einstein, Schrödinger, Heisenberg or Pauli. This theory describes the behaviour of nature at subatomic levels (photons, electrons, etc). In 1982, Nobel laureate Richard Feynman asked: “What kind of computer are we going to use to simulate physics?” This is how the idea for quantum computing was born. Quantum computers attempt to use various “counterintuitive” principles such as superposition (objects can be in different states at the same time) and entanglement (objects can be deeply connected without any direct physical interaction) in the effort to provide faster computing speed. We can already use quantum computers and take advantage of their huge computation capacity to solve problems which are considered very difficult for today’s and tomorrow’s “classic” computers. This new computing paradigm has a great deal of direct applications, and many other potential ones. For example, applications include economics, chemistry, medicine, logistics, energy and agriculture. All the applications mentioned will not be accomplished with quantum computers alone; these applications need quantum software. In this seminar the fundamental quantum concepts are exposed, with special emphasis on those that must be known by those who wish to begin the approach to the world of Quantum Software Engineering and Programming. This seminar offers an interesting “tour” of Quantum Concepts such as Quantum Mechanics, Qubits, Hilbert Space and Quantum Circuits.
Bio Dr. Manuel Serrano is MSc and Ph.D. in Computer Science and is an associate professor at the University of Castilla – La Mancha (Spain) since 2000. Currently, he is Vice-Dean of the Department of Technologies and Information Systems since May 2014 and Coordinator of Business Internships of the master’s degree in Computer Engineering since 2013. Regarding his research interests, he is working on quantum software engineering, cybersecurity (especially in Big Data and IoT), data quality, software quality, and measurement and business intelligence. His scientific production is large, having published more than fifty papers in high-level journals and conferences. He has participated in more than 20 research projects, has conducted several invited speeches and have work in several transfer project with companies. Currently, he is a member of the aQuantum scientific research team (Alarcos Research Group).
Human factors in Software Engineering
Lucas Gren | 10/10/2019 @ 1500 | BSEL Lab | A BSEL Seminar
There has been an increase in the interest of human factors in SE in recent years. Most new research fields that start to look at psychological aspects, start with individual psychology since people are different and that makes intuitive sense to everyone. While these are important aspects, the social psychology research field also highlights the importance of a profound understanding of the complex interplay between social context and affect, since affect influence cannot be explained in isolation. In this talk, I would like to introduce under which judgemental circumstances people are affected by affect and suggest how to add social context to studies on affect. I also reflect on why the individual focus in human factors of SE is so rigid and attribute much of it to an over-belief in the benefits of digitalization (e.g. biometrics). Another part of the problem, the way I see it, is that these new digital solutions aim at maximizing happy feelings while social psychology studies suggest that is not how to maximize effectiveness or long-term high motivation in employees.
Software architecture to Everything
Nour Ali | 12/06/2019 @ 1400 | WLFB207/208 | A BSEL Seminar
Software architecture is the structure or structures of a software system. A software architecture of a system is, usually, represented by a model that graphically shows software elements and their interactions. Explicit software architectural models are used as critical knowledge to ensure the quality, understanding and evolution of systems.
In this talk, I will motivate you to use software architecture as a tool to manage software. I will demonstrate how we can combine software architecture with formal methods, static/dynamic analysis, optimization techniques and others. I will first start by showing the importance of an architectural model during the evolution and maintenance of a legacy system. I will then focus on architectural models of adaptable, distributed and mobile systems. I will also give you an overview of the latest projects I am working on such as the recovery of microservice architectures, the support of smart mobile and Internet of Things applications and the self-adaption to resource constraint environments.
The Relevance of Application Domains in Empirical Findings
Andrea Capiluppi | 08/05/2019 @ 1400 | WLFB207/208 | A BSEL Seminar
Research on empirical software engineering has increasingly used data from online repositories or collective efforts. The latest trends for researchers is to gather as much data as possible to (i) prevent bias in the representation of a small sample, (ii) work with a sample as close as the population itself, and (iii) showcase the performance of existing or new tools in treating vast amount of data. The effects of harvesting enormous amounts of data have been only marginally considered so far: data could be corrupted; repositories could be forked; and developer identities could be duplicated. In this paper we posit that there is a fundamental flaw in harvesting large amounts of data, and when generalising the conclusions: the application domain, or context, of the analysed systems must be the primary factor for the cluster sampling of FOSS projects. In this talk we analyse a sample of software systems, and using an existing approach based on Latent Dirichlet Allocation (LDA), we derive their application domains. We extract a suite structural OO metrics from each project, and cluster projects by domains: we show that most of the chosen metrics come from different populations, and are based on the application domains.
A Brief History of Types
Rumyana Neykova | 06/03/2019 @ 1400 | WLFB207/208 | A BSEL Seminar
Types are one of computing’s most successful concepts, they exist from the oldest to the newest programming languages. Types act as the fundamental unit of compositionality, and play important role in all aspects of software, from design to optimisation. Unfortunately, types are probably the last thing that comes to your mind when you think about distributed systems. In this talk, I will change this misconception. I will (hopefully) convince you that types can be used to understand, test, specify and verify distributed systems. In particular, I will give you a crash course on session types, which were born as types for distributed processes. We will discuss the history of session type, the fundamental meaning of communication, and how to develop distributed systems that we can trust.
Software Engineering? Are you kidding me?
Giuseppe Destefanis | 13/02/2019 @ 1400 | WLFB207/208 | A BSEL Seminar
Software development is a complex human process which has, as a final goal, the creation of a complete working application. Software Engineering encompasses all the activities related to software development from conceiving to maintaining the product. Calling software a product, however, highlights all the difficulties of the subject, with “immateriality” being the first one. Engineering is defined as “the branch of science and technology concerned with the design, building, and use of engines, machines, and structures.” (Oxford Dictionary). Is the combination of the two words “Software” and “Engineering” an oxymoron?