27,492 research outputs found
Safety-Critical Systems and Agile Development: A Mapping Study
In the last decades, agile methods had a huge impact on how software is
developed. In many cases, this has led to significant benefits, such as quality
and speed of software deliveries to customers. However, safety-critical systems
have widely been dismissed from benefiting from agile methods. Products that
include safety critical aspects are therefore faced with a situation in which
the development of safety-critical parts can significantly limit the potential
speed-up through agile methods, for the full product, but also in the
non-safety critical parts. For such products, the ability to develop
safety-critical software in an agile way will generate a competitive advantage.
In order to enable future research in this important area, we present in this
paper a mapping of the current state of practice based on {a mixed method
approach}. Starting from a workshop with experts from six large Swedish product
development companies we develop a lens for our analysis. We then present a
systematic mapping study on safety-critical systems and agile development
through this lens in order to map potential benefits, challenges, and solution
candidates for guiding future research.Comment: Accepted at Euromicro Conf. on Software Engineering and Advanced
Applications 2018, Prague, Czech Republi
Agile development for a multi-disciplinary bicycle stability test bench
Agile software development methods are used extensively in the software industry. This paper describes an argument to explain why these methods can be used within a multi-disciplinary project and provides a concrete description on how to implement such a method, using a case-study to support the rationale. The SOFIE (Intelligent Assisted Bicycle) project was created to develop mechatronic appliances to make bicycles more stable, i.e. safer. A bicycle stability test bench is created within this project and is used as the case study for this research. The relative complexity of the test bench development and partner structure within the SOFIE project has many similarities with large-scale complex projects found in industry. Thus it provides a good environment to research the application of Agile software methods to a multi-disciplinary project
Real-Time Planning with Multi-Fidelity Models for Agile Flights in Unknown Environments
Autonomous navigation through unknown environments is a challenging task that
entails real-time localization, perception, planning, and control. UAVs with
this capability have begun to emerge in the literature with advances in
lightweight sensing and computing. Although the planning methodologies vary
from platform to platform, many algorithms adopt a hierarchical planning
architecture where a slow, low-fidelity global planner guides a fast,
high-fidelity local planner. However, in unknown environments, this approach
can lead to erratic or unstable behavior due to the interaction between the
global planner, whose solution is changing constantly, and the local planner; a
consequence of not capturing higher-order dynamics in the global plan. This
work proposes a planning framework in which multi-fidelity models are used to
reduce the discrepancy between the local and global planner. Our approach uses
high-, medium-, and low-fidelity models to compose a path that captures
higher-order dynamics while remaining computationally tractable. In addition,
we address the interaction between a fast planner and a slower mapper by
considering the sensor data not yet fused into the map during the collision
check. This novel mapping and planning framework for agile flights is validated
in simulation and hardware experiments, showing replanning times of 5-40 ms in
cluttered environments.Comment: ICRA 201
FASTER: Fast and Safe Trajectory Planner for Flights in Unknown Environments
High-speed trajectory planning through unknown environments requires
algorithmic techniques that enable fast reaction times while maintaining safety
as new information about the operating environment is obtained. The requirement
of computational tractability typically leads to optimization problems that do
not include the obstacle constraints (collision checks are done on the
solutions) or use a convex decomposition of the free space and then impose an
ad-hoc time allocation scheme for each interval of the trajectory. Moreover,
safety guarantees are usually obtained by having a local planner that plans a
trajectory with a final "stop" condition in the free-known space. However,
these two decisions typically lead to slow and conservative trajectories. We
propose FASTER (Fast and Safe Trajectory Planner) to overcome these issues.
FASTER obtains high-speed trajectories by enabling the local planner to
optimize in both the free-known and unknown spaces. Safety guarantees are
ensured by always having a feasible, safe back-up trajectory in the free-known
space at the start of each replanning step. Furthermore, we present a Mixed
Integer Quadratic Program formulation in which the solver can choose the
trajectory interval allocation, and where a time allocation heuristic is
computed efficiently using the result of the previous replanning iteration.
This proposed algorithm is tested extensively both in simulation and in real
hardware, showing agile flights in unknown cluttered environments with
velocities up to 3.6 m/s.Comment: IROS 201
Software systems engineering: a journey to contemporary agile and beyond, do people matter?
publishedVersio
Software systems engineering: a journey to contemporary agile and beyond, do people matter?
It is fascinating to view the evolution of software systems engineering over the decades. At the first glance, it could be perceived that the various approaches and processes are different. Are they indeed different? This paper will briefly discuss such a journey relating to findings from an empirical study in some organisations in the UK. Some of the issues described in the literature and by practitioners are common across different software system engineering approaches over the time. It can be argued that human-element of software development plays an integral part in the success of software systems development endeavour. After all, software engineering is a human-centric craft. In order to understand such issues, we crossed the discipline to other disciplines in order to adapt theories and principles that will help to better understand and tackle such matter. Other disciplines have well established human related theories and principles that can be useful. From Japanese management philosophies, we have adapted Lean and knowledge management theories. From psychology, we have adapted Emotional Intelligence (EI). With such an interdisciplinary view, some of the issues can be addressed adequately. Which bring the question: is it really the process or the people? The second author will reflect on his experience attending the first SQM conference 25 years ago. The reflection will discuss the evolution of software systems engineering, and what was changed since then, if at all changed
- …