243 research outputs found
Mobile heritage practices. Implications for scholarly research, user experience design, and evaluation methods using mobile apps.
Mobile heritage apps have become one of the most popular means for audience
engagement and curation of museum collections and heritage contexts. This
raises practical and ethical questions for both researchers and practitioners, such
as: what kind of audience engagement can be built using mobile apps? what are
the current approaches? how can audience engagement with these experience
be evaluated? how can those experiences be made more resilient, and in turn
sustainable? In this thesis I explore experience design scholarships together with
personal professional insights to analyse digital heritage practices with a view to
accelerating thinking about and critique of mobile apps in particular. As a result,
the chapters that follow here look at the evolution of digital heritage practices,
examining the cultural, societal, and technological contexts in which mobile
heritage apps are developed by the creative media industry, the academic
institutions, and how these forces are shaping the user experience design
methods. Drawing from studies in digital (critical) heritage, Human-Computer
Interaction (HCI), and design thinking, this thesis provides a critical analysis of
the development and use of mobile practices for the heritage. Furthermore,
through an empirical and embedded approach to research, the thesis also
presents auto-ethnographic case studies in order to show evidence that mobile
experiences conceptualised by more organic design approaches, can result in
more resilient and sustainable heritage practices. By doing so, this thesis
encourages a renewed understanding of the pivotal role of these practices in the
broader sociocultural, political and environmental changes.AHRC REAC
Integrated Approaches to Digital-enabled Design for Manufacture and Assembly: A Modularity Perspective and Case Study of Huoshenshan Hospital in Wuhan, China
Countries are trying to expand their healthcare capacity through advanced construction, modular innovation, digital technologies and integrated design approaches such as Design for Manufacture and Assembly (DfMA). Within the context of China, there is a need for stronger implementation of digital technologies and DfMA, as well as a knowledge gap regarding how digital-enabled DfMA is implemented. More critically, an integrated approach is needed in addition to DfMA guidelines and digital-enabled approaches.
For this research, a mixed method was used. Questionnaires defined the context of Huoshenshan Hospital, namely the healthcare construction in China. Then, Huoshenshan Hospital provided a case study of the first emergency hospital which addressed the uncertainty of COVID-19. This extreme project, a 1,000-bed hospital built in 10 days, implemented DfMA in healthcare construction and provides an opportunity to examine the use of modularity. A workshop with a design institution provided basic facts and insight into past practice and was followed by interviews with 18 designers, from various design disciplines, who were involved in the project. Finally, multiple archival materials were used as secondary data sources.
It was found that complexity hinders building systems integration, while reinforcement relationships between multiple dimensions of modularity (across organisation-process-product-supply chain dimensions) are the underlying mechanism that allows for the reduction of complexity and the integration of building systems. Promoting integrated approaches to DfMA relies on adjusting and coupling multi-dimensional modular reinforcement relationships (namely, relationships of modular alignment, modular complement, and modular incentive). Thus, the building systems integrator can use these three approaches to increase the success of digital-enabled DfMA
Software Architecture in Practice: Challenges and Opportunities
Software architecture has been an active research field for nearly four
decades, in which previous studies make significant progress such as creating
methods and techniques and building tools to support software architecture
practice. Despite past efforts, we have little understanding of how
practitioners perform software architecture related activities, and what
challenges they face. Through interviews with 32 practitioners from 21
organizations across three continents, we identified challenges that
practitioners face in software architecture practice during software
development and maintenance. We reported on common software architecture
activities at software requirements, design, construction and testing, and
maintenance stages, as well as corresponding challenges. Our study uncovers
that most of these challenges center around management, documentation, tooling
and process, and collects recommendations to address these challenges.Comment: Preprint of Full Research Paper, the 31st ACM Joint European Software
Engineering Conference and Symposium on the Foundations of Software
Engineering (ESEC/FSE '23
The Role of a Microservice Architecture on cybersecurity and operational resilience in critical systems
Critical systems are characterized by their high degree of intolerance to threats, in other words,
their high level of resilience, because depending on the context in which the system is inserted,
the slightest failure could imply significant damage, whether in economic terms, or loss of
reputation, of information, of infrastructure, of the environment, or human life. The security of
such systems is traditionally associated with legacy infrastructures and data centers that are
monolithic, which translates into increasingly high evolution and protection challenges.
In the current context of rapid transformation where the variety of threats to systems has been
consistently increasing, this dissertation aims to carry out a compatibility study of the
microservice architecture, which is denoted by its characteristics such as resilience, scalability,
modifiability and technological heterogeneity, being flexible in structural adaptations, and in
rapidly evolving and highly complex settings, making it suited for agile environments. It also
explores what response artificial intelligence, more specifically machine learning, can provide
in a context of security and monitorability when combined with a simple banking system that
adopts the microservice architecture.Os sistemas crÃticos são caracterizados pelo seu elevado grau de intolerância à s ameaças, por
outras palavras, o seu alto nÃvel de resiliência, pois dependendo do contexto onde se insere o
sistema, a mÃnima falha poderá implicar danos significativos, seja em termos económicos, de
perda de reputação, de informação, de infraestrutura, de ambiente, ou de vida humana. A
segurança informática de tais sistemas está tradicionalmente associada a infraestruturas e data
centers legacy, ou seja, de natureza monolÃtica, o que se traduz em desafios de evolução e
proteção cada vez mais elevados.
No contexto atual de rápida transformação, onde as variedades de ameaças aos sistemas têm
vindo consistentemente a aumentar, esta dissertação visa realizar um estudo de
compatibilidade da arquitetura de microserviços, que se denota pelas suas caraterÃsticas tais
como a resiliência, escalabilidade, modificabilidade e heterogeneidade tecnológica, sendo
flexÃvel em adaptações estruturais, e em cenários de rápida evolução e elevada complexidade,
tornando-a adequada a ambientes ágeis. Explora também a resposta que a inteligência artificial,
mais concretamente, machine learning, pode dar num contexto de segurança e
monitorabilidade quando combinado com um simples sistema bancário que adota uma
arquitetura de microserviços
Improving Object-Oriented Programming by Integrating Language Features to Support Immutability
Nowadays developers consider Object-Oriented Programming (OOP) the de-facto general programming paradigm. While successful, OOP is not without problems. In 1994, Gamma et al. published a book with a set of 23 design patterns addressing recurring problems found in OOP software. These patterns are well-known in the industry and are taught in universities as part of software engineering curricula. Despite their usefulness in solving recurring problems, these design patterns bring a certain complexity in their implementation. That complexity is influenced by the features available in the implementation language. In this thesis, we want to decrease this complexity by focusing on the problems that design patterns attempt to solve and the language features that can be used to solve them. Thus, we aim to investigate the impact of specific language features on OOP and contribute guidelines to improve OOP language design.
We first perform a mapping study to catalogue the language features that have been proposed in the literature to improve design pattern implementations. From those features, we focus on investigating the impact of immutability-related features on OOP.
We then perform an exploratory study measuring the impact of introducing immutability in OOP software with the objective of establishing the advantages and drawbacks of using immutability in the context of OOP. Results indicate that immutability may produce more granular and easier-to-understand programs.
We also perform an experiment to measure the impact of new language features added into the C\# language for better immutability support. Results show that these specific language features facilitate developers' tasks when aiming to implement immutability in OOP.
We finally present a new design pattern aimed at solving a problem with method overriding in the context of immutable hierarchies of objects. We discuss the impact of language features on the implementations of this pattern by comparing these implementations in different programming languages, including Clojure, Java, and Kotlin.
Finally, we implement these language features as a language extension to Common Lisp and discuss their usage
LASSO – an observatorium for the dynamic selection, analysis and comparison of software
Mining software repositories at the scale of 'big code' (i.e., big data) is a challenging activity. As well as finding a suitable software corpus and making it programmatically accessible through an index or database, researchers and practitioners have to establish an efficient analysis infrastructure and precisely define the metrics and data extraction approaches to be applied. Moreover, for analysis results to be generalisable, these tasks have to be applied at a large enough scale to have statistical significance, and if they are to be repeatable, the artefacts need to be carefully maintained and curated over time. Today, however, a lot of this work is still performed by human beings on a case-by-case basis, with the level of effort involved often having a significant negative impact on the generalisability and repeatability of studies, and thus on their overall scientific value.
The general purpose, 'code mining' repositories and infrastructures that have emerged in recent years represent a significant step forward because they automate many software mining tasks at an ultra-large scale and allow researchers and practitioners to focus on defining the questions they would like to explore at an abstract level. However, they are currently limited to static analysis and data extraction techniques, and thus cannot support (i.e., help automate) any studies which involve the execution of software systems. This includes experimental validations of techniques and tools that hypothesise about the behaviour (i.e., semantics) of software, or data analysis and extraction techniques that aim to measure dynamic properties of software.
In this thesis a platform called LASSO (Large-Scale Software Observatorium) is introduced that overcomes this limitation by automating the collection of dynamic (i.e., execution-based) information about software alongside static information. It features a single, ultra-large scale corpus of executable software systems created by amalgamating existing Open Source software repositories and a dedicated DSL for defining abstract selection and analysis pipelines. Its key innovations are integrated capabilities for searching for selecting software systems based on their exhibited behaviour and an 'arena' that allows their responses to software tests to be compared in a purely data-driven way. We call the platform a 'software observatorium' since it is a place where the behaviour of large numbers of software systems can be observed, analysed and compared
Event Generators for High-Energy Physics Experiments
We provide an overview of the status of Monte-Carlo event generators for high-energy particle physics. Guided by the experimental needs and requirements, we highlight areas of active development, and opportunities for future improvements. Particular emphasis is given to physics models and algorithms that are employed across a variety of experiments. These common themes in event generator development lead to a more comprehensive understanding of physics at the highest energies and intensities, and allow models to be tested against a wealth of data that have been accumulated over the past decades. A cohesive approach to event generator development will allow these models to be further improved and systematic uncertainties to be reduced, directly contributing to future experimental success. Event generators are part of a much larger ecosystem of computational tools. They typically involve a number of unknown model parameters that must be tuned to experimental data, while maintaining the integrity of the underlying physics models. Making both these data, and the analyses with which they have been obtained accessible to future users is an essential aspect of open science and data preservation. It ensures the consistency of physics models across a variety of experiments
Volume II Acquisition Research Creating Synergy for Informed Change, Thursday 19th Annual Acquisition Research Proceedings
ProceedingsApproved for public release; distribution is unlimited
- …