About
61
Publications
34,710
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
759
Citations
Introduction
Current institution
PTC
Current position
- Principal Consultant
Additional affiliations
April 2005 - July 2011
Publications
Publications (61)
Individual collaborative embedded systems (CESs) in a collaborative system group (CSG) are typically provided by different manufacturers. Variability in such systems is pivotal for deploying a CES in different CSGs and environments. Changing requirements may entail the evolution of a CES. Such changed requirements can be manifold: individual varian...
REVaMP project is part of the ITEA 3 industry-driven Research, Development and Innovation programme in the domain of software innovation. REVaMP project aims to develop automated and comprehensive tools that support massive customizing of “Software-Intensive Systems and Services” (SIS) Product Lines (PL). This approach requires agile round-trip eng...
Configuring a new variant of a product line is not always a one-time task. In some cases, many stakeholders are involved in the configuration process. This is needed for example, if different stakeholders are responsible for different parts of the product line and they are not allowed to see specific parts of the product line already configured in...
Many existing approaches have exploited the similarity notion to analyze software systems. In product-line engineering, similarity notion has been considered to fulfill analysis objectives, such as improving the testing effectiveness and reducing the testing efforts. However, most of the existing approaches consider in the similarity measurement on...
Product Line Engineering (PLE) with feature models has gained reputation in science and industry as a successful reuse strategy in the domain of systems engineering. But, initially developing every new functionality as a reusable feature does not always comply to companies' needs. To be able to profit from PLE and being free to develop new function...
The SPES XT modeling framework allows seamless, model-based development of complex embedded systems. While the SPES XT modeling framework is defined on a conceptual level, a technical realization is required for industrial success. More specifically, an extensible and adaptable tool platform is required which supports interoperability, reuse, and t...
Variability management and reuse are important concerns in the development of variant-rich software-intensive systems. In this chapter, we present the SPES XT modeling framework's mechanism to capture the orthogonal concern of variability.
Use of product lines promises easier production of varying products from a common base using the concepts of variation points and binding of these. This paper describes a successful industrial application of product line concepts based on the superset approach (aka 150%), where the success provided strong improvements in many aspects (e.g. product...
Software product lines (SPLs) play a pivotal role for developing a vast amount of related programs efficiently and with high quality. To this end, the SPL engineering process is separated into two levels: domain engineering (DE), which captures variability and development artifacts of the entire SPL, and application engineering (AE), which encompas...
Mostly all innovative driving functions are realized by software and many of them are safety-related. This leads to an increasing complexity when analyzing, in respect to ISO 26262, the dependencies between functions in general as well as the functional or technical variance in particular. Major challenges arise while developing innovative automoti...
The purpose of the Variability Exchange Language is to support the information exchange among variant management tools on the one hand and systems development tools on the other hand. The essential tasks of a variant management tool are to represent and analyze the variability of a system abstractly and to define system configurations by selecting...
Product line engineering is applied in many engineering domains. It is used
to save development time by reusing system components in an organized way.
While developing safety critical systems this approach is complicated by the
fact, that safety concepts on higher abstraction levels need to be fulfilled by
the different variants of the system. This...
Many organizations develop software or software-intensive products, which can be seen as variants or members of a product line. Often the market demands variability and the software organization expects productivity benefits from reuse. In any case, complexity of the software development increases.
Variability and variant management plays a central...
Cyber-Physical Systems (CPS) are usually developed by an incremental approach. A changing environment like demanding user requirements or legislation amendments lead often to multiple development paths in an evolving CPS. Hence, software variability plays an increasingly important role adapting the characteristics of such CPS to different contexts....
Making variability explicit in variable artifacts throughout the product lifecycle is difficult for variant modelers due to the different notations used to express variability. The tool integrations of the variant-management tool pure::variants address this problem, by providing a consistent method for denoting variability in frequently used develo...
Is variability becoming the engineering discipline to keep pace with the continuously increasing complexity of distributed embedded automotive systems? Like requirements and modelling of a system’s structure are a conjugated pair of aspects in the development of any system – the former justifies the existence of any structure and the second describ...
Today's product development creates multiple products over time, often by using reuse strategies like "Clone and Own", leading to very inefficient reuse of artifacts in the long term since synergy effects between the products e.g. from testing cannot be utilized. Applying a product line approach with explicitly modeling the commonalities and variab...
Software product line (SPL) engineering provides an effective mechanism to implement variable software. However, using preprocessors to realise variability, which is typical in industry, is heavily criticised, because it often leads to obfuscated code. Using background colours to highlight code annotated with preprocessor statements to support comp...
Today, automotive model-driven development is done on the architectural level with AUTOSAR and on lower levels with tools like Matlab/Simulink. Due to strong customization demands, the development has to cope with variability, in general. The used tools provide if ever, just limited variability handling capabilities, especially for handling structu...
Software-product-line engineering aims at the development of variable and reusable software systems. In practice, software product lines are often implemented with preprocessors. Preprocessor directives are easy to use, and many mature tools are available for practitioners. However, preprocessor directives have been heavily criticized in academia a...
Eingebettete Systeme erfüllen in unserem täglichen Leben eine Vielzahl von
Aufgaben und der Anwendungsbereich umfasst ein weites Feld von der
Haushaltselektronik über die Telekommunikation bis hin zu automotiven
Anwendungen und Industrieautomation. Allgemein geht der Trend zu vernetzten
Systemen, die zusammen eine Aufgabe bewältigen. Aus Kosten-, E...
Transferring datagrams is essential for a lot of tasks. If the data does not fit into one network packet, fragmentation is needed. We propose a fragmentation protocol that adapts to different MTUs and to the datagram size, ensuring efficient bandwidth utilization. The protocol is extensible to allow tailoring to network and application demands. Thu...
Kontextinformationen im Allgemeinen sind von enormer Bedeutung, um den Sinngehalt von Aussagen oder abstrakter ausgedrückt von Daten überhaupt zu erfassen. Für die Interaktion in verteilten Systemen sind sie von enormer Wichtigkeit. Jedoch gerade im eingebetteten Bereich besitzen die Geräte oft nicht die notwendigen Ressourcen, um bestehende Lösung...
Background: Software product line engineering provides an effective mechanism to implement variable software. However, the usage of preprocessors, which is typical in industry, is heavily criticized, because it often leads to obfuscated code. Using background colors to support comprehensibility has shown effective, however, scalability to large sof...
Kontextinformationen im Allgemeinen sind von enormer Bedeutung, um den Sinngehalt von Aussagen oder abstrakter ausgedrückt von Daten überhaupt zu erfassen. Für die Interaktion in verteilten Systemen sind sie von enormer Wichtigkeit. Jedoch gerade im eingebetteten Bereich besitzen die Geräte oft nicht die notwendigen Ressourcen, um bestehende Lösung...
Hospitals aim at an extensive continuous monitoring of patients. This enables the personal to check the conditions of a patient anywhere at any given time and allows them to immediately react to anomalies and emergencies. The same technology can be used to instantaneously visualize available patient data using augmented reality techniques.
Developing complex sensor/actuator systems, like robot applications, is challenged by a multitude of different hardware platforms, networks, programming languages, data formats, etc. In this paper, we present our architecture that copes with this heterogeneity and allows for a flexible composition of smart sensors and actuators. The main focus lies...
Providing reliable fault-tolerant sensors is a challenge for distributed systems. The demonstration setup combines three sensors and allows to inject different faults that are reliably detected by our system.
Today, direct interaction between humans and robots is limited, although the combination of human flexibility and robots power enables a growing productivity. The problem for humans lies in the nearly unpredictable behavior and motion of the robot itself. However, we can enhance human's view with more information to get knowledge about robot's perc...
Providing applications with a perfectly tailored device driver is es- sential to avoid the waste of resources. This is even necessary for the broad field of embedded systems development. However, the development of device drivers is in general a difficult task, and supporting a portable, configurable as well as adaptable device driver is even harde...
Over 30 years ago, the preprocessor cpp was developed to extend the programming language C by lightweight metaprogramming capabilities. Despite its error-proneness and low abstraction level, the cpp is still widely being used in presentday software projects to implement variable software. However, not much is known about emphhow the cpp is employed...
Distributed mechatronic systems integrate sensors, processing units, communication networks, and actuators. In order to achieve a rapid develop-ment process and an improved maintainability it is necessary to combine and replace such modular components in a flexible way. For seamless composabil-ity we developed communication middleware and a program...
The development of multi-robot applications represents an iterative process where hardware and software have to be adjusted among each other and in relation to the environment. For large scale swarms with numerous mobile systems changes on the hardware and the deploy-ment of software is extensive and laborious process. The combination of virtual an...
During the design of complex networked systems, it is crucial to ensure the composability of the deployed applications and network protocols. Special care has to be taken to provide non-functional requirements like bandwidth and latency. Existing solutions only tackle this problem during the design phase; later refactoring or added components are n...
Autonomous, active components like smart sensors and actuators offer the capabilities of spontaneous behaviour, concurrent computations and well-defined communication interfaces. The perspective of building a system from such active blocks however has an impact on modeling and deployment of the components and supporting their interaction at run-tim...
Eingebettete Systeme erbringen in unserem täglichen Leben eine Viel- zahl von Aufgaben und der Anwendungsbereich umfasst ein weites Feld von der Haushaltselektronik über die Telekommunikation bis hin zu automotiven Anwen- dungen und Industrieautomation. Allgemein geht der Trend zu vernetzten Syste- men, die zusammen eine Aufgabe erbringen. Software...
In der Telerobotik werden mobile Roboter über ein Kommunikationsnetz durch einen Operator ferngesteuert. Um interaktiv zu
operieren, mussen Daten in beide Richtungen in Echtzeit kommuniziert werden. Zusätzlich ist eine hohe Ausfallsicherheit des
Systems zu gewährleisten. Diese Arbeit beschreibt die Umsetzung ernes solchen Szenarios unter Verwendung...
We describe a framework for the development of distributed systems combining real and virtual components, sensors and actuators. We show the benets of our approach for the de- velopment and validation of multi robot applications. Based on our middleware, which provides a exible communica- tion for distributed systems, virtual and real components ar...
The development of multi-robot applications represents an iterative process where hardware and software have to be adjusted among each other and in relation to the environment. For large scale swarms with numerous mobile systems changes on the hardware and the deployment of software is extensive and laborious process. The combination of virtual and...
This paper addresses questions of using wireless mesh networks (WMNs) in heterogeneous industrial infrastructures. This implies several problems like global addressing, handling of QoS requirements, interconnection with embedded networks. Our proposed solution is a publish/subscribe middleware. We discuss how it solves the mentioned problems. Real-...
The paper describes the analysis of cross network latencies occurring when federating an asynchronous, event-triggered CAN-bus and a synchronous time-triggered TTP/C network. The connection of networks is motivated by both cost-efficiency trade-offs in various network types and reasons of isolating highly critical from less critical communication....
Today's embedded systems like cars, robots and industrial plants are more and more built from a large number of independent networked devices provided by third party suppliers and are configured to a complete system after the software of the individual components has been designed and implemented. The components are assumed to have a their own comp...
Services related to healthcare and the support for elderly people become more and more important. Autonomous or semi-autonomous robots may play an important role in this area. From a control system point of view these robots are networks of distributed smart components to perceive their environment and react on it in real time. The problem of devel...
Zusammenfassung Das Routing in Wireless Mesh Networks hat einen dynamischen und selbstorganisierenden Charakter. Allerdings erfolgt die Kommunikation auf Anwendungsebene adressbasiert, was eine statische Zuordnung von Kommunikationspartnern erfordert. Dies wirkt der dy-namischen Struktur leider entgegen. In dieser Arbeit beschreiben wir die Verbind...
In der Telerobotik werden mobile Roboter über ein Kommunikationsnetz durch einen Operator ferngesteuert. Um interaktiv zu operieren, müssen Daten in beide Richtungen in Echtzeit kommuniziert werden. Zusätzlich ist eine hohe Ausfallsicherheit des Systems zu gewährleisten. Diese Arbeit beschreibt die Umsetzung eines solchen Szenarios unter Verwendung...
The abstract should concisely summarize the contents of a paper. Since potential readers should be able to make their decision on the personal relevance based on the ab-stract, the abstract should clearly tell the reader what informa-tion he can expect to find in the paper. The most essential is-sue is the problem statement and the actual contribut...
The cooperation of distributed nodes in sensor networks forms a dynamic structure of informa-tion providers and information consumers termed as sources and sinks. Often, the used nodes differ by the available performance, network capabilities, oper-ating system, applications etc. although, all of them have to be integrated in an appropriate network...