About
69
Publications
43,597
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
989
Citations
Introduction
Current institution
Additional affiliations
October 2006 - September 2012
Publications
Publications (69)
Definition
Space exploration has become an integral part of modern society, and since its early days in the 1960s, software has grown in importance, becoming indispensable for spaceflight. However, software is boon and bane: while it enables unprecedented functionality and cost reductions and can even save spacecraft, its importance and fragility a...
This paper presents an approach that uses AI (Artificial Intelligence) to formalize requirements formulated in natural language text. It extracts information to assess the quality and complexity of requirements, to derive inputs for software verification and implementation, and to compare requirements automatically by means of metrics. The intended...
Software development has a problem with transparency/visibility. As an intangible product, software and its intermediate development results are hard to see or touch. Customers of custom software have difficulties checking progress, and risk coming out with costly but low-quality software. In the space domain with its often expensive and one-of-a-k...
Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challe...
Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challe...
Software development methods are usually not applied by the book. Companies are under pressure to continuously deploy software products that meet market needs and stakeholders' requests. To implement efficient and effective development processes, companies utilize multiple frameworks, methods and practices, and combine these into hybrid methods. A...
Communication interfaces are particularly challenging to test using automatically generated test data. The test data sent through the interface must be ”valid enough” to overcome initial sanity checks of the interface and reach functions deep inside the integrated software. Machine-readable information about what data forms ”valid enough” messages...
In order to improve the mutual understanding between customer and supplier, we must increase transparency of the software development status. There are several ways to increase transparency, including milestone reviews and agile development. In our presentation, we want to discuss software metrics as an additional means. With the ECSS-Q-HB-80-04A h...
Software development methods are usually not applied by the book. Companies are under pressure to continuously deploy software products that meet market needs and stakeholders’ requests. To implement efficient and effective development processes, companies utilize multiple frameworks, methods and practices, and combine these into hybrid methods. A...
You software guys are too much like the weavers in the story about the Emperor and his new clothes. When I go out to check on a software development the answers I get sound like, 'We’re fantastically busy weaving this magic cloth. Just wait a while and it’ll look terrific." But there’s nothing I can see or touch, no numbers I can relate to, no way...
Die institutionelle Raumfahrt nimmt zunehmend die Bedeutung agiler Entwicklungsmethoden wahr. Dies geht einher mit einer Veränderung hin zu NewSpace Produkten und -Technologien. Hier sind insbesondere kurze Entwicklungszyklen und Flexibilität wichtig. Zusammen mit Industriepartnern verabschieden sowohl die europäische (ESA) als auch die deutsche Ra...
Automated software verification tools support developers in detecting faults that may lead to runtime errors. A fault in critical software that slips into the field, e.g., into a spacecraft, may have fatal consequences. However, there is an enormous variety of free and commercial tools available. Suppliers and customers of software need to have a c...
Untyped data such as the byte streams used in communications between spacecraft and ground stations present a specifically challenging field for automatic test data generation. We investigate variations of genetic algorithms to improve test data generation, and present measurements and preliminary results obtained using our prototype. The future go...
Agile and traditional development approaches are used in combination in today’s software development. To improve the understanding and to provide better guidance for selecting appropriate development approaches, it is important to analyze such combinations in practice. Results obtained from an online survey strongly confirm that hybrid development...
To ensure the dependability and safety of spaceflight devices, rigorous standards are defined. Among others, one requirement from the European Cooperation for Space Standardization (ECSS) standards is 100% test coverage at software unit level. Different stakeholders need to have a good knowledge of the implications of such a requirement to avoid ri...
Many software development teams face the problem of selecting a suitable development approach fitting to their specific context. According to them, the combination of agile and traditional approaches seems to be the solution to handle this problem. However, the current state of practice with respect to hybrid approaches is not suciently examined. M...
The poster for the German team of the HELENA community. Presented at the 2nd HELNA Workshop at PROFES 2018 in Innsbruck
Verification of flight software is expensive, and there is a diverse ecosystem of methods available for suppliers and customers to choose and negotiate. Several commercial tools support certain verification activities. However – while this information is critical for planning a resilient and efficient software verification – it is unclear what thes...
In practice, developers usually seek different ways to save time and effort. Thus, they use different tools (such as search engines, issue tracking, or Q&A sites) to collaborate and find code examples that meet their specific needs. However, such tools only support the traditional find-alter-embed approach of code examples while ignoring the origin...
Software and system development faces numerous challenges of rapidly changing markets. To address such challenges, companies and projects design and adopt specific development approaches by combining well-structured comprehensive methods and flexible agile practices. Yet, the number of methods and practices is large, and available studies argue tha...
In a previous study six software verification tools have been applied to a representative space software package. The findings reported by each tool have been compared in order to derive footprints regarding fault identification. In a continuation three more tools were applied to the previously selected application software and to another applicati...
Mit Softwareverifikationswerkzeugen sollen Fehler in Software gefunden werden. Doch gibt es nur spärliche Information über das, was die Werkzeuge wirklich leisten. Meistens liegt nur die Beschreibung des Herstellers vor, an der sich ein Anwender (grob) orientieren kann. So werden Werkzeuge eher nach Bedienerfreundlichkeit oder Verbreitung in der So...
A software process is the game plan to organize project teams and run projects. Yet, it still is a challenge to select the appropriate development approach for the respective context. A multitude of development approaches compete for the users’ favor, but there is no silver bullet serving all possible setups. Moreover, recent research as well as ex...
The Space Administration of the German Aerospace Center designs and implements the German space program. While project management rests with the agency, suppliers are contracted for building devices and their software. As opposed to many other domains, a spacecraft is a unique device with uncommon and custom-built peripherals. Its software is speci...
The DLR Space Administration designs and implements the German space program. While project management rests with the agency, suppliers are contracted for building the space devices and their software. As opposed to many other domains, these are often unique devices with uncommon and custom-built peripherals. Its software is specifically developed...
It weighs nothing but controls almost everything and contributes significantly to a successful mission: software. Today, it figures in virtually all space systems, often forming part of even the most basic devices as embedded software or firmware. At the same time, it is – unlike hardware – unaffected by microgravity, vacuum, shocks, extreme temper...
Sie wiegt nichts, steuert dennoch fast alles und trägt somit zum erfolgreichen Gelingen von Programmen maßgeblich bei: Software. Heutzutage ist sie ein Teil von praktisch allen Weltraumsystemen und als sogenannte Embedded Software oder Firmware oft schon in einfachsten Geräten enthalten. Gleichzeitig ist sie – im Gegensatz zu Hardware – von Schwere...
Processes constrain developer freedom and impact software development cost. They can increase costs from only a few cents to almost 1000 USD per line of code. But they can also benefit the maintainability, dependability and safety of critical software. If failure risk costs are high, then the application of more expensive processes can actually red...
Six software verification tools have been applied to
space flight software and the findings reported by each tool
have been compared in order to derive footprints of the tools
regarding capabilities of fault identification. Currently
available results are provided in this paper: sensitivity and
precision of individual tools and combinations of pair...
Software is a knowledge intensive product, which can only evolve if there is effective and efficient information exchange between developers. Complying to coding conventions improves information exchange by improving the readability of source code. However, without some form of enforcement, compliance to coding conventions is limited. We look at th...
The DLR Space Administration designs and implements the German space program. While project management rests with the agency, suppliers are contracted for building the space devices and their software. As opposed to many other domains, these are often unique devices with uncommon and custom-built peripherals. Its software is specifically developed...
Mastering the continuously increasing amount of software requires identification of more efficient strategies for software verification. Currently, fault coverage is only indirectly addressed, e.g. by code coverage. The idea as presented in this paper is to get a better understanding of fault coverage by a systematic classification of software faul...
Thousands of small and medium-sized companies world-wide have non-automated warehouses. Picking orders are manually processed by blue-collar workers; however, this process is highly error-prone. There are various kinds of picking errors that can occur, which cause immense costs and aggravate customers. Even experienced workers are not immune to thi...
Internal quality of software reduces development costs in the long run but is often neglected by developers. CollabReview, a web-based reputation system for improving the quality of collaboratively written source code, was introduced into an agile development team. The goal was to improve the quality of developed source code as evidenced by the amo...
The internal quality of software is often neglected by developers for various reasons like time pressure or a general dislike for certain activities. Yet internal quality is important to speed up development and to keep software maintainable. We present a way to use reputation systems to improve the internal quality of software by putting artifacts...
There is a problem with documentation and architectural design in agile projects. This is the result of interviews we have conducted with 37 software engineering experts from industry and academia. In our paper, we analyze the interview results and the origins of the revealed issues. We propose ways to integrate software design methodologies into a...
Developers are notorious for their dislike of writing internal documentation. It has few value to them because its benefits are too far away in the future and distributed on the whole team, while the efforts of documenting are burdened on the individual himself. The resulting phenomena have names like free riding or tragedy of the
commons.
Softwar...
Wikis werden in Unternehmen zunehmend als Informationsplattform eingesetzt. Ihr Nutzen für Kollaboration und Wissensmanagement ist weithin anerkannt. Experten beurteilen sie als unverzichtbare Komponente von Enterprise 2.0, das durch schnelle, schlanke Kooperationswerkzeuge wertvolle Ressourcen im Arbeitsalltag einsparen soll. In der Praxis zeigt s...
This paper proposes a PhD research that deals with improving internal documentation in software projects. Software developers often do not like to create documentation because it has few value to the individual himself. Yet the purpose of internal documentation is to help others understand the software and the problem it addresses. Documentation in...
In this paper we look at the usability of personal learning environments from a software development perspective, especially how internal quality affects software usability. We propose improvements that enable developers to reduce development time, achieve good usability from the start, and, most importantly, to sustain lasting fitness of software...
Contribution to a corporate wiki for the purpose of knowledge transfer can be very low because of continuously pressing tasks,
a chronic lack of spare time, and motivational reasons. This is a problem because the wiki fails to achieve its purpose of
collecting valuable knowledge, and becomes less attractive through this over time. We present a repu...
Thousands of small and medium-sized companies world-wide have non-automated warehouses. Picking orders are manually processed by blue-collar workers; however, this process is highly error-prone. There are various kinds of picking errors that can occur, which cause immense costs and aggravate customers. Even experienced workers are not immune to thi...
The EU subsidizes research projects in the ICT area with hundreds of millions of Euros per year with the aim of strengthening Europe's global competitiveness. A key requirement of EU projects is the involvement of partners from at least three different countries. This leads to highly distributed software environments where company, country, and cul...
In this paper, we present a novel smart home system integrating energy efficiency features. The smart home application is built on top of Hydra, a middleware framework that facilitates the intelligent communication of heterogeneous embedded devices through an overlay P2P network. We interconnect common devices available in private households and in...
The HYDRA project develops middleware for networked embedded systems that allows developers to create ambient intelligence applications based on wireless devices and sensors. Through its unique combination of Service-oriented Architecture (SoA) and a semantic-based Model Driven Architecture, HYDRA will enable the development of generic services bas...
After a long decision process the Open Source license, to be applied on the Hydra managers, has been appointed. The Hydra code base includes third-party software under more than 20 different licenses. This had to be considered with respect to compatibility, legal aspects and its consequences to the project.
Source code is a medium of communication between human developers. Understandability is the key to maintainable and reusable code. Yet code developed collaboratively with weak ownership is a common property resource that su ers from di usion of responsibility, and hence gradual deterioration. Such misbehavior is usually dealt with with strict usage...
Voluntary participation in a corporate Wiki can be low due to personal priority preference. But high participation of professionals is necessary to enable group innovation through a Wiki. We present a tool that offers re-wards to committed users, and triggers a sportive competition that fosters the creativity process through knowledge exchange.
Returns caused by the delivery of incorrect items constitute a major problem for non-automated warehouses. Returns not only create extra costs, they also aggravate customers. Most errors in logistics occur during the picking process. MICA | a mobile assistance system for warehouse workers | unobtrusively navigates the worker on his way through the...
Source code metadata on a file-level granularity is too coarse for certain applications. But fine-grained metadata (e.g. line-by-line authorship) easily gets lost due to changes like merging, moving or copying code. Enabling metadata to survive code evolution provides valuable insights into program source code. This helps developers to understand t...
Within the MACE project, we support simple access to and retrieval of digital learning resources in exploratory architectural education. In order to facilitate the improved access, we introduce a digital representation of real world objects through an extension of the LOM based MACE application profile, named entity recognition and the combination...
During economic peak times warehouses need to employ unskilled workers to be able to still cope with the Increased work load in time. However, thew workers am unfamiliar with the warehouse setting and neither know the products nor do they have the necessary skills to carry out the job on their own. MICA is a research prototype that Provides targete...
In ubiquitous environments computers disappear and users are supported to concentrate on the tasks they actually in- tend to perform without having to focus on how the required devices are to be operated and connected. In our point of view, this vision on the one hand further encourages the miniaturization of devices and new design concepts. On the...
In the practice and learning of Architecture and Civil Engineering, it is fundamental to access a big amount of learning material. A considerable part of the knowledge which once was written in books is now being moved to digital media. Today, most of the contents are produced and presented in digital format only. Spread around the world, digital c...
In the domain of architecture, a huge amount of digital contents useful to academic and professional users are available online, which in principle are accessible from all over the world. However, the contents of locked in legacy systems are hard to find with traditional search engines. The MACE project aims to connect architectural repositories lo...
Today's software development is becoming more and more international. With involved stakeholders being distributed over several remote locations in the world, particularly the management of software requirements becomes complex and difficult to handle. In this paper, we report on a Web-based computer-aided requirements elicitation process that decr...
Determining responsibility for a piece of source code is difficult when software is being developed collaboratively with weak code ownership. Nonetheless, a major factor for preventing "cowboy coding" and careless development of code is liability. We propose a tool for statistically acquiring per developer per document accountabilities and enable l...
With multiple developers engaged in collaboratively writing software code, responsibility for a specific piece of code is difficult to assign. Nonetheless, responsibility is a major factor in achieving quality and preventing code from being developed carelessly. We present a new approach for statistically acquiring per developer per document accoun...
Today, learning object repositories for architectural contents are distributed over several European countries. Having been designed and implemented independently, sophisticated interchange of and access to learning objects is impossible. The valuable information contained therein is broken into pieces, time-consuming and expensive to obtain, and c...
Current software documentation tools (like text processors, email, documentation generators, reporting , conguration management, wikis) have different strengths in supporting the software engineering process. But one weakness they all have in common is their inability to combine the advantages of the various techniques. Integrating documentation wi...
During the last years a series of repositories containing learn- ing contents for architecture have been created. With all the repositories financed, designed, implemented and maintained independently, valuable and expensive information contained in the repositories lies — scattered over several European countries — in several thousand learning obj...
Questions
Question (1)
Do you think that software metrics can help to increase the transparency of the status quo of development? Which ones would be suited best?
If you have some time, leave your answer in the survey. Only a few days are left, however.