1,208 research outputs found
Piggybacking on an Autonomous Hauler: Business Models Enabling a System-of-Systems Approach to Mapping an Underground Mine
With ever-increasing productivity targets in mining operations, there is a
growing interest in mining automation. In future mines, remote-controlled and
autonomous haulers will operate underground guided by LiDAR sensors. We
envision reusing LiDAR measurements to maintain accurate mine maps that would
contribute to both safety and productivity. Extrapolating from a pilot project
on reliable wireless communication in Boliden's Kankberg mine, we propose
establishing a system-of-systems (SoS) with LIDAR-equipped haulers and existing
mapping solutions as constituent systems. SoS requirements engineering
inevitably adds a political layer, as independent actors are stakeholders both
on the system and SoS levels. We present four SoS scenarios representing
different business models, discussing how development and operations could be
distributed among Boliden and external stakeholders, e.g., the vehicle
suppliers, the hauling company, and the developers of the mapping software.
Based on eight key variation points, we compare the four scenarios from both
technical and business perspectives. Finally, we validate our findings in a
seminar with participants from the relevant stakeholders. We conclude that to
determine which scenario is the most promising for Boliden, trade-offs
regarding control, costs, risks, and innovation must be carefully evaluated.Comment: Preprint of industry track paper accepted for the 25th IEEE
International Conference on Requirements Engineering (RE'17
Software Engineers' Information Seeking Behavior in Change Impact Analysis - An Interview Study
Software engineers working in large projects must navigate complex
information landscapes. Change Impact Analysis (CIA) is a task that relies on
engineers' successful information seeking in databases storing, e.g., source
code, requirements, design descriptions, and test case specifications. Several
previous approaches to support information seeking are task-specific, thus
understanding engineers' seeking behavior in specific tasks is fundamental. We
present an industrial case study on how engineers seek information in CIA, with
a particular focus on traceability and development artifacts that are not
source code. We show that engineers have different information seeking
behavior, and that some do not consider traceability particularly useful when
conducting CIA. Furthermore, we observe a tendency for engineers to prefer less
rigid types of support rather than formal approaches, i.e., engineers value
support that allows flexibility in how to practically conduct CIA. Finally, due
to diverse information seeking behavior, we argue that future CIA support
should embrace individual preferences to identify change impact by empowering
several seeking alternatives, including searching, browsing, and tracing.Comment: Accepted for publication in the proceedings of the 25th International
Conference on Program Comprehensio
Time Extraction from Real-time Generated Football Reports
Proceedings of the 16th Nordic Conference
of Computational Linguistics NODALIDA-2007.
Editors: Joakim Nivre, Heiki-Jaan Kaalep, Kadri Muischnek and Mare Koit.
University of Tartu, Tartu, 2007.
ISBN 978-9985-4-0513-0 (online)
ISBN 978-9985-4-0514-7 (CD-ROM)
pp. 37-43
Safe programming Languages for ABB Automation System 800xA
More than 90 % of all computers are embedded in different types of systems, for example mobile phones and industrial robots. Some of these systems are real-time systems; they have to produce their output within certain time constraints. They can also be safety critical; if something goes wrong, there is a risk that a great deal of damage is caused. Industrial Extended Automation System 800xA, developed by ABB, is a realtime control system intended for industrial use within a wide variety of applications where a certain focus on safety is required, for example power plants and oil platforms. The software is currently written in C and C++, languages that are not optimal from a safety point of view. In this master's thesis, it is investigated whether there are any plausible alternatives to using C/C++ for safety critical real-time systems. A number of requirements that programming languages used in this area have to fulfill are stated and it is evaluated if some candidate languages fulfill these requirements. The candidate languages, Java and Ada, are compared to C and C++. It is determined that the Java-to-C compiler LJRT (Lund Java-based Real Time) is a suitable alternative. The practical part of this thesis is concerned with the introduction of Java in 800xA. A module of the system is ported to Java and executed together with the original C/C++ solution. The functionality of the system is tested using a formal test suite and the performance and memory footprint of our solution is measured. The results show that it is possible to gradually introduce Java in 800xA using LJRT, which is the main contribution of this thesis
Making Lab Sessions Mandatory -- On Student Work Distribution in a Gamified Project Course on Market-Driven Software Engineering
Unfair work distribution in student teams is a common issue in project-based
learning. One contributing factor is that students are differently skilled
developers. In a course with group work intertwining engineering and business
aspects, we designed an intervention to help novice programmers, i.e., we
introduced mandatory programming lab sessions. However, the intervention did
not affect the work distribution, showing that more is needed to balance the
workload. Contrary to our goal, the intervention was very well received among
experienced students, but unpopular with students weak at programming.Comment: To appear in the Proc. of the 32nd International Conference on
Software Engineering Education and Training (CSEE&T
In vivo evaluation of large-scale IR-based traceability recovery
Modern large-scale software development is a complex undertaking and coordinating various processes is crucial to achieve efficiency. The alignment between requirements and test activities is one important aspect. Production and maintenance of software result in an ever-increasing amount of information. To be able to work efficiently under such circumstances, navigation in all available data needs support. Maintaining traceability links between software artifacts is one approach to structure the information space and support this challenge. Many researchers have proposed traceability recovery by applying information retrieval (IR) methods, utilizing the fact that artifacts often have textual content in natural language. Case studies have shown promising results, but no large-scale in vivo evaluations have been made. Currently, there is a trend among our industrial partners to move to a specific new software engineering tool. Their aim is to collect different pieces of information in one system. Our ambition is to develop an IR-based traceability recovery plug-in to this tool. From this position, right in the middle of a real industrial setting, many interesting observations could be made. This would allow a unique evaluation of the usefulness of the IR-based approach
Quality Requirements for Code: On the Untapped Potential in Maintainability Specifications
Quality requirements are critical for successful software engineering, with
maintainability being a key internal quality. Despite significant attention in
software metrics research, maintainability has attracted surprisingly little
focus in the Requirements Engineering (RE) community. This position paper
proposes a synergistic approach, combining code-oriented research with RE
expertise, to create meaningful industrial impact. We introduce six
illustrative use cases and propose three future research directions.
Preliminary findings indicate that the established QUPER model, designed for
setting quality targets, does not adequately address the unique aspects of
maintainability.Comment: Accepted for the 1st Workshop on Multi-disciplinary, Open, and
RElevant Requirements Engineering (MO2RE), 202
From Bugs to Decision Support – Leveraging Historical Issue Reports in Software Evolution
Software developers in large projects work in complex information landscapes and staying on top of all relevant software artifacts is an acknowledged challenge. As software systems often evolve over many years, a large number of issue reports is typically managed during the lifetime of a system, representing the units of work needed for its improvement, e.g., defects to fix, requested features, or missing documentation. Efficient management of incoming issue reports requires the successful navigation of the information landscape of a project. In this thesis, we address two tasks involved in issue management: Issue Assignment (IA) and Change Impact Analysis (CIA). IA is the early task of allocating an issue report to a development team, and CIA is the subsequent activity of identifying how source code changes affect the existing software artifacts. While IA is fundamental in all large software projects, CIA is particularly important to safety-critical development. Our solution approach, grounded on surveys of industry practice as well as scientific literature, is to support navigation by combining information retrieval and machine learning into Recommendation Systems for Software Engineering (RSSE). While the sheer number of incoming issue reports might challenge the overview of a human developer, our techniques instead benefit from the availability of ever-growing training data. We leverage the volume of issue reports to develop accurate decision support for software evolution. We evaluate our proposals both by deploying an RSSE in two development teams, and by simulation scenarios, i.e., we assess the correctness of the RSSEs' output when replaying the historical inflow of issue reports. In total, more than 60,000 historical issue reports are involved in our studies, originating from the evolution of five proprietary systems for two companies. Our results show that RSSEs for both IA and CIA can help developers navigate large software projects, in terms of locating development teams and software artifacts. Finally, we discuss how to support the transfer of our results to industry, focusing on addressing the context dependency of our tool support by systematically tuning parameters to a specific operational setting
- …