Research now often relies on computational methods and software. Increasingly, those with the new professional role of Research Software Engineer (RSE) are applying software engineering expertise to research problems. However, diverse backgrounds and lack of defined entry points and pathways make it harder for RSEs to develop their careers through training and education. The UNIVERSE-HPC project has worked to identify the key challenges, and developed a framework for RSE Education and Training, a platform for hosting and managing training, and innovative ways of integrating and delivering it in more accessible formats. To make RSE skills and careers more accessible, the education and training ecosystem needs to be easier to navigate. This work includes some recommendations.
Recent years have seen vast global increases in computing power and mobile networking. At the same time, huge numbers of sophisticated sensors, "smart devices", and cyber physical social machines have created similarly vast increases of related data. Scattered across multiple domains and in a variety of formats—e.g. healthcare, smart cities, smart home, networked mobile and wearable devices, connected industry—these data constitute countless information sources. As such, they may be shared and recombined to offer opportunities for socioeconomic improvements in our homes, workplaces, and cities. At the same time, they present risks to privacy, trust, and ethical behaviour in our communities. These technologically enabled opportunities and risks create cybersecurity tensions that the current project seeks to address and mediate.
Context: Modern societies are highly dependent on complex, large-scale, software-intensive systems that increasingly operate within an environment of continuous availability, which is challenging to maintain and evolve in response to the inevitable changes in stakeholder goals and requirements of the system. Software architectures are the foundation of any software system and provide a mechanism for reasoning about core software quality requirements. Their sustainability- the capacity to endure in changing environments - is a critical concern for software architecture research and practice. Problem: Accidental software complexity accrues both naturally and gradually over time as part of the overall software design and development process. From a software architecture perspective, this allows several issues to overlap including, but not limited to: the accumulation of technical debt design decisions of individual components and systems leading to coupling and cohesion issues; the application of tacit architectural knowledge resulting in unsystematic and undocumented design decisions; architectural knowledge vaporisation of design choices and the continued ability of the organization to understand the architecture of its systems; sustainability debt and the broader cumulative effects of flawed architectural design choices over time resulting in code smells, architectural brittleness, erosion, and drift, which ultimately lead to decay and software death. Sustainable software architectures are required to evolve over the entire lifecycle of the system from initial design inception to end-of-life to achieve efficient and effective maintenance and evolutionary change. Method: This article outlines general principles and perspectives on sustainability with regards to software systems to provide a context and terminology for framing the discourse on software architectures and sustainability. Focusing on the capacity of software architectures and architectural design choices to endure over time, it highlights some of the recent research trends and approaches with regards to explicitly addressing sustainability in the context of software architectures. Contribution: The principal aim of this article is to provide a foundation and roadmap of emerging research themes in the area of sustainable software architectures highlighting recent trends, and open issues and research challenges. (C) 2017 Elsevier Inc. All rights reserved.
Accurate chromosome segregation is necessary so that genetic material is equally shared among daughter cells. However, maturing mammalian oocytes are particularly prone to chromosome segregation errors, making them a valuable tool for identifying the causes of mis-segregation. Factors such as aging, cohesion loss, DNA damage, and the roles of a plethora of kinetochore and cell cycle-related proteins are involved. To study chromosome segregation in oocytes in a live setting is an imaging challenge that requires advanced techniques. Here we describe a method for examining chromosomes in live oocytes in detail as they undergo maturation. Our method is based on tracking the “center of brightness” of fluorescently labeled chromosomes. Here we describe how to set up our software and run experiments on a Leica TCS SP8 confocal microscope, but the method would be transferable to other microscopes with computer-aided microscopy.
Scientific research relies on computer software, yet software is not always developed following practices that ensure its quality and sustainability. This manuscript does not aim to propose new software development best practices, but rather to provide simple recommendations that encourage the adoption of existing best practices. Software development best practices promote better quality software, and better quality software improves the reproducibility and reusability of research. These recommendations are designed around Open Source values, and provide practical suggestions that contribute to making research software and its source code more discoverable, reusable and transparent. This manuscript is aimed at developers, but also at organisations, projects, journals and funders that can increase the quality and sustainability of research software by encouraging the adoption of these recommendations.
BioJS is an open source software project that develops visualization tools for different types of biological data. Here we report on the factors that influenced the growth of the BioJS user and developer community, and outline our strategy for building on this growth. The lessons we have learned on BioJS may also be relevant to other open source software projects.
The Collaborations Workshop 2014 (CW14) brought together representatives from across the research community to discuss the issues around software's role in reproducible research. In this paper we summarise the themes, practices and ideas raised at the workshop. We also consider how the "unconference" format of the CW14 helps in eliciting information and forming future collaborations around aspects of reproducible research. In particular, we describe three distinct areas of concern which emerged from the event: collaboration readiness, capability enhancement and advocacy.
This spreadsheet contains the anonymised data collected as part of a survey of UK researchers in their use of research software. We asked people specifically about “research software” which we defined as: “Software that is used to generate, process or analyse results that you intend to appear in a publication (either in a journal, conference paper, monograph, book or thesis). Research software can be anything from a few lines of code written by yourself, to a professionally developed software package. Software that does not generate, process or analyse results - such as word processing software, or the use of a web search - does not count as ‘research software’ for the purposes of this survey.” We contacted 1,000 randomly selected researchers at each of 15 Russell Group universities. From the 15,000 invitations to complete the survey, we received 417 responses – a rate of 3% which is fairly normal for a blind survey. We used Google Forms to collect responses. The responses have good representation from across the disciplines, seniorities and genders. This is a statistically significant number of responses that can be used to represent the views of people in research-intensive universities in the UK. An overview of the data is available on the worksheet "Summary data". Responses to questions are ordered by unique respondent ID. Please read the "README" worksheet for additional information about the collection and processing of this data. This survey data is licensed under a Creative Commons by Attribution licence. Copyright resides with The University of Edinburgh on behalf of the Software Sustainability Institute. Please cite as: APA Hettrick. S. J., et al. (2014). UK Research Software Survey 2014 [Data set]. doi:10.5281/zenodo.14809 Chicago S.J. Hettrick et al, UK Research Software Survey 2014 (accessed December 4, 2014), 10.5281/zenodo.14809. MLA Hettrick S.J., et al. “UK Research Software Survey 2014” ZENODO, 2014. Web. 4 December 2014. .
To effect change, the Software Sustainability Institute works with researchers, developers, funders, and infrastructure providers to identify and address key issues with research software.
Grid computing is an exciting development which promises to be the enabling technology for many users with periodic requirements for massive computing power. There are a number of Grid computing infrastructures available which are fully featured, powerful, efficient and secure. However, for novice users, these systems are not easy to setup and use which presents a significant barrier to their adoption. M grid offers an alternative approach which permits the creation of a computational grid able to accept tasks from any user with access to the web and distribute them to machines running standard a web browser without any security implications.
Data Transfer Service (DTS) is an open-source project that is developing a document-centric message model for describing a bulk data transfer activity, with an accompanying set of loosely coupled and platform-independent components for brokering the transfer of data between a wide range of (potentially incompatible) storage resources as scheduled, fault-tolerant batch jobs. The architecture scales from small embedded deployments on a single computer to large distributed deployments through an expandable 'worker-node pool' controlled through message-orientated middleware. Data access and transfer efficiency are maximized through the strategic placement of worker nodes at or between particular data sources/sinks. The design is inherently asynchronous, and, when third-party transfer is not available, it side-steps the bandwidth, concurrency and scalability limitations associated with buffering bytes directly through intermediary client applications. It aims to address geographical-topological deployment concerns by allowing service hosting to be either centralized (as part of a shared service) or confined to a single institution or domain. Established design patterns and open-source components are coupled with a proposal for a document-centric and open-standards-based messaging protocol. As part of the development of the message protocol, a bulk data copy activity document is proposed for the first time.
With developments in Grid computing and Web based data storage the task of orchestrating computations is becoming ever more difficult. Identifying which of the available computation resources and datasets to use is not trivial: it requires reasoning about the problem itself and the cost of moving data to complete the computation efficiently. This paper presents a conceptual notation and performance model that enables e researchers to reason about their computations and make choices about the best use of resources.
The Grid paradigm promises to provide global access to computing resources, data storage and experimental instruments. It also provides an elegant solution to many resource administration and provisioning problems while offering a platform for collaboration and resource sharing. Although substantial progress has been made towards these goals, nevertheless there is still a lot of work to be done until the Grid can deliver its promises. One of the central issues is the development of standards and Grid interoperability. Job execution is one of the key capabilities in all Grid environments. This is a well understood, mature area with standards and implementations. This paper describes some proof of concept experiments demonstrating the interoperability between various Grid environments.
Traditional computational Grid resource managers e nable high quantities of computational jobs to be scheduled an executed across a set of distributed computational resources. In general, th e enactment of the policy for achieving this is the responsibility of the job sch eduler, a centralised component that decides when and where jobs will be executed. However, when utilising a large-scale deployed resource manager under constan t he vy load, a job may reside in a queue awaiting allocation for a conside rabl length of time. In addition, the job may take a considerable length of time to execute. When one considers multiple jobs with interdependent data re quir ments structured into a workflow, these properties can introduce significan t inefficiencies in the overall execution of the workflow. This paper proposes and specifies a user-centric, user-local scheduler that applies the speculative, optimistic processing technique DataWarp to the scheduling process to imp rove the efficiency of
Peter B. Henderson合作论文数School of Electronics and Computer Science;University of Southampton13