Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Julian M. Bass is active.

Publication


Featured researches published by Julian M. Bass.


IEEE Transactions on Reliability | 2004

A taxonomy for software voting algorithms used in safety-critical systems

G. Latif-Shabgahi; Julian M. Bass; Stuart Bennett

Voting algorithms are used to provide an error masking capability in a wide range of highly dependable commercial & research applications. These applications include N-Modular Redundant hardware systems and diversely designed software systems based on N-Version Programming. The most sophisticated & complex algorithms can even tolerate malicious (or Byzantine) subsystem errors. The algorithms can be implemented in hardware or software depending on the characteristics of the application, and the type of voter selected. Many voting algorithms have been defined in the literature, each with particular strengths and weaknesses. Having surveyed more than 70 references from the literature, a functional classification is used in this paper to provide taxonomy of those voting algorithms used in safety-critical applications. We classify voters into three categories: generic, hybrid, and purpose-built voters. Selected algorithms of each category are described, for illustrative purposes, and application areas proposed. Approaches to the comparison of algorithm behavior are also surveyed. These approaches compare the acceptability of voter behavior based on either statistical considerations (e.g., number of successes, number of benign or catastrophic results), or probabilistic computations (e.g., probability of choosing correct value in each voting cycle or average mean square error) during q voting cycles.


Microprocessors and Microsystems | 2003

Smoothing voter: a novel voting algorithm for handling multiple errors in fault-tolerant control systems

G. Latif-Shabgahi; Stuart Bennett; Julian M. Bass

Abstract Voting algorithms are used to arbitrate between variant results in a wide range of highly dependable real-time control applications. These applications include N-Modular Redundant hardware systems and diversely designed software systems based on N-Version Programming. The most sophisticated and complex voting algorithms can even tolerate malicious (or Byzantine) variant errors. Voting algorithms can be implemented in either hardware or software depending on the characteristics of the application and the type of voter selected. The behaviour of voting algorithms in multiple error scenarios is considered in this article. Complete disagreement is defined as those cases where no two variant results are the same. A novel algorithm for real-time control applications, the smoothing voter, is introduced and its behaviour compared with three previously published voters. Software implemented error-injection tests, reported here, show that the smoothing voter achieves a compromise between the result selection capabilities of the median voter and the safety features of the majority voter. The smoothing voter is an appropriate voter for applications in which maximising the number of correct outputs and minimising the number of benign errors of the system is the main concern, and a slight degradation in safety can be tolerated.


euromicro workshop on parallel and distributed processing | 2001

History-based weighted average voter: a novel software voting algorithm for fault-tolerant computer systems

G. Latif-Shabgahi; Julian M. Bass; Stuart Bennett

Voting algorithms have been widely used in the realisation of fault-tolerant systems. We propose a new software voting algorithm which uses the history record of redundant modules to compute the final output. Two versions for the novel algorithm are introduced In the first version any module result is assigned to a weighting value such that module results with higher history record value, are assigned to a higher weighing value than those with lower history record value. In the second version of the novel voter, those module results which have a history record value, less than the average record value, are allocated a weight of zero and removed from the contribution toward the voter output. Furthermore, a novel method for creation of a history record of modules is proposed. Empirical results show that both versions of the novel voter give higher safety performance than the Standard Weighted Average voter with permanent and transient errors.


EJISDC: The Electronic Journal on Information Systems in Developing Countries | 2011

Changing computing curricula in African universities: evaluating progress and challenges via design-reality gap analysis

Julian M. Bass; Richard Heeks

Information and communication technologies (ICTs) are diffusing rapidly into all African nations. Effective use of the new technology requires a step‐change in local skill levels; including a step‐change in ICT‐related university education. Part of that process must be an updating of university computing curricula, ranging from computer science through to information systems. Adoption of international curricula offers a ready means for updating, but African universities face challenges of implementing these curricula – curricula that were typically designed for Western rather than African realities.


IEEE Parallel & Distributed Technology: Systems & Applications | 1994

Automating the development of distributed control software

Julian M. Bass; A.R. Brown; M.S. Hajji; D.G. Marriott; Peter R. Croll; Peter J. Fleming

The Development Framework translates application-specific system specifications into parallel, hard real-time implementations, using methods that are both familiar to developers and optimal for the application. The Development Framework approach applies CASE tools-as well as several new tools-to the development of distributed systems, so designers can concentrate on the control-engineering aspects of their systems. The approach addresses three development phases: specification, software design, and implementation. In the specification phase, the control engineer refines behavioral requirements through simulation and analysis, thereby verifying that the system meets its functional requirements prior to implementation. Once the simulated behavior is satisfactory, the specified behavior is translated into a design. Finally, our tools produce source code, either by automatically generating it or by drawing it from a library. We describe the new and existing tools we apply during each phase. We then demonstrate our approach using an example of a linearized roll-pitch-yaw autopilot and airframe model.<<ETX>>


frontiers of information technology | 1997

Experimental comparison of voting algorithms in cases of disagreement

Julian M. Bass; G. Latif-Shabgahi; Stuart Bennett

Voting algorithms are used to mask erroneous results from redundant subsystems (variants) in fault tolerant systems. While voting algorithms are well known and widely used, the authors are not aware of any detailed investigation of voter behaviour in the presence of multiple errors. The results of an experimental evaluation of seven voting algorithms in a variety of simulated error scenarios are reported. A software error injection approach is used to simulate multiple errors in a triple modular redundant configuration. The Majority and Plurality voters produce the lowest number of catastrophic errors, in these tests. The Median voter produces the largest number of correct results, but also produces the largest number of catastrophic errors. The Three Domain voter results show a compromise between the large number of correct results identified by the Median voter and the small number of catastrophic results produced by the Majority voter.


Empirical Software Engineering | 2015

How product owner teams scale agile methods to large distributed enterprises

Julian M. Bass

Software development teams in large scale offshore enterprise development programmes are often under intense pressure to deliver high quality software within challenging time contraints. Project failures can attract adverse publicity and damage corporate reputations. Agile methods have been advocated to reduce project risks, improving both productivity and product quality. This article uses practitioner descriptions of agile method tailoring to explore large scale offshore enterprise development programmes with a focus on product owner role tailoring, where the product owner identifies and prioritises customer requirements. In globalised projects, the product owner must reconcile competing business interests, whilst generating and then prioritising large numbers of requirements for numerous development teams. The study comprises eight international companies, based in London, Bangalore and Delhi. Interviews with 46 practitioners were conducted between February 2010 and May 2012. Grounded theory was used to identify that product owners form into teams. The main contribution of this research is to describe the nine product owner team functions identified: groom, prioritiser, release master, technical architect, governor, communicator, traveller, intermediary and risk assessor. These product owner functions arbitrate between conflicting customer requirements, approve release schedules, disseminate architectural design decisions, provide technical governance and propogate information across teams. The functions identified in this research are mapped to a scrum of scrums process, and a taxonomy of the functions shows how focusing on either decision-making or information dissemination in each helps to tailor agile methods to large scale offshore enterprise development programmes.


international conference on global software engineering | 2014

Scrum Master Activities: Process Tailoring in Large Enterprise Projects

Julian M. Bass

This paper explores practitioner descriptions of agile method tailoring in large-scale offshore or outsourced enterprise projects. Specifically, tailoring of the scrum master role is investigated. The scrum master acts as a facilitator for software development teams, nurturing adherence to agile practices and removing impediments for team members. But in large projects, scrum masters often work together in geographically distributed teams. Scrum masters use sprint planning to avoid development tasks that overlap team boundaries, coordinate status and effort across teams, and integrate code bases. The study comprises 8 international companies in London, Bangalore and Delhi. Interviews with 46 practitioners were conducted between February 2010 and May 2012. A grounded theory research method was used to identify that the scrum master role comprises six activities: process anchor, stand-up facilitator, impediment remover, sprint planner, scrum of scrums facilitator, and integration anchor. This systematic description of activities in scrum master teams extends our understanding of practitioner perspectives on agile process tailoring in large enterprises. Understanding these activities will help coaches guide large scale agile teams.


international conference on global software engineering | 2013

Agile Method Tailoring in Distributed Enterprises: Product Owner Teams

Julian M. Bass

This paper explores practitioner descriptions of agile method tailoring in large-scale offshore or outsourced enterprise projects. Specifically, tailoring of the product owner role is discussed. The product owner identifies and prioritizes customer requirements. But in globalized projects, the product owner must reconcile large numbers competing business interests and generate prioritized requirements for many development teams. The study comprises 8 international companies in London, Bangalore and Delhi. Interviews with 46 practitioners were conducted between February 2010 and May 2012. A grounded theory approach was used to identify that product owner teams comprise nine roles: Groom, Prioritizer, Release Master, Technical Architect, Governor, Communicator, Traveler, Intermediary and Risk Assessor. These product owner roles arbitrate between conflicting customer requirements, approve release schedules, make architectural design decisions, provide technical governance and disseminate information across teams. Understanding these roles will help agile coaches guide large scale agile teams.


Information & Software Technology | 2016

Artefacts and agile method tailoring in large-scale offshore software development programmes

Julian M. Bass

Context: Large-scale offshore software development programmes are complex, with challenging deadlines and a high risk of failure. Agile methods are being adopted, despite the challenges of coordinating multiple development teams. Agile processes are tailored to support team coordination. Artefacts are tangible products of the software development process, intended to ensure consistency in the approach of teams on the same development programme.Objective: This study aims to increase understanding of how development processes are tailored to meet the needs of large-scale offshore software development programmes, by focusing on artefact inventories used in the development process.Method: A grounded theory approach using 46 practitioner interviews, supplemented with documentary sources and observations, in nine international companies was adopted. The grounded theory concepts of open coding, memoing, constant comparison and saturation were used in data analysis.Results: The study has identified 25 artefacts, organised into five categories: feature, sprint, release, product and corporate governance. It was discovered that conventional agile artefacts are enriched with artefacts associated with plan-based methods in order to provide governance. The empirical evidence collected in the study has been used to identify a primary owner of each artefact and map each artefact to specific activities within each of the agile roles.Conclusion: The development programmes in this study create agile and plan-based artefacts to improve compliance with enterprise quality standards and technology strategies, whilst also mitigating risk of failure. Management of these additional artefacts is currently improvised because agile development processes lack corresponding ceremonies.

Collaboration


Dive into the Julian M. Bass's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

A.R. Browne

University of Sheffield

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

M.S. Hajji

University of Sheffield

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ian K. Allison

Robert Gordon University

View shared research outputs
Researchain Logo
Decentralizing Knowledge