ISSE makes software and systems engineering better. We thus emphasize on methods, tools, and technologies that assist software engineers. The following gives an overview of our current research projects.
Software processes together with software Quality Assurance (QA) focus
on ensuring and attesting that the engineering processes result in the
appropriate software quality.
Yet, there exists a tension between the need to follow regulations and
the process on the one hand, and the need to be able to deviate on the
other hand.
The problem is then how to provide automated process guidance to
engineers in the presence of violated process and quality constraints.
Multi-View Consistency Checking
Engineering is a collaborative effort involving many stakeholders - and many tools. Yet, little support exists for detecting inconsistencies in such a multi-tool, multi-view environment. This proposed work will develop a novel methodology for detecting multi-view, cross-tool inconsistencies - even if different engineers work on these artifacts at the same time or at different times, even if engineers are willing to share these artifacts with select other engineers as opposed to publishing them for all to see.
Despite their efficacy to generate software correct by construction and decades-long advocacy, the share of rigorous methods is still very low in the contemporary software development. One of the major reasons for this situation is that current rigorous methods and their support environments focus mainly on one half of the quality-assurance process: verification (do we build software right?). The other half, validation (do we build the right software?), has been given much less attention. Verification is at the core of refinement-based rigorous methods, such as Event-B, where each successive refinement step must preserve all properties of its abstract model. Validation is usually postponed until the latest stages of the development, when models are detailed enough to be executed. Mistakes in requirements or their interpretation are thus caught too late.
Mechatronics is a multidiciplinary field bringing together engineering
disciplines such as (but not limited to) software engineering, control
engineering, mechanical engineering, and robotics. Examples of
software-intensive mechatronic systems are diverse---such as robots used
for welding, car engine control units, injection moulding machines, or
transport systems in assembly lines.
Designing such a system brings together design knowledge from different
engineering disciplines---with each disciplines contributing its own
modeling languages and mechatronic design artifacts. For example, EPlan
diagrams describe the electrical layout, Structured Text encodes the
software control logic, and Collada 3D models describe the physical
dimensions of the system.
FWF P 29415-NBL
C4S: Coordination-centric Change and Consistency Support
The research proposal addresses change impact analysis in development efforts of complex, safety-critical software (e.g., air traffic control systems). Such software typically exhibits a long lifecycle, involves various engineers (beyond pure software developers) across the entire development lifecycle and is subject to countless changes in the scope of maintenance and evolution activities.
Das Projekt eInformatics@Austria ist ein vom Bundesministerium für Bildung, Wissenschaft und Forschung im Rahmen der Initiative "Digitale und Soziale Transformation" gefördertes Projekt mit dem Ziel, MOOCs (Massively Open Online Course) für die Grundausbildung in Informatik zu erstellen. Das Projekt wurde unter Führung der Technischen Universität Wien (Professor Futschek, Institut für Information Systems) federführend beantragt.