About
163
Publications
28,972
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
3,153
Citations
Publications
Publications (163)
The Logical Execution Time (LET) paradigm has recently been recognized as a promising candidate to facilitate the migration to multi-core architectures in automotive real-time software systems. We outline several findings regarding the application of the LET paradigm that corroborate this perception. Our work in this respect deals with LET for lega...
The main aim of this paper is to review web-based tools designed for generating and documenting business ideas. The paper first reviews related literature and then discusses useful instruments relevant for creative entrepreneurial tasks. These tools can be helpful in the initial phase of entrepreneurial activities. While several factors are crucial...
In the Logical Execution Time (LET) programming model, fixed execution times of software tasks are specified and a dedicated middleware is employed to ensure their realization , achieving increased system robustness and predictability. This paradigm has been proposed as a top-down development process, which is hardly applicable to a large body of l...
The paper presents the essential features of a new member of the UML language
family that supports working with object-oriented frameworks. This UML
extension, called UML-F, allows the explicit representation of framework
variation points. The paper discusses some of the relevant aspects of UML-F,
which is based on standard UML extension mechanisms...
In this paper we present a 3D-vision based obstacle detection system for an autonomously operating train in open terrain environments. The system produces dense depth data in real-time from a stereo camera system with a baseline of 1.4 m to fulfill accuracy requirements for reliable obstacle detection 80 m ahead. On an existing high speed stereo en...
A system for simulating a real-time system using a block-oriented simulation with a static block-update order comprises: a clock providing a time base; a first task function block with a task release block, a task execution block, a task termination block, and a delay block; a first trigger block that triggers the task release block at a first time...
This paper describes a cyber-physical system that we called autoBAHN as well as some economic and legal aspects for the realization of the vision of a driverless train operating on openly accessible existing railroads, particularly regional branch lines. Existing autonomous trains, e. g., in use on airports, do not need obstacle recognition because...
This paper describes features and applications of a simulation framework for software-in-the-loop testing of realtime embedded control applications. The Validator tool performs time-functional simulation of control software and its execution platform in closed-loop with Simulink plant models. It is based on a discrete event simulator which executes...
Automotive architectures today consist of up to 100 electronic control units (ECUs) that communicate via one or more FlexRay and CAN buses. Multiple control applications - like cruise control, brake control, etc. - are specified as Simulink/Stateflow models, from which code is generated and mapped onto the different ECUs. In addition, scheduling po...
This paper introduces a novel software package for the simulation of various types of range scanners. The goal is to provide researchers in the fields of obstacle detection, range data segmentation, obstacle tracking or surface reconstruction with a versatile and powerful software package that is easy to use and allows to focus on algorithmic impro...
c.at Abstract- In this paper, we introduce a novel and cost effective approach to calibrate the geometric properties of a far-infrared (IR) sensor. We further demonstrate that fully automatic sensor-to-sensor calibration is feasible in a setup involving a laser range scanner, IR cameras as well as con ventional cameras. The calibration result then...
MATLAB, an interactive environment for numerical and symbolic computation, supports a number of interfaces to foreign programming languages including Java. However, there is no appropriate support for calling back MATLAB functions from within the Java Virtual Machine integrated with MATLAB. This paper presents such an interface which is based exclu...
Most of the existing modeling tools and frameworks for embedded applications use levels of abstraction where execution and communication times of computational tasks are not captured. Thus, properties such as time and value determinism can be lost when refining the model closer to a target platform. The Logical Execution Time (LET) paradigm has bee...
Abstract This report introduces the notion of transparent distribution of real time software components. Transparent distribution means,that (1) the functional and temporal behavior of a system is the same no matter where a component is executed, (2) the developer does not have to care about the differences of local versus distributed execution of...
This paper presents a way to efficiently use lane detection techniques - known from driver assistance systems - to assist
in obstacle detection for autonomous trains. On the one hand, there are several properties that can be exploited to improve
conventional lane detection algorithms when used for railway applications. The heavily changing visual a...
Test automation systems used for developing combustion engines comprise hardware components and software functionality they depend on. Such systems usually perform similar tasks; they comprise similar hardware and execute similar software. Regarding their details, however, literally no two systems are exactly the same. In order to support such vari...
This paper presents an approach for incrementally adjusting the timing behavior of legacy real-time software according to
explicit timing specifications expressed in the Timing Definition Language (TDL). The main goals of such a migration are ensuring
predictability of the timing behavior, and enabling adaptivity of the system. The latter is partic...
Domain specific languages play an important role in model-driven engineering of software-intensive industrial systems. A rich body of knowledge exists on the development of languages, modeling environments, and transformation systems. The understanding of architectural choices for combining these parts into a feasible solution, however, is not part...
This paper presents the architecture of a model-driven engineering framework which relies on the unified notion of classes and objects, as pioneered by SELF. We implemented this architecture for the domain of testbed automation systems and argue that this architecture can be generalized. We outline why our first prototype implementation following a...
Multi-level modeling using so-called clabjects has been proposed as an alternative to UML for modeling domains that feature more than one classi- fication level. In real-world applications, however , this modeling formalism has not yet become popular, because it is a challenge t o efficiently represent large models, and providing fast access to all...
Model driven engineering as well as software produ ct line engineer- ing are two approaches that increase the productivi ty of creating software. De- spite the rather mature support of the individual a pproaches, tools and tech- niques for their combination, promising product spe cific customization of mod- els, are still inadequate. We identify co...
Time-triggered execution of periodic tasks provides the cornerstone of dependable real-time systems. In addition, there is often a need for executing event-triggered activities while the system would be otherwise idle. If time-triggered and event-triggered activities exchange information among each other, the data flow must be synchronized such tha...
We propose ttCodeGen, a flexible code generation framework for potentially distributed, time-triggered real-time systems. It is designed for developing systems based on the Logical Execution Time (LET) programming paradigm which enables the platform independent description of the timing behavior of such systems. The ttCodeGen framework covers both...
Model-driven engineering of software intensive systems requires adequate means for describing their essential properties. For the domain of testbed automation systems, conventional modeling formalisms fall short due to the inadequacy of a fixed meta-level hierarchy. In this paper we identify the core problems by examining real-world examples. As a...
This paper describes the visual representation of the Timing Definition Language (TDL), a high-level textual description language for timing aspects of em- bedded real-time systems. For this purpose we have designed and implemented the so-called TDL:VisualCreator tool. The paper first presents the core concepts of TDL and then for each TDL construc...
Time-triggered execution of periodic tasks provides the cornerstone of dependable real-time systems. In addition, there is often a need for executing event-triggered activities while the system would be otherwise idle. We first present the foundation of a time-triggered system based on the Timing Definition Language (TDL). Then we introduce event-t...
In this paper we present a domain specific language for describing an automation system, that is, its hardware and software components. These do- main components form the basis of large-scale reuse so that specific automation systems can be configured efficiently. Our research group cooperates with an industry partner that is a dominant player in t...
The Timing Definition Language (TDL) provides a component model and a tool chain as a solution for building time-safe components that can be developed independently and integrated in a distributed platform without changing the observable behavior and the code of existing components. TDL is based on the logical execution time abstraction and support...
Existing embedded software development methodologies can hardly cope with platform changes such as CPU upgrades, different RTOS or distributed systems. The timing definition language (TDL) enables the development of deterministic real-time components regardless of the deployment platform. The proposed virtual execution environment enables parallel...
This paper sketches a recent successful requirements analysis of a complex industrial automation system that mainly required a talented expert, with a beginner's mind, who has been willing to dig into the domain details together with a committed customer and a motivated team. With these key factors and the application of an appropriate combination...
This paper argues that a logical specification of the timing behavior, which represents the core abstraction of the Timing Definition Language (TDL), is the key to significantly reduce the development, maintenance and integration costs of FlexRay-based systems. We measured a productivity gain by a factor of 20 and more with TDL compared to state-of...
The reliability and quality of embedded systems suffer from the fact that the state-of-the-art in embedded software development is significantly behind modern programming in non-real-time domains. A major difference is that the platform, consisting in particular of processors, communication architecture, topology of a distributed system, communicat...
Most of the existing modeling tools and frameworks for embedded applications use levels of abstraction where execution and communication times of computational tasks are not captured. Thus, properties such as time and value determinism can be lost when refining the model closer to a target platform. The Logical Execution Time (LET) paradigm has bee...
The development of reliable software for real-time systems is cur- rently a challenge. Moreover, changing the underlying platform for simple purposes such as a processor upgrade may severely affect the behavior of the real-time software. Working with distributed systems is even more difficult, and transitioning from one system to another is typical...
There is an undeniable demand to capture already proven and matured object-oriented design so that building reusable object-oriented software does not always have to start from scratch. The term design pattern emerged as buzzword that is associated as a means to meet that goal. This paper starts with an overview of relevant design pattern approache...
This paper describes the model-based development process of hard real-time software with the Timing Definition Language (TDL):
modeling and simulation of TDL components in Matlab®/Simulink®, their mapping to a specific platform and finally the code
generation.
In state-of-the-art methodologies the critical timing properties of embedded software systems are accidental consequences of an implementation, rather than specified parts of the design. The Giotto project, lead by Thomas Henzinger at the University of California, Berkeley, delivered the formally sound concept of logical execution time (LET) as abs...
This paper introduces the notion of transparent distribution of real time software components. Transparent distribution means that (1) the functional and temporal behavior of a system is the same no matter where a component is executed, (2) the developer does not have to care about the differences of local versus distributed execution of components...
This paper introduces a real-time component model that offers a separation of concerns which allows a straight-forward integration of independently developed components. So-called transparent distribution forms the backbone of the integration process. Transparent distribution means that (1) the functional and temporal behavior of a system is the sa...
Embedded systems play an increasingly important role in today's society. The spectrum of embedded systems ranges, for example, from mobile phones to X-by-wire control systems in cars and airplanes. The regional embedded systems knowledge base, called EmBase, is a comprehensive project which investigates and maps the knowledgebase in embedded system...
The Unified Modeling Language (UML) community has started to define so-called profiles in order to better suit the needs of specific domains or settings. Product lines represent a special breed of systems---they are extensible semi-finished pieces of software. Completing the semifinished software leads to various software pieces, typically specific...
This paper describes a new approach towards a component architecture for hard real time control applications as found, for example, in the automotive domain. Based on the paradigm of fixed logical execution time (FLET) as introduced by Giotto [1], we develop a higher level language construct, called module, which allows us to organize and paralleli...
This paper describes a new approach towards a component archi- tecture for hard real time control applications as found, for example, in the automotive domain. Based on the paradigm of fixed logical execution time (FLET) as introduced by Giotto (1), we develop a higher level language con- struct, called module, which allows us to organize and paral...
The paper first presents the integration options of what ,we call ,the Timing Description Language (TDL) with MathWorks' Simulink tools. Based onthe paradigm of logical execution time (LET) as introduced by Giotto [2], TDL enhances ,Giotto towards a component architecture for real-time control applications [9]. The challenge is to provide appropria...
This paper describes a solution for bus scheduling of distributed multi-mode TDL (Timing Definition Language) components. The TDL compo- nent model is based on the concept of Logical Execution Time (LET), which abstracts from physical execution time and thereby from both the execution platform and the communication topology. The TDL component model...
The paper first presents the integration options of what we call the Timing Description Language (TDL) with Mathworks' Simulink tools. Based on the paradigm of fixed logical execution time (FLET) as introduced by Giotto (2), TDL enhances Giotto towards a component architecture for real-time con- trol applications (9). The challenge is to provide ap...
A methodology for control software development based on Giotto, a domain-specific high-level programming language for control applications is presented. Thus, the Giotto methodology is illustrated by reimplementing the controller for an autonomously flying model helicopter originally developed at the Swiss Federal Institute of Technology (ETH) Zuri...
Bisher wurde das Gebiet der Software für eingebettete Systeme („embedded systems”) von der Informatik zu wenig beachtet.
WebEDI relies on the Internet infrastructure for exchanging documents among companies. Typically these documents are orders and invoices and can be exchanged by directly integrating the companies' ERP systems or via Web application upload, download or typing of documents. XML is considered as a state-of-the-art way to reduce the complexity of manag...
Due to the diversity of display capabilities and input devices, mobile computing gadgets have caused a dramatic increase in the development effort of interactive services. User interface (UI) tailoring and multi platform access represent two promising concepts for coping with this challenge. The paper presents the MUSA (multiple user interfaces, si...
The Web has evolved from a set of mere static pages to a means for offering applications through dynamic Web sites. Web services extend this paradigm by providing application logic via standardized Internet technology. A Web service consists essentially of an interface for accessing black-box functionality over the Internet. A Web service can be us...
We demonstrate the feasibility and benefits of Giotto-based control software development by reimplementing the autopilot system
of an autonomously flying model helicopter. Giotto offers a clean separation between the platform-independent concerns of
software functionality and I/O timing, and the platform-dependent concerns of software scheduling an...
Due to the diversity of display capabilities and input devices, mobile computing gadgets have caused a dramatic increase in the development effort of interactive services. User interface (UI) tailoring and multi platform access represent two promising concepts for coping with this challenge. The article presents a hybrid approach to the generation...
The proliferation of mobile devices has refocused interest on location-information exploiting applications. The most prominent problems are the support of devices with widely varying computing and user interface capabilities and a programming model, which promotes the development of location-based services. The article presents the concepts and imp...
Due to the diversity of display capabilities and input devices, mobile computing gadgets have caused a dramatic increase in the development effort of interactive services. User interface (UI) tailoring and multiplatform access represent two promising concepts for coping with this challenge. The article presents a hybrid approach to the generation o...
The world-wide growth of the mobile-telephony market opens the door for mobile commerce (m-commerce). For the restricted target platforms used for m-commerce such as mobile phones or personal digital assistants, domain solutions need to be lean but still secure. Especially mobile contracting and mobile payment as parts of m-commerce require solutio...
Electronic-banking applications (EBAs), like other e-commerce applications, require sophisticated security mechanisms and intuitive usability so customers put trust in them and therefore use EBAs. Although EBAs have been existing for a long time and their concepts are well understood, current EBAs have severe security and usability restrictions. Th...
This paper presents a concept for integrating the embedded
programming methodology Giotto and the object-oriented AOCS Framework to
create an environment for the rapid development of distributed software
for safety-critical embedded control systems with hard real-time
requirements of the kind typically found in aerospace applications
This paper argues that its application to embedded (control) systems is technically feasible and liable to bring to them the same benefits it has already brought to other domains. The description of a prototype framework for satellite control systems corroborates the argument. It is then argued that software frameworks, when combined with other ena...
Developing distributed hard real-time applications is a complex endeavor. This paper presents two orthogonal and complementary approaches and their integration --- Giotto and the AOCS framework. Each of these approaches by itself leads to significant efficiency gains in the development of the software for embedded control systems. Giotto allows the...
Although object-oriented programming techniques have evolved into an accepted technology with recognized benefits for software development, conventional text-based prxTxB-9dBj languages together with state-of-th-art brth-jj tools s m to b insufficient for a software nginr to cope with the complexity of class libr - s, especially application fr worl...
Although object-oriented programming techniques have evolved into an accepted technology with recognized benefits for software development, profound investigations of qualitative and quantitative aspects about its pros and cons are missing. This paper tries to answer crucial questions based on the experience gained by the authors and their partners...
. An app op iate combination of objecto iented p og amming concepts allows the development not only of single eusable components but also of semifinished a chitectu es (= f amewo ks).
This document presents some of the results of an industrial research project on automation of software development. The project's objective is to improve productivity and quality of software development. We see software development based on frameworks and libraries of prefabricated components as a step in this direction. An adequate development sty...
. Most excellent object-oriented frameworks are still the product of a more or less chaotic development process, typically carried out in the realm of research-like settings. This contribution first discusses the few essential framework construction principles. Frameworks represent a generic solution for a particular domain and enable the exploitat...
: Framelets and implementation cases are new concepts to manage the
. Many implementatio}k o f decisio3 suppoo systems suffer fror a lack oc
This chapter describes the context and software engineering issues of a technology migration project. Significant parts of a conventional client-server system have been replaced by a set of lean product-line architectures implemented in Java. The application of framework and Java technology leads to better modularisation and to improved component r...
A mechanistic view of software component assembly implies exact matching and fitting of the particular components. We argue that components for large-scale software construction should have automatic configuration capabilities in order to significantly enhance their reusability and maintainabilty. The paper sketches a pragmatic approach for impleme...
. The goBjBzb4TjOjbb4ooB2(4B2z4B2)4o
. The contribution introduces the notion of framelets. They are essentially small frameworks. Thus framelets can be easily understood and modified. As framelets are not aimed at complex application domains, they can also be assembled without the problems associated with the combination of large frameworks. Our first experiences with framelets demon...
. Legacy systems, no matter wh ch arch tectural style they rely on, conta n numerous p eces of source code w th very s m lar funct onal ty. We see these system aspects as a good start ng po nt for rearch tectur ng legacy systems. The goal s the evolut on of the legacy system arch tecture towards a product l ne arch tecture wh ch ncorporates the or...
. Though the separation of a model from its visual representation (view) implies well-known benefits, available Java libraries do not sufficiently support this concept. The paper presents a straightforward way to smoothly enhance Java libraries in this direction independently of the particular graphic user interface (GUI) library. The lean framewor...
only few customers do online stock trading, this functionality was separated into another applet. We refer to the core Internet banking applet, i.e., the one without stock trading, toELAk Internet, for Electronci Banking via Internet. The voice control interface was added toELJkdJGx'ITTG Due to the limited set of features, the user interface design...
In some fields -- such as desktop applications -- software component technology has become established that allows software systems to be built as hardware systems are: as assemblies of pre-defined, off-the-shelf items. The component approach has led to important gains in productivity with consequent reductions in cost and development times.
This paper reports on our experiences in the field of mobile components. In the past 4 years we developed a mobile component system, which allowed us to experiment with code mobility in distributed systems. These experiments have given us a unique opportunity ...
This paper presents an e-commerce framework called WebShop, which was developed by the authors for the purpose of demonstrating the use of UML and the UML-F in the domain of Web applications. Thus, the WebShop is not regarded as a full-fledged system out of which real Web stores can be derived. For example, the framework in the presented version do...
Factory AbstractFactory CreateProduct() Builder Builder BuildPart() Command Command Execute() Interprete r AbstractExpression Interpret() Observer Observer Update() Prototype Prototype Clone() State State Handle() Strategy Strategy AlgorithmInterface() 2000, M. Fontoura, W. Pree, B. Rumpe ECOOP, Cannes, June 2000 16 Recursive combinations These pat...
. Not only the desi n of complex frameworks is hard, but also the reuse of such artefacts. Furthermore, the internal workin of different frameworks is usually not compatible so that two or more frameworks can hardly be combined. As alternative we propose framelets as small architectural buildin
Framelets and implementation cases are new concepts to manage the complexity of product line development. Framelets are “small product lines” that address, as self-standing units, specific problems within the product line. A product line is obtained as a combination of framelets. Framelets simplify the development and extension of product lines, an...
With the emergence of the Internet and distributed object technologies, naming and directory services have become key elements in distributed system architectures. A key benefit of naming services is to enable location-independent access to remote objects. ...
In the network-centric computing paradigm the net gains more importance. Software and hardware components, often abstracted as services, form an application that is distributed over the network and only loosely coupled. Clients that depend on those services communicate remotely and download the necessary code they need. Jini is a framework, based o...
Der Beitrag fasst eine im ersten Quartal 2000 durchgeführte quantitative und qualitative Evaluation zehn österreichischer Internet-Banking (IB)-Anwendungen zusammen. Im ersten Teil werden die Methoden, die für den Vergleich der einzelnen Kriterien gewählt wurden, präsentiert. Obwohl die Ergebnisse anonymisiert worden sind, zeigt die Vergleichsstudi...